-
-
한 시간 만에 게임 만들기
게임도칸 지음, 김은철 외 옮김 / 영진.com(영진닷컴) / 2025년 1월
평점 :

이 포스팅은 영진닷컴 출판사로부터 도서를 제공받아 주관적인 관점에서 살펴보고 작성했다.
시간이 지나고 나서 후회되는 일들 몇 가지가 있는데, 그중에서 프로그래밍 언어를 배우지 못한 게 아쉽다. 조금이라도 프로그래밍 언어를 배워 두었다면 챗GPT와 같은 생성형 AI가 대세로 떠오른 시대에 더 많은 일들을 할 수 있었을 것이다. 대학에 다닐 때 프로그래밍 언어를 처음 접했는데, 나와는 잘 맞지 않았다. 그때 당시에 프로그래밍을 배워서 게임 개발사로 이직했던 친구들은 잘 나갔다.
1950~1970년대에 나온 초창기 프로그래밍 언어로는 베이직, 코볼, 포트란이 있었고, 1970~1980년대에는 시스템 및 범용 프로그래밍으로 C언어, 파스칼, C++이 주류를 형성했었다. 1990년대 이후 웹과 GUI 환경이 대중화되면서 자바, 자바스크립트, 파이썬이 각광을 받았다. 2000년대 이후에는 성능, 안전성, 생산성을 강화한 C#, 스위프트, 고, 러스트 등이 주목받고 있다.
이처럼 프로그래밍 언어는 시대의 요구에 따라 계속 변화하고 있으며, 지금도 새로운 언어와 기술들이 등장하고 있다. 따라서 개발자가 되려면 한 가지 언어만 익히는 것보다는 시대 흐름에 맞춰 언어의 특징을 이해하고 적절히 활용하는 것이 중요하다.
게임 엔진의 대중화 이후 게임 개발은 예전보다 쉬워졌다고 하지만 나처럼 프로그래밍 언어를 잘 모르는 초보자에게는 먼 산처럼 느껴진다. 그런 점에서 볼 때 <한 시간 만에 게임 만들기>는 프로그래밍 언어에 대한 사전 지식 없이, 오직 C언어만 배워서 게임 개발에 도전할 수 있도록 컴퓨터 게임의 각 장르를 대표하는 7편의 게임 제작법에 대해 설명한 책이다.

그렇다면 초보 개발자들에게 C언어만으로 게임을 만들어보라고 하는 건 어떤 의미일까? 게임 엔진 없이 오로지 C언어의 기본 기능만으로 게임을 만들려면 메모리 관리, 데이터 구조, 알고리즘 등 기본 프로그래밍 원리를 직접 다루어야 한다. 이런 경험은 나중에 더 복잡한 시스템이나 엔진을 배울 때 큰 도움이 될 수 있다.
그래픽과 사운드 같은 복잡한 요소 없이 콘솔 창에서 돌아가는 텍스트 기반 게임, 예를 들어 어드벤처, RPG, 퍼즐 게임 등을 만들어보는 게 좋다. 이렇게 하면 C 언어의 순수한 로직과 자료 구조 구현에 집중할 수 있다. 따라서 <한 시간 만에 게임 만들기>는 언어에 대한 기능 설명은 하지 않지만 각 과정마다 동작 확인을 해주고 있어서 각 명령문의 역할을 충분히 이해할 수 있도록 구성했다.
이처럼 제한된 도구로 게임을 만들다 보면 다양한 문제에 부딪히게 된다. 이 과정에서 스스로 문제를 분석하고 해결하는 능력을 기를 수 있고, 이는 나중에 어떤 복잡한 엔진이나 플랫폼을 다룰 때도 큰 자산이 될 수 있다.
또한 게임의 규모가 커지면 코드 관리가 어려워지는데, 엔진 없이 모든 것을 구현하다 보면 코드 구조와 모듈화의 중요성을 몸소 체험할 수 있다. 따라서 처음부터 작은 기능 단위로 나누어 게임을 개발하는 습관을 기를 수 있다.

이 책에서 사용하는 Visual Studio 버전은 무료판인 Community 2022로, 윈도 10과 윈도 11 환경에서 동작하도록 게임을 구성했다. 물론 이 책에서 말하는 C언어만으로 모든 게임 요소를 구현하는 데에는 한계가 있다. 특히 그래픽, 사운드, 네트워킹 등은 매우 복잡할 수 있다.
기본 개념을 확실히 익힌 후, 점차 라이브러리나 엔진 같은 도구를 도입하는 방식으로 확장해 나가는 것도 고려해 보는 게 좋다. 기본 언어만 사용해 게임을 개발하는 예제나 튜토리얼을 찾는 것도 큰 도움이 될 수 있다. 따라서 이 책에 소개된 7개 게임 개발 예제를 충분히 학습해 보고, 비슷한 게임 개발 시도를 했던 개발자들의 경험담이나 오픈 소스 프로젝트를 참고하면서 스스로의 게임 개발 방법을 찾아보는 것도 좋다.
C언어로만 게임을 만들어보는 경험은 게임 개발의 근본을 이해하는데 도움을 준다. 이후 더 복잡한 시스템을 접할 때 탄탄한 기반이 되어줄 것이다. 게임 개발 역시 도전과 실패를 통해 배우는 과정이다. 따라서 작은 프로젝트부터 차근차근 시도해 보는 게 중요하다.
이 책에는 유명 게임에서 모티프를 딴 7가지 게임을 소개되어 있다. 저자는 프로그래밍 언어를 갓 배운 초보자에게 흥미를 주면서도 프로그래밍에 익숙해질 수 있도록 선정했다고 말했다. 턴제 RPG, 테트리스, 삼국지 등 게임을 좋아하는 사람이 아니어도 한 번쯤 들어보았을 게임들로 구성되어 있다는 점이 특징이다. 어느 장부터 읽어도 상관없지만 난이도를 고려한다면 순서대로 읽는 것을 추천한다.
* 출처 : 박기자의 책에 끌리다, 책끌