반응형

전체 글 286

[게임 리뷰] 세븐나이츠 키우기

요새 커리어 고민이 많은데, 모바일 쪽으로 계속 경력을 이어나가고 싶다. 개발도 개발이지만, 시장 상황은 알아야 해서 좀 규모가 있는 회사들의 모바일 게임을 찍먹해봐야하지 않을까 생각했다. 그러던 와중 회사 다른 부서에서 유사 장르로 경계하던 세나키우기를 레퍼런스 조사 겸 해보게되었다. 예전에 초등학교 때인가 중학교 때인가 기억은 잘 안 나는데 세븐나이츠를 꽤나 오래 했어서 캐릭터들도 다 아는 얼굴이였다. 진행은 방치형 게임이니만큼 엄청 단순했다. 메인 스토리가 있지만, 큰 의미를 가지진 않았다. 보스를 잡으면 다음 스테이지로 넘어가는 구성이다. 보스 패턴은 크게 보면 다음과 같았다. 1. 보스 한 마리 : 나중에는 연타 공격를 하거나 저주(회복 불가)를 거는 패턴도 있어서 맞춤 조합이 필요했다. 2. ..

게임/모바일 2023.11.09

[프로그래머스 131130] 혼자 놀기의 달인 C#

문제 프로그래머스 131130 혼자 놀기의 달인 C# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 문제 설명이 너무 장황하게 되어 있어서... 처음에 독해가 힘들었는데 그냥 간단히 말하면 카드에 적혀있는 숫자를 인덱스로 생각해서 루프를 돌고, 루프 중 제일 긴 것과 그 다음으로 긴 것의 곱만 구하면 되는 문제이다. 루프를 돌 때 어디를 출발지점으로 지정하느냐가 중요할 거 같았는데 생각해보니 카드 숫자는 중복이 없으므로 무조건 순회하는 루프를 만들게 된다. (즉, 루프의 어디서든 시작해도 길이가 항상 똑같음) 그래서 방문 체크를 하는 리스트 visi..

[방탈출] Let's Play (렛츠 플레이) 후기

테마 정보 항상 시끌벅적하고 기쁨이 넘치던 왕국에 어느날 갑자기 대우울이 찾아왔다. https://www.xphobia.net/quest/quest_view.php?qr_id=1606978532 방탈출카페 비트포비아 탈출의 경계를 무너뜨리다, 비트포비아! 방탈출부터 어메이징 던전까지 다양한 어드벤처를 경험해보세요! www.xphobia.net 정보(매장) 장르 : 판타지 시간 : 60분 난이도 : 2 / 5 추천인원 : 2 ~ 5 players 2인, 3 Hint, 00:12 Left 난이도 난이도 높은 문제는 없고, 단순 자물쇠보다는 기기를 조작하여 푸는 문제가 많다. 자물쇠와 장치 문제 모두 지문이 꽤 긴편인데, 초조해하면 더 풀기 힘들다. 차근차근 읽으면서 하나하나 진행하는 것이 좋다. 생각보다 어..

방탈출 2023.09.26

[SourceTree] Visual Studio 및 소스 트리 한글 깨짐 수정 및 UTF-8 설정하기

개요 소스트리에서 주석 등을 작성할 때 한글 깨짐 오류를 수정한 기록을 남긴다. 본문 먼저 프로젝트에서 어떤 한글 인코딩 방식을 사용하는지 먼저 확인해줘야 한다. 프로젝트에서 UTF-8을 사용하기로 약속되어 있었으므로 Visual Studio와 소스 트리 모두 기본 설정을 UTF-8로 해줄 필요가 있었다. Visual Studio와 Unity를 사용했었고 Visual Studio 세팅은 다음과 같이 UTF-8로 인코딩 되어 있었다. Visual Studio에서 인코딩을 확인하는 방법은 .editorconfig파일을 확인하면 된다. root = true 및 [*] 밑에 charset = utf-8을 적어주면 utf-8로 인코딩 된다. 혹시라도 이렇게 했는데 한글이 깨져 보이는 경우에는 도구 - 옵션 - 텍..

2023.07.25

[Unity] Gpt를 활용한 가변 슬라이더 만들기

