[Cook Program - Pong Game] 1 - Project Setting
고전 게임 중 하나인 Pong 게임을 만들어보자. 이를 통해 게임 프로그래밍의 기본을 살펴보겠다. 다양한 플랫폼에서 게임을 구동시키기 위해 SDL을 사용하여 만들도록 하겠다. SDL에 대해선 독자는 이미 C++ 프로그래밍을 해본 적이 있다고 가정한다. 또한, 모던 C++을 적극 사용하도록 하겠다. 이에 대해 모르는 부분이 있다면 글에서 설명하거나 관련 문서의 링크를 걸겠다.
개발 환경 세팅
필자의 개발 환경은 Windows10, Visual Studio 2017이다. Windows 환경이라면 여기를 클릭하여 Community 버전을 다운받아 설치하자. 인스톨러에서 여러가지 옵션이 보일텐데 그중 C++를 사용한 데스크톱 개발과 C++을 사용한 게임 개발을 클릭하고 설치하면 된다. 그외 Mac이나 Linux 쪽은 Code::Blocks나 기타 IDE를 사용하자.
그러고나서는 SDL을 설치해야 한다. SDL 라이브러리 다운로드 페이지에서 개발용 라이브러리를 다운하자.
압축을 풀면 여러 개의 파일과 폴더가 보일 것이다. 압축을 해제하고, 여기 중 일부만을 프로젝트 폴더로 옮길 것이다. 그럼 VS2017을 열어 빈 프로젝트를 생성하자. 그리고 필요한 파일들을 프로젝트 폴더로 옮기자.
프로젝트 폴더가 어디있는지 모른다면 VS 화면에서 프로젝트 파일을 우클릭하면 [파일 탐색기에서 열기]라는 버튼이 보일 것이다. 거기에 외부 라이브러리임을 구분하기 위해 External
이라는 폴더를 만들어 옮기도록 하겠다.
다음과 같이 include
및 lib
폴더 그리고 라이센스를 표기하기 위해 COPYING
파일을 옮겨두었다. 필요한 파일은 다 구비됐으니 프로젝트를 세팅하자.
프로젝트 세팅
Main.cpp
파일을 생성하고, 프로젝트 파일을 우클릭 해 속성으로 들어간다. 여기에서 외부 라이브러리 종속성을 추가할 것이다. 먼저, C/C++ 탭의 일반 탭에서 SDL 라이브러리의 include 폴더를 추가해준다.
링커 탭에서도 일반 탭에서 SDL 라이브러리의 lib 폴더를 추가해준다.
빈 프로젝트로 생성하였기 때문에 링커의 시스템도 설정해줘야 한다. 여기서 디버그 모드와 릴리즈 모드를 다르게 설정해줄 것이다. 디버그 모드와 릴리즈 모드는 쉽게 말하자면 개발판과 배포판을 말한다.
디버그 모드시에 콘솔로 시스템을 구성한 이유는 빠르게 오류를 확인하기 위함이다. 나중에 확인해 볼 수 있다. 자 Main.cpp
에 다음 코드를 집어넣고 실행을 해보자.
// 다음 두 구문은 각각의 라이브러리를 링크하기 위함이다. #pragma comment(lib, "SDL2.lib") #pragma comment(lib, "SDL2main.lib") #include "SDL.h" int main(int argc, char** argv) { return 0; }
엇, 다음의 오류가 뜨는가?
동적 링크 라이브러리 파일을 추가해주지 않았다고 징징거리고 있다. 아까 가본 라이브러리 폴더에 dll 파일이 있을 것이다. 간 김에 64비트 아키텍처 전용 폴더도 삭제하자. 사용하지 않을테니까 말이다.
다시 한번 실행해보자. 이번엔 잘될 것이다.