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

DirectX로 2D게임을 개발하기 위한 비쥬얼 스튜디오 프로젝트의 기본 세팅을 해보자

프로젝트 폴더 세팅

Visual Studio 2022로 빈프로젝트를 열어서 DirectX11을 위한 프로젝트 세팅을 해보자.

  • 비쥬얼 스튜디오 메뉴의 파일 -> 새로 만들기로 들어간다
  • 프로젝트명과 경로 설정
  • 이어지는 다이얼로그에서 데스크톱 애플리케이션 설정
  • 빈프로젝트 체크

빈프로젝트 옵션을 선택해서 모든걸 내가 직접 설정하겠다.

난 LastKingStandingG라는 프로젝트명과 적절한 경로 D:\MyWork를 사용하였다.

우측 프로젝트 목록에서 해당 프로젝트항목을 우클릭해서 눌러서 목록에서 지워버리자. 실제 이 파일들은 다시 등록해줄 것이다.

프로젝트를 제거하면 더 상위 개념인 솔루션만 남는다. 

하나의 솔루션은 여러개의 프로젝트를 가질 수 있다.

우리가 프로젝트를 만들때 설정한 폴더 경로로 가보자. 그곳에 솔루션 폴더가 있고 그안에 들어가보면 프로젝트 폴더가 있다. 둘다 같은 이름일 것이다.

솔루션 폴더
프로젝트 폴더
프로젝프 폴더 내의 파일들

만약 우리가 이 폴더 구조를 그대로 사용한다면 빌드되서 만들어지는 결과물들이 소스들과 섞여 있을 것이다.

나중에 이런 작업의 결과물들과 제품의 일부가 될 이미지 데이터등을 따로 묶어주는 작업을 매번 손수 하기 싫다면 이런것들은 보기좋게 다른 폴더로 들어가도록 세팅해주자

일단 프로젝트 폴더 안으로 들어가서 두개의 폴더를 만들어 주겠다.

  • Output 폴더 – 빌드해서 만들어지는 우리의 작업결과물(바이너리)와 이미지, 음악 데이터등이 들어가서 실제 릴리즈 제품이 되어갈 결과 폴더
  • Project 폴더 – 개발을 위한 소스코드들이 위치할 폴더

프로젝트 설정 파일들을 이 두개의 폴더중 Project 폴더에 집어 넣자

이러고 나면 나중에 Output 폴더만 떼가면 제품 릴리즈를 할 수 있을 것이다.

아까 목록에서 제외했던 프로젝트 항목들을 다시 넣어주자

  • Visual Studio의 프로젝트창 -> 우클릭 -> 추가 -> 기존 프로젝트

그리고 나오는 다이얼로그에서 우리가 프로젝트 파일을 넣어둔 위의 Project 폴더를가면 넣어두어던 프로젝트 설정 파일이 보일 것이다.

비쥬얼 스튜디오상에서 바뀐 경로를  반영하기 위해서 이렇게 프로젝트 항목을 지웠다 다시 만드는 것이다.

빌드되서 만들어지는 바이너리 파일이 Output폴더로 들어가기 위해 아래의 설정을 하자.

  • 화면 오른쪽 프로젝트 탐색기창에 프로젝트명 우클릭 -> 속성
  • 다이얼로그 항목 상단 설정 구성(Debug), 플랫폼(x64)
  • 출력 디렉토리 “../Output”, 대상이름 $(ProjectName)_Debug 디버그용 바이너리 파일은 뒤에 디버그라고 붙여주자
  • 다이얼로그 상단 항목을 -> Release로 변경 플랫폼은 그대로 x64
  • 출력 디렉토리만 “../Output”로 대상이름은 그대로 $(ProjectName)

릴리즈용 빌드는 실제 제품으로 쓰일만큼 최적화 되서 빌드되는 방식이다, 디버그 방식은 개발중에 쓰기이 위해 디버그정보를 파일에 담아서 만들어지는 바이너리다.

DirectX 라이브러리 추가

비쥬얼 스튜디오를 설치할때 DirectX항목을 넣었다면 우리 프로젝트에 관련 라이브러리를 추가해서 DirectX 기능을 사용할준비를 하자. 내가 사용할 항목은 DirectX의 2D 라이브러리들이다.

이 라이브러리들은 DirectX3D를 기반으로 해서 만들어진 Upper 라이브러리로서 그 기반인 DirectX3D보다 처리속도가 떨어진다.

하지만 2D게임을 다루기엔 충분히 빠르며 동시에 코드 해석이 명료하며 편리하다.

최근에는 그냥 3D라이브러리를 이용해서 3D공간에 카메라를 고정시켜 하나의 면만을 보도록 하고 2D게임을 만들기도 한다. (그게 더 빠르다)

하지만 이런 세팅은 3D공간에 대한 벡터와, 행렬, 변환(Transform), 원근표현(Projection)등 2D작업에 필요없는 세팅을 부가적으로 해줘야 한다. 속도가 조금 빠를지 모르겠지만 코드가 깔끔하진 않다.

일단 라이브러리 세팅을 하자.

  • 프로젝트 탐색기에 프로젝트 이름 오른 클릭 -> 속성
  • 링커 -> 입력 -> 추가 종속성 항목
  • 다이얼로그 항목 상단 설정 구성(모든 구성), 플랫폼(모든 플랫폼)
  • “d2d1.lib;dwrite.lib;WindowsCodecs.lib;” 추가

이 세개의 파일중 첫번째 파일은 Direct2D(d2d)의 기본 라이브러리 파일이다. 두번째는 텍스트 출력을 위한 라이브러리이고 WindowsCodecs는 디지털이미지 출력을 위해 DirectX에서 활용하는 라이브러리(WIC 라이브러리)이다.

이러면 기본적으로 DirectX를 사용할 준비는 마쳤다.

Leave a Comment