콘솔 1 프로젝트 결과 보고서 | Notion
📌 Black & White
dalssagi.notion.site
첫 콘솔 게임 제작 프로젝트를 끝마치고 회고의 시간을 가져보겠다.
개인 프로젝트로 진행하였으며, 제작 기한은 발표준비 PPT 제작까지 총 6일이 주어졌다.
이번 프로젝트는 사실상 실패에 가까웠다.
하지만 이 실패를 통해서 배운게 컸고, 다음 프로젝트에서는 개선 할 것이다.
처음 프로젝트를 진행할 당시의 나는 어떤 게임을 기획해야 할지, 그리고 C++로 구현한 엔진의 틀과 구조에 대한 이해 및 활용 방법이 많이 부족했다. 그래서 프로젝트 전체를 바라보지 못하고 당장의 난관 극복에만 몰두했다. 결국 마감기한 내에 역량을 고려한 완성도 있는 결과물을 만드는 것과, 프로젝트를 통해 내가 얻어갈 부분이 무엇인지를 정확히 판단하지 못한 채 진행하게 되었다.
아무래도 시간분배를 잘못한 요인이 컸다.
기획 단계
우선 이번 프로젝트에서 나는 배운 지식과 기술을 적용하며 단순 게임 모작을 통해 기획 시간을 줄이고 구현에 더 시간을 투자하여 완성도를 높일 수도 있었지만 내가 직접 게임을 기획하는 선택을 하였다.
그 이유는 부트캠프에서 단순히 시키는 것만 학습하고 생각없이 기술력만 얻어가는게 아니라 능동적으로 움직이는 역량 성장에 초점을 두었기 때문이다.
그리고 게임 개발자가 된다면 아무리 프로그래머라고 해도 재밌는 게임 포인트를 잘 알아야 다른 직군들과 협업하며 게임을 개발할 때 좋은 피드백을 줄 수도 있고, 기획자의 의도도 명확히 파악하여 코드로 구현할 수 있기 때문이다.
여기까지는 좋은 마음가짐이었지만... 전체 프로젝트 일정으로 보면 나는 기획에 꽤나 많은 시간을 부었다.
좋았던 점
이번 기획을 할때 특히 고려했던 것은 "내가 왜 게임 개발자가 되고 싶은가?" 와 연결되어 있었다.
지금까진 내가 좋아하는 게임을 깊이 있게 고려해본적이 없고, 항상 전체적인 느낌과 분위기로 이런 게임을 좋아한다고만 생각했던게 다였다.
예시로 한 가지 게임을 뽑자면 '바이오쇼크 시리즈'이다.
특히 '바이오쇼크3 인피니티'는 DLC까지 포함해서 풍부한 스토리, 만족스러운 감성의 그래픽, 내가 좋아하는 SF, 철학적 메시지 요소까지 어느 하나 빠진게 없는 명작이라고 생각한다.
이 말에서도 알 수 있지만 나는 게임에서 가격대비 꽉 차고 풍부한 스토리, 그래픽, 연출, 메시지 이런 것들을 좋아한다고 했다.
이건 게임의 특성인 인터렉티브한 요소를 좋아하는게 아니라 단순 영화를 좋아하는게 아닌가?
게임도 문학 작품으로 평가되고 변화를 맞이하는 앞으로의 세대는 이런 작품들이 더욱 늘어날 순 있겠으나...
나는 분명 영화가 아닌 게임을 좋아했고, 그렇다면 그 이유가 있을 것이다.
내가 느끼는 게임의 매력은 영화에서 두 가지가 추가된다.
1. 플레이어인 나의 행동을 기준으로 진행되는 몰입감 있는 체험
2. 재미를 느낄 수 있고, 여러 감정을 입체적으로 체험
우리가 시간을 투자해 즐기는 보람이 있는 게임을 만들라면 항상 '재미'가 빠질 수 없다.
특히 내가 이번 기획에서 얻고 싶었던 것이 "내가 느끼는 게임의 재미"였다.
그리고 내가 재밌다고 느끼는 게임을 기획하고 만들고 싶었다.
내가 느끼는 재미를 명확히 알아야 더 강점이 생기고, 앞으로의 개발에서 흔들림이 없이 재밌는 게임을 개발할 수 있을 것 같았다.
콘솔 게임 개발은 이런 생각을 하기 정말 좋은 기회였다.
그래픽&이펙트, 사운드, 연출 전부 극소화된 게임을 개발하는 것이니 순수 재미에만 집중할 수 있었기 때문이다.
내가 게임 피지컬이나 실력은 없지만 재밌게 즐길 수 있었던 게임들을 모아놓고 보니 나온 결론은 이랬다.
내가 좋아하는 게임 특성
- 캐릭터의 성장(피로도가 높진 않게)
- 목표, Score 달성
- 전략이 존재(어렵지 않은)
사실 저 게임 특성들은 대부분 요즘 게임들에 많이 섞에있긴 하지만 방식이 다르거나 강도가 다른 디테일의 차이가 있다.
나중에 이 부분은 따로 포스팅 해 보겠다.
아쉬웠던 점
프로젝트 기준으로 아쉬웠던건 코드로 구현을 하면서 단계적으로 기획을 확장 해 나갔어야 했는데 기획에도 중간중간 시간을 많이 쓴게 아쉬웠다. 기획은 잘 되었지만 마감기한까지 구현이 안되니까 기획의 쓸모가 사라지게 되었다.
물론 기획하면서도 1차 목표, 2차 목표로 세분화해서 구현 목표를 잡았지만 애초에 전체 기획을 해놓고 1차, 2차로 나눈들 나중에 구현을 할 계획이 없다면 무슨 의미가 있었을까?
이번에 1차목표를 달성하고 다음 프로젝트때 이어서 2차 목표를 달성하려고 했지만 1차 목표에서도 예기치 못한 버그와 문제 발생으로 예상한 구현까지 해내지 못한 부분들이 있었다.
기획 스케일은 많이 축소했다고 생각했었는데, 실상 구현에서 막히면서 시간이 걸렸던게 문제였다.
기간이 짧고 역량이 부족함을 알면 기획할때도 단계적으로 구현하면서 나아갔어야 했던 것 같다.
프로젝트 목표
이번 프로젝트에서 처음 잡은 목표는 엔진 구조와 활용 이해였다.
엔진은 이번에 처음 공부했던거라 만들면서 돌아가는 구조와 어떤 방식으로 상호작용할 수 있는지를 확실하게 다지고 싶었다.
하지만 전체 프로젝트 관점으로 봤을 때 이런 개인적인 목표보다는 성과 위주로 목표를 세웠어야 했다.
만들고 나서 돌아보니 어떻게 목표를 세웠어야 할지 보였다.
- 프로젝트 구현 목표: 게임 루프의 완성(기획의 축소 버전이라도), 핵심 기능/기술의 구현
- 게임 루프: 메인메뉴 → 게임 레벨(스테이지 입장) → 스테이지 클리어(죽지않고 적을 모두 처치) → 죽기 전까지 맵을 이동하며 Score 최대한 높이기.
- 핵심 기능 목표: 사실상 이번엔 게임 루프 구현을 중점으로 적 처치 후 Score 증가, 적의 공격으로 플레이어 죽음(게임 리셋 후 Score 저장)
- 핵심 기술 목표: 액터간 충돌/좌표 처리, 플레이어/적 공격(전 방향 가능) 등
아직 미완성이라 여기서부터 추가로 작성,,,
- 프로젝트 주요 기술적 이슈 정리
- 잘한점
- 부족한점
- 왜 부족했는가?
- 개선점
- 어떻게 개선할 것인가?
프로젝트로 배웠던 점
계속 이론 공부를 하면서 통째로 머리에 넣는다고 해도 실전에서 막상 사용할 때,
공부할때 순서대로 넣었던 지식을 그대로 꺼내 쓰지도 않고, 이곳 저곳에서 파편화된 지식을 필요에 따라 가져다 쓰게 된다.
또한 머리에 넣었던게 내가 자주 쓴 개념이 아니면 까먹기 때문에 온전히 남아있지 않아 실전에서의 경험을 통해 내가 배운 지식을 활용해 보는게 굉장히 중요하다는 것을 깨달았다.
특히 이번같은 실전에서 특히 내가 처음 공부한 이론이 많았을 경우 프로젝트 진행에서 분명 막히고 어려울 것을 고려하여
계획을 짰어야 했는데, 기획과 계획을 너무 순탄하게 진행될 것을 전제로 짰던 문제가 있었다.
다음 프로젝트에서는 어떻게 해야할까?
개인 프로젝트일 때,
- 마감기한을 엄수해서 역량껏 기획과 계획 세우기
- 프로젝트에서 집중 구현/얻어갈 목표 설정
- 기획 확장은 구현과 병행하며 단계적으로
- 최소 하루는 PPT/디버깅 시간으로 남겨두기
- 구현하며 항상 기록하기!
팀 프로젝트일 때,
- 내가 맡은 파트는 책임감있게 기한 엄수 완료
- 구현하며 기록하기!
- 이슈 발생시 팀원에게 잘 알려주기!