
1980년 Namco에서 배포한 Pac-Man이라는 게임을 아시나요?
고전 명작 게임인데, 이게 생각보다 복잡하고 기발한 알고리즘을 기반으로 합니다. 특히 유령들의 행동 양상이 일종의 기초적인 ai라고 볼 수 있는데, 1980년에 개발됐다는게 상당히 놀랍습니다.
작년 학부 가을학기 C++ 강의에서 최종 프로젝트로 구현한 게임입니다.
Window / Linux 설정에서 Visual Studio로 개발했으며 그래픽은 OpenGL을 활용했습니다. 효과음과 음악은 irrKlang을 사용해서 게임에 삽입했습니다.
이미지나 맵은 인터넷에서 다운받아 텍스쳐로 삽입한 것이 아니라, 전부 OpenGL을 이용해 직접 그렸습니다.
약 3주간 본 프로젝트를 진행하면서 처음으로 깃허브를 통한 협업을 경험할 수 있었습니다. 2인 1조로 진행되었으며, 조원 분은 뼈대 코드를 작성하셨고 저는 세부 알고리즘, 버그 수정, 그래픽 부분을 담당했습니다.
본 프로젝트를 진행하면서 둘 다 협업 개발 과정이 처음이라 다양한 문제들이 발생했습니다.

쉽지 않은 프로젝트였지만 개발 과정에서 굉장히 많은 것을 얻었습니다. 단순히 C++ 프로그래밍 실력 뿐만 아니라 협업 능력이 향상된 것 같습니다. 또한, 앞으로 제가 공부해야 할 부분도 깨닫게 됐습니다. 솔직히 말해서 첫 번째 문제는 잘 해결되진 않은 것 같습니다. 서로의 코드를 브랜치에서 복붙해서 수정하는 과정은 단순히 푸시 풀만 하면 수정되는 깃허브의 순기능을 제대로 활용하지 못한 것입니다. 따라서 협업 시 서로의 운영체제가 다를 경우 통일된 환경에서 개발할 수 있도록 도커 (docker)에 대한 공부가 필요하다고 느꼈습니다.
그리고 초반에는 Chat-GPT, Claude 등 ai의 도움을 받지 않고 전부 개발하고자 했습니다. 하지만 후반에는 너무나 긴 코드가 정리가 안됐고, 시간 기한이 촉박했기에 cursor를 활용하여 개발을 마쳤습니다. AI 툴을 적절히 활용하여 효율적으로 개발하는 능력도 길러야 겠습니다.
팩맨 오리지널 버전을 최대한 충실하게 구현하고자 하였으며, 추가로 스코어보드를 저장할 수 있게 하였습니다. 아래는 개발한 게임 시연 영상입니다.
코드랑 파일들은 제 깃허브에 남겨놨습니다. 게임 실제로 플레이해보고 싶으시면 참고해주세요!
https://github.com/tony3ynot/Pac-Man_project