개요 가변 슬라이더를 만들어야 했는데... 다 만들고 난 뒤 GPT를 사용해 리팩토링한 경험을 공유한다. 니즈 원래 위와 같은 슬라이더가 있었다. 작은 흰색 동그라미가 50 단위로 있었는데, 보상 단위마다는 흰색 큰 동그라미를 넣어주었다. 이 슬라이더를 보상 간격이 일정하게 바꿔달라고 요청이 들어왔는데, 그러면 보상 단위마다 슬라이더가 차는 비율을 조정해야했다. 구현 QuestData = 현재 퀘스트 정보를 저장하고 있는 클래스 rewardData = 포인트 리워드 정보를 가지고 있는 클래스 int rewardDatesLength = rewardDatas.Count(); int rewardStep = 0; for (int idx = 0; idx < rewardDatesLength; idx++) { if ..

게임 엔진/Unity 2023.07.19

[DirectX11] Index 버퍼 생성하기

개요 DirectX11에서 Vertex 버퍼를 생성하는 방법에 대해 서술한다. 이 내용은 DirectX11을 이용한 3D게임 프로그래밍 입문의 내용을 읽고 정리했습니다. 예제 코드 Index 버퍼를 생성하는 것은 Vertex 버퍼를 생성하는 것과 비슷하다. Index 버퍼를 서술하는 구조체를 채우고, 데이터를 지정한다. 생성한 구조체와 데이터로 Index 버퍼를 생성한다. 생성 이후에는 Index 버퍼를 파이프라인에 묶어줘야 한다. 묶는 데에는 ID3D11DeviceContext의 IASetIndexBuffer를 사용한다. Format : Index의 형식을 뜻한다. 여기서는 부호 없는 정수를 사용하므로 DXGI_FORMAT_R32_UINT를 사용한다. 이 형식은 D3D11_BUFFER_DESC::Byt..

Dx11 2023.06.20

[DirectX11] Vertex 버퍼 생성하기

개요 DirectX11에서 Vertex 버퍼를 생성하는 방법에 대해 서술한다. 이 내용은 DirectX11을 이용한 3D게임 프로그래밍 입문의 내용을 읽고 정리했습니다. Vertex 정보 사용자 지정 Vertex 형식을 만들려면 Vertex를 담을 구조체를 정의해야 한다. 구조체를 정의했다면, Vertex 구조체의 성분(필드)이 어떤 용도인지 Direct3D에게 알려주어야 한다. ID3D11InputLayout 객체를 사용한다. 이 객체는 D3D11_INPUT_ELEMENT_DESC 구조체로 이뤄진 배열을 통해 구축한다. 구조체 성분이 두 개면, D3D11_INPUT_ELEMENT_DESC 배열의 원소도 두 개여야 한다. D3D11_INPUT_ELEMENT_DESC 구조체의 성분은 다음과 같다. Sema..

Dx11 2023.06.09

[DirectX11] DirectX11초기화

개요 DirectX11을 Visual Studio에서 초기화하는 방법에 대해 서술한다. 이 내용은 DirectX11을 이용한 3D게임 프로그래밍 입문의 내용을 읽고 정리했습니다. 초기화 해줘야 하는 것들 1. ID3D11Device, ID3D11DeviceContext : D3D11CreateDevice 함수를 사용해 생성 2. 스왑 체인의 특성을 서술하는 DXGI_SWAP_CHAIN_DESC 구조체 채우기 3. IDXGIFactory를 사용해 IDXGISwapChain 인스턴스 생성 4. 스왑 체인의 백 버퍼에 대한 렌더 타겟 뷰 생성 5. 깊이/스텐실 버퍼와 여기에 연결되는 깊이/스텐실 버퍼 뷰 생성 6. 렌더 타켓 뷰와 깊이/스텐실 뷰를 DirectX3D가 사용할 수 있도록 렌더링 파이프라인의 Ou..

Dx11 2023.05.31

[백준 2564] 경비원 C++

문제 백준 2564 경비원 C++ 2564번: 경비원 첫째 줄에 블록의 가로의 길이와 세로의 길이가 차례로 주어진다. 둘째 줄에 상점의 개수가 주어진다. 블록의 가로의 길이와 세로의 길이, 상점의 개수는 모두 100이하의 자연수이다. 이어 한 줄 www.acmicpc.net 풀이 이해는 바로 했는데 구현을 어떻게 할까 고민을 많이 했던 문제 최단 경로가 맞은편인지, 시계인지, 반시계인지 다 확인을 해줘야 하는데 if 문 덕지덕지 써가면서 각 케이스마다 모두 처리해 주기는 너무 싫었다. 그래서 좌상단을 0으로 기준을 잡고 시계방향(북->동->남->서)으로 각각의 좌표를 RoundPos로 명명하고 RoundPos를 잡아주었다. 이렇게 좌표를 잡아주면 문제 예시의 RoundPos는 다음과 같다. 1번 상점 좌..

알고리즘/백준 2023.05.30

동적 라이브러리와 정적 라이브러리

개요 동적 라이브러리와 정적 라이브러리에 대해 비교한다. 라이브러리 라이브러리란, 프로그램을 만들 때 사용되는 클래스나 서브루틴들의 모임이다. 1. 정적 라이브러리(Static Library) 컴파일 타임에 소스 코드와 함께 라이브러리가 링크되는 방식이다. 일반적으로 .lib 확장자를 가지며 이 파일을 실행 바이너리에 포함한다. 라이브러리의 코드와 데이터가 실행 파일 내에 복제되기 때문에, 실행 파일의 크기가 증가한다. 실행 파일이 독립적으로 실행될 수 있으며, 실행 중에 외부 라이브러리에 대한 의존성이 없다. 코드의 재사용성이 낮아지고, 여러 프로그램에서 동일한 라이브러리를 사용하는 경우 중복된 코드가 발생할 수 있다. 컴파일 타임에 소스 코드와 함께 라이브러리가 링크되는 방식이다. 정적 라이브러리를 ..

언어/C++ 2023.05.17
반응형