Book Report

한 시간 만에 게임 만들기, 독서후기

변화의 물결1 2025. 3. 30. 00:05

 

 

안녕하세요.

  

1. 책 선택 이유

 

 C++ 학습하면서 재미있게 응용해 볼 것을 찾는 중에, 한 시간 만에 게임을 만들 수 있고, 콘솔 화면에서 고전 게임을 테스트해 볼 수 있다고 나와서 확인해 보았습니다.

 

 

2. 간략한 내용 소개

 

 

간단한 C언어 지식 만으로 만드는 7가지 클래식 게임

 

게임 엔진의 대중화 이후 게임 개발은 예전보다 매우 쉬워졌지만, 여전히 초보자에게는 높은 벽으로 느껴진다. 그 이유는 여러 가지가 있지만 가장 큰 이유를 하나 꼽자면 ‘추가로 배워야 할 것이 너무 많다’ 일 것이다. 대부분의 작업을 도와주는 엔진을 사용하더라도 엔진의 사용법을 추가로 익혀야만 하며 그것만으로도 별도의 도서가 만들어질 정도이다. 이 도서는 이러한 사전 지식 없이, 오직 간단한 C언어 지식만으로 게임 개발에 도전할 수 있도록 언어 기능 이외의 다른 요소는 전혀 사용하지 않은 게임들을 만들어 보는 도서이다.

 

소개하는 게임은 유명 게임에서 모티프를 딴 7가지 게임으로, 언어를 갓 배운 초보자에게 흥미를 주면서도 프로그래밍에 익숙해질 수 있도록 선정했다. 턴제 RPG, 테트리스, 삼국지 등 게임을 좋아하는 사람이 아니어도 한 번쯤 들어보았을 게임들로 구성되어 있으며, 따라 하면 도서 제목처럼 한 시간 정도면 프로그래밍할 수 있을 정도의 난이도와 분량이다. 순서는 어느 장부터 읽어도 상관없으나, 난이도를 고려한다면 순서대로 읽는 것을 추천한다.

 - yes24 소개 내용 중

 

 

 

확인할  있는 게임들

 

 

3. 책 속 내용과 테스트해 본 부분

 

 기존 책 후기와 다르게 실습 위주의 책이다 보니 테스트해 본 내용으로 적어 보았습니다.

 

 전반부는 게임 개발에 필요한 툴을 설치합니다. Windows 프로그램이 아니라 예전 콘솔 게임 같은 형태이기 때문에 폰트와 화면 크기 등을 설정해주어야 합니다.

 

 작업 환경은 테스트는 Windows 11, MS Visual Studio 2022(VC++)에서 진행했습니다.

 책에서 테스트한 OS는 Windows10 아닐까 합니다.

 

 

 

MS Visual Studio 2022 설치

 

 

각 게임에 맞게 화면을 설정하는 방법을 알려줍니다.

 

 

 

 책 내용은 소스 코드 중심으로 주석을 설명하는 것으로 진행됩니다. 그리고 사이사이에 필요한 알고리즘과 설명이 있다면 약간씩 설명해 줍니다.

 알고리즘을 위한 설명이라고 하기보다는 게임을 완성하기 위한 알고리즘 설명일 것 같습니다.

 

 

 

 이해하지 않고 따라 코딩한다면, 한 시간 정도면 실행까지는 가능해 보였습니다. 그러나 그렇게 하기 전에 먼저 결과물을 확인하고 싶어서 github에 있는 코드를 가지고 확인해 보았습니다.

 

출판사 저장소의 github에 가서 다운로드합니다.

https://github.com/Youngjin-com/oneHourGame

 

 

 

 프로젝트를 열어서 빌드하고 실행하면 문제없이 실행은 되었습니다.

 그러나 Windows 11에서는 책에 나온 설정을 정확하게 따라 하지 못해서 화면이 깨져 나왔습니다.

 제가 정확하게 따라 하지 못해서 화면이 깨어져 나왔을 것이라고 생각합니다. 전각, 반각, 화면크기 조정, 한글문제 등이 있었습니다.

 

