DirectX11 2D 롤플레잉 게임 만들기 8 사용자 Input을 위한 게임 플로우

게임의 뼈대라고 할 수 있는 프레임워크 세팅 작업을 시작해보자. 사용자 인풋 처리부터 시작한다. 사용자 입력과 처리를 위한 루틴 게임은 많은 장르와 형식을 가지고 있다. 액션게임, 슈팅게임, 전략 시뮬레이션 게임, 건설 시뮬레이션 게임 그리고 우리가 만들려는 롤플레잉 게임까지 말이다. 너무 다양해서 각 게임들 간에는 상이한 점이 많지만 모든 게임들은 몇 가지 공통점을 가지고 있다. 이는 아래와 … Read more

DirectX11 2D 롤플레잉 게임 만들기 7 랜더 타겟

DirectX 2D 개발에서 가장 기반이 되는 작업은 랜더타겟을 세팅하고 이를 바탕으로 필요한 그리기 도구를 생성하는 일이다. 이 DirectX 2D 랜더 타겟에 대해 알아보자. DirectX 2D 랜더 타겟이란? DirectX 2D의 기본 팩토리 객체이다. 다시 말하지만 DirectX는 Windows의 COM 인터페이스에 기반한다. (지난 포스팅 참조) DirectX 2D환경에서는 ID3D1Factory 인터페이스가 그리기 함수들을 가지고 있는 다양한 COM Interface를 불러 오게 … Read more

DirectX11 2D 롤플레잉 게임 만들기 6 COM 아키텍쳐에 대하여

COM은 실제 개발시 큰 의미가 없는 지식일 수 있다. 하지만 이것을 알고 있고 없고에는 차이가 있으며 이 차이가 개발자의 역량 차이를 만든다. COM이란? Component Object Model, Windows 상에서 돌아가고 있는 프로세스들이(애플리케이션이나 백그라운드 프로세스, 시스템 모듈 등) Windows가 제공하는 기능들을 실시간으로 공유 하는 체계이다. 라이브러리(DLL)를 통해 프로세스들이 각자 독립적으로 Windows의 기능을 이용하는 방법과는 차이가 있다. 특히 … Read more

DirectX11 2D 롤플레잉 게임 만들기 5 사각형 그리기

이제 프로젝트 세팅이 끝났으면 이전에 했던(두 번째 포스트) 기본 API 코드를 활용해 DirectX의 기반 코드를 넣어보자 여기 나오는 모든 코드는 MSDN의 아래 링크에서 따온 것이며 이 코드를 시작 코드로 삼을 것이다. 프로젝트에 파일 추가 이전 포스팅에 의해 Main.cpp 파일이 프로젝트에 추가되어 있고 엔트리 포인트 함수인 wWinMain() 함수가 존재하고 있다. 헤더 파일 Main.h 를 하나 더 … Read more

DirectX11 2D 롤플레잉 게임 만들기 3 프로젝트의 세팅

DirectX로 2D게임을 개발하기 위한 비쥬얼 스튜디오 프로젝트의 기본 세팅을 해보자 프로젝트 폴더 세팅 Visual Studio 2022로 빈프로젝트를 열어서 DirectX11을 위한 프로젝트 세팅을 해보자. 빈프로젝트 옵션을 선택해서 모든걸 내가 직접 설정하겠다. 난 LastKingStandingG라는 프로젝트명과 적절한 경로 D:\MyWork를 사용하였다. 우측 프로젝트 목록에서 해당 프로젝트항목을 우클릭해서 눌러서 목록에서 지워버리자. 실제 이 파일들은 다시 등록해줄 것이다. 프로젝트를 제거하면 더 상위 개념인 … Read more