연말에 제출하고, 연초에 쓰는 프로젝트 후기. 이번 연말은 정말 정말 정말 바빴지만, 최선을 다해서 만족할만한 결과물을 냈다고 생각한다. 6주 반 동안 내가 느끼고 배운 것들을 정리해본다.
- 일정 관리는 중요하다. 프로젝트의 처음부터 끝까지 할 일을 상태별로 상세하게 정리하자.
끝까지 해이해지지 않는 것 기억하기!
- 주어와 근거를 들어 주장을 명확하게 하자. 적어도 상대방과 나의 '정의'가 달라 의견 충돌이 나는 일은 없어야 한다.
- 개발 전, 생각하는 게임을 각자 그려보자. 분명 다른 부분이 많을 것이다. 그걸 맞춰가는 게 협업이다!
- 팀원의 코드를 보면 배울 점이 항상 있다.
'기능이 돌아가니까~ 맞겠지~'라는 마음가짐을 가지지 말고, 찬찬히 읽어보자! 코드 이해력도 상승한다.
- 게임의 재미를 위해서 여러번의 테스트는 중요하다. 기능 개발이 전부가 아니다!
일정 관리
개발 일정이 촉박했기 때문에, 업무에 관한 일정 관리가 굉장히 중요했다. 졸업 작품 팀 프로젝트에서 쓰는 방법인, 대쉬보드로 할 일과 데드라인을 관리했다.
이렇게 할 일과 진행 중인 일을 알기 쉽게 구분할 수 있었다.
할 일 안에 들어가면, 업무를 세분화해서 체크리스트를 만들었다. 해야 할 일을 생각하면서 머릿속으로 러프한 구조가 그려지고, 프로젝트를 진행하고 개발할 동기가 되었다.
사실, 마감이 마감이 다가오고 급해지면서 버그를 잡고 테스트를 하느라 서서히 쓰지 않게 된 점이 아쉽다. 다음 졸업 작품 프로젝트는 체계적으로 관리하기 위한 전략을 짜야겠다... 유종의 미를 거둘 수 있도록!
표현의 중요성
기획 혹은 개발 회의를 하며, 사람은 같은 말을 들어도 생각하는 게 천차만별이라는 사실을 강하게 느꼈다. 당연한 말이긴 하지만, 의식하지 않고 산다면 '상대방도 나와 같이 이해했으리라'라는 생각을 하기 십상이고 내가 그랬다.
서로 이야기하는 주제부터가 다르니, 당연히 말이 맞지 않고, 의견 충돌이 나고 서로 답답할 수밖에 없었던 것이다.
이를 통해 무엇을 주장할 때는 반드시 주어와 근거가 있어야한다는 것을 느꼈다. 주어와 근거가 있다면, 서로 잘못 알아들었다고 해도 모순을 감지하고 얼른 알아차릴 수 있기 때문이다.
그건 유저를 답답하게 할 수 있어.
보다는...
A는 유저를 답답하게 할 수 있어. A 자체가 유저의 시야를 가리기 때문이야.
라고 말하면,
내가 말한 건 B였어.
인게임에선 A의 사이즈를 작게 하는 거로 생각했는데, 어느 정도 크기로 생각한 거야?
이런 답변을 얻게 되면서, 원활한 회의가 가능하게 될 거라 생각한다.
서로 그림을 그려보는 것도 괜찮은 방법 같다! 생각하는 시스템이나 인터페이스를 서로 그려보고 다른 부분을 비교해보며 서로의 생각을 맞춰봐도 회의가 수월해질 것 같다.
지금에서야 알게 되어서 아쉽긴 하지만, 이 프로젝트를 통해 의사소통 기술과 서로 생각의 방향을 맞출 수 있게 되어 참 좋다.
개발 관리자
나는 작업 속도가 빠르고 주말 시간을 프로젝트에 많이 할애하는 편이기 때문에 정말 많은 콘텐츠의 개발을 맡을 수 있었다.
게임 전체 루프, 주사위 게이지, 몬스터 FSM, 그래픽 퀄리티 개선, 덱, 로비 씬, 스킬, 사운드, 이펙트, 데이터 저장 등등...
다양하고 많은 콘텐츠를 개발하고 팀원의 코드와 논리 구조를 분석하며 '내가 이 프로젝트 로직을 전부 알고 있구나'라는 생각에 뿌듯하고 만족스럽기도 했다. 개발 관리자가 된 느낌이었다!
이렇게 프로젝트의 로직을 이해하고 있는 게 정말 중요하다는 것을 느꼈다. 특히 소규모 프로젝트에서는! 세세하게 이해하지는 못하더라도, 흐름 정도는 알아야 구현과 디버깅의 시간이 훨씬 단축되기 때문이다. 또, 팀원의 코드에 쓰인 내가 모르는 문법과 기능, 로직들을 배우고 찾아볼 수 있었다. 혹은, '나라면 어떻게 구현했을까' 하고 자기 자신을 성찰해보기도 했다.
또, 다양한 콘텐츠를 단기간에 개발하니 개발 실력 또한 많이 상승되었다.
쓰지 않는 기획이지만, 미리 만들어놓은 주사위 게이지와...
몰랐던 SO의 직렬화 방식에 대해서 알게 되어 정말 유익했다.
이 외에도 FSM, JSON Utility 활용, Scriptable Object, 사운드, URP 등등 다양하고 방대한 지식을 원래 알았던 내용을 강화하거나, 몰랐던 걸 새롭게 알게 되어 실력 성장에 도움닫기로써 프로젝트를 생각하게 되었다.
유저 피드백
프로젝트 제출과 발표 후, 반 친구들은 서로의 게임을 해보는 시간을 가졌다. 다른 친구들의 프로젝트를 하며 재미있는 점, 독창적인 점, 개선할 점들을 느끼고 우리의 프로젝트 또한 많은 개선이 되어야함을 느꼈다.
우리 게임은 소위 말하는 '운빨 망겜'이라거나, 게임이 너무 어렵다는 평이 많았다. 개발에 집중하느라 테스트와 QA에 소홀해지게 되며 실력과 운의 비율을 잡는 데에 실패한 것이었다. 게임을 처음 기획할 때만 하더라도, '운과 실력이 모두 중요한 게임'이라는 타이틀을 게임의 핵심 콘셉트로 잡았기 때문에 더욱 아쉬웠다.
테스트와 QA의 중요성. 프로젝트를 항상 하면서 느끼는 점이지만, 보통 메인 개발을 맡는 편이기 때문에 일에 치여 잡지 못하는 부분 중 하나이다. 그렇지만, 게임의 핵심 요소는 누가 뭐라고 해도 재미이다. 이를 꼭 기억해야겠다. 개발에만 빠져있지 말고, 게임을 보기!
이런 운 요소가 대부분의 게임임에도 불구하고...
2학년 우수작품 중 하나로 선정될 수 있었다! 우수작품 선정은 친구들의 설문과 투표로 이루어졌기 때문에 더 뜻깊었다.
작업한 기능과 할애한 시간이 많은 만큼, 개인적으로 애정이 가는 프로젝트이다. 많은 것을 느끼고 배울 수 있었다. 특히 2인 개발이기 때문에 커뮤니케이션 부분에서 서로의 생각을 맞추기, 명확한 의사소통에 대해서 잘 알게 되었다.
배운 점을 정리해보자!
기타
깃허브 주소
'개발한 게임들 > Nice, Dice!' 카테고리의 다른 글
[Project] 🎲 Nice, Dice! (1) | 2023.01.05 |
---|