1) 왕도 RPG 게임 실행한 결과

 

 

 

2) 도트잇 게임 실행한 결과

 

 

 

 저자가 일본 사람이다 보니 일본 전국 시대배경으로 게임을 만든 것도 있습니다. 그래서 전국 시대 배경을 설명해주고 있습니다. 한국 저자였다면, 한국의 삼국 시대 배경으로 만들었을 것이라고 생각되어, 아쉬움이 남습니다.

 

 

 

 여담으로, 위의 내용을 적다가 한국의 삼국시대 배경으로 만들어진 게임은 없을까? 궁금해서 찾아봤는데, 조금 지나긴 했지만, "천년의 신화 1, 2"가 나왔습니다.

 

 직접 해보지 못해서 재미여부를 판단할 수는 없지만, 세계사적으로 비중도 적고, 국력 차이도 있다 보니 관심을 많이 받지 못한 것으로 생각됩니다. 그리고 국내 게임 소비시장만 타깃으로 하기에도 시장도 작았을 것이라고 생각됩니다.

 

 나무위키에 나와 있는 "천년의 신화 설명" 

 https://namu.wiki/w/%EC%B2%9C%EB%85%84%EC%9D%98%20%EC%8B%A0%ED%99%94

 

 

 

4. 전반적인 후기

 

 유니티, 언리얼 엔진으로 게임 개발을 시작한 개발자에게는 생소하거나 이런 게임을 어떻게 하느냐 이야기가 있을 수도 있을 것입니다. 그러나 게임 초창기 추억을 알고 있는 개발자라면 한 번쯤 생각해 볼 수 있는 책이라고 생각이 듭니다.

 

 학교에서 간단하게 C/C++을 가르칠 때 단순히 printf를 가지고 결과를 보여주는 것보다 팀을 짜서 구조체, 함수 포인터 등을 사용하는 설명 자료로 사용하면 좋겠다는 생각이 들었습니다.

  콘솔 창에서 보여 줄 수 있는 고급 수준의 프로그래밍 수업으로 사용해도 되지 않을까 합니다.

 

 조금 아쉬운 점이 있다면,

 위에서도 말한 것처럼 설정하는 페이지에서 테마가 검은색으로 설정해서 그런지 그림이 잘 보이지 않았고, Window 11 설정에서는 책과 다른 부분이 있어 적용하는 것을 똑같이 할 수가 없었습니다. 가능하다면 윈도우10 지원도 이제 끝나가고 있어서, 윈도우 11에 맞는 설정방법도 보강되면 좋지 않을까 합니다.

 

 간단한 C/C++ 언어를 알고 있으면 된다고 하지만, 중간중간에 기초만 아는 수준으로는 조금 어렵게 느껴지는 부분이 있을 수 있습니다. 개인마다 기초라고 생각하는 기준이 다르기 때문에 동의하지 않을 수도 있지만, 조금 어려운 부분 있기 때문에 문법적인 설명도 필요해 보였습니다.

 

 코드 기반으로 게임을 설명하고 있으며, 대부분 코드 줄마다 주석처리(구역과 설명) 했습니다. 그래서 코드자체로도 흐름을 확인할 수 있어서 좋았습니다.

 

 

 

 책 제목처럼 한 시간 안에 한 개의 게임을 만들 수 있다고 했기 때문에 많은 설명보다 코드 중으로 구성되어 있다고 생각됩니다. 그렇기에 책 내용을 조금 보강을 한다면 게임 개발 차원에서 큰 그림과 함수별 흐름, 블록도 같은 것으로 이렇게 흐름이 되어 있고, 부분별 구현은 이렇게 할 것이라고 설명해 주면 더 좋지 않았을까 합니다

  

 콘솔창에서 게임 개발하는 언어 차원으로 볼 수도 있지만, 인공지능, 대전 등 기술, 코드 흐름과 구성 등을 참고할 수도 있을 것으로 생각됩니다.

 

 

감사합니다.