시간에 쫓긴 사나이의 KPT 회고

정윤재·2026년 8월 5일
post-thumbnail

엔딩도 겨우 겨우 만들고 어떻게 하다 보니 완성이 되어서 무사히 발표를 마칠 수 있었습니다. 기본적인 PPT 템플릿이랑 아주 초반 내용만 넣고 엔딩을 만들고 나니 사실 피곤해서 기절했습니다. 다행히 발표를 맡아주신 소리님께서 잘 마무리해주셨습니다. 나의 빛, 나의 소금.

날카로웠던 손 튜터님의 질문을 기반으로 KPT 회고를 한 번 해봤습니다.


1. 팀 전체 회고


(참고로 저 세트와 그림들 뭔말알 얼굴 그림 난 최강이니까 멘트 제가 한 거 아닙니당....진짜로용....)

Keep — 계속 유지할 점

원활한 의사소통

문제가 발생하면 바로 공유하고 서로 해결하는 분위기가 잘 유지되었습니다. 자신의 파트가 끝난 뒤에도 다른 팀원의 작업을 도와주는 등 적극적으로 협업할 수 있었습니다.

긍정적인 팀 분위기

서로 의견을 편하게 이야기할 수 있었고, 문제가 생겼을 때 책임을 따지기보다 함께 해결하려고 했습니다. 덕분에 프로젝트를 끝까지 즐겁게 진행할 수 있었습니다.

기획과 문서화

FigJam을 활용해 로직과 기획 내용을 정리하고 변경 사항을 기록했습니다. 나중에 다시 확인하거나 팀원에게 설명할 때 도움이 많이 되었기 때문에 다음 프로젝트에서도 유지하고 싶습니다. 양식은 정리왕 소리님의 허락(?)을 받고 유포할 생각입니다.

계속해서 목표를 높인 점

기본 기능을 완성한 뒤에도 추가 기능을 고민하며 프로젝트의 완성도를 높이려고 했습니다. 새로운 기능을 구현하면서 배울 수 있었던 점도 좋았습니다.


Problem — 개선할 점

촉박한 일정

후반부에 작업이 몰리면서 야근과 철야까지 하게 되었습니다. 피로가 쌓이다 보니 잠결에 코딩하면서 생긴 실수도 많았습니다. (야근은 위험해...)

다음에는 오류 수정과 테스트 시간을 고려해 조금 더 여유 있게 일정을 잡아야 할 것 같습니다.

우선순위 부족

핵심 기능과 추가 기능을 처음부터 명확하게 나누지 못했습니다. 추가 기능에 욕심을 내다 보니 후반부에 전체 테스트 시간이 부족했습니다.

다음에는 핵심 기능 → 안정화 → 추가 기능 순서로 진행해야겠습니다.

초기 설계와 역할 범위

담당 파트는 정해져 있었지만 세부적인 함수와 데이터 연결까지 미리 정하지 못했습니다. 그 결과 Merge 과정에서 매개변수나 접근자가 맞지 않는 문제가 발생했습니다.

AI 코드 검토 부족

AI를 활용하면서 기존 프로젝트 구조와 맞지 않는 코드가 들어오는 경우가 있었습니다. AI 사용 자체보다 생성된 코드를 충분히 검토하지 않은 것이 문제였다고 생각합니다. 또한, 로직 면에서 그것이 맞는지 확인하는 태도가 부족했습니다.

빌드 이후 테스트 부족

빌드가 성공했다고 끝난 것이 아니었습니다. 실제로 처음부터 게임을 플레이해보니 아이템 효과, 강화, 출력 등 여러 문제가 발견되었습니다.

앞으로는 빌드 테스트와 실제 플레이 테스트를 반드시 분리해서 진행해야겠습니다.

UI 통일성

각자 기능을 구현하다 보니 화면 출력 방식이나 ASCII Art의 통일성이 부족했습니다. 시간이 부족해 마지막까지 세세하게 수정하지 못한 점이 아쉬웠습니다.


Try — 다음 프로젝트에서 시도할 점

  • 구현 전에 전체 클래스 구조와 데이터 흐름 먼저 설계하기
  • 핵심 기능과 추가 기능의 우선순위 명확하게 정하기
  • 기능별 작업 범위와 함수 인터페이스 미리 정하기
  • 정기적인 스크럼으로 진행 상황과 문제 공유하기
  • 공통 UI 및 출력 함수를 초기에 제작하기
  • AI 코드를 기존 프로젝트 구조에 맞고 로직이 맞는지 검토하고 사용하기
  • 기능별 브랜치를 사용하고 Merge 전 테스트하기
  • 빌드뿐만 아니라 실제 플레이 체크리스트를 만들어 테스트하기
  • 철야를 전제로 하지 않고 일정에 여유 시간 확보하기

Feel — 프로젝트를 마친 소감

힘든 부분도 많았지만 전체적으로 정말 재미있었던 프로젝트였습니다.

특히 각자 만든 기능을 하나로 합치는 과정에서 협업에서는 내 코드만 잘 만드는 것이 아니라 다른 사람의 코드와 어떻게 연결되는지까지 생각해야 한다는 것을 배웠습니다.

오류도 많이 발생했고 아쉬운 부분도 남았지만, 팀원들과 함께 문제를 하나씩 해결하면서 결국 하나의 게임을 완성했다는 점에서 의미가 큰 프로젝트였습니다.


2. 개인 회고

제 개인적인 회고만 여기 적어놓겠습니다. 사실 확인해보니 소리님께서 다른 분들 것도 잘 정리해주셨더라고요. 다른 분들 파트는 소리님 벨로그를 확인해주시면 감사하겠습니다.

인벤토리 · 장비 · 상점 · 강화 · 제작 시스템 및 게임 기획 면에서의 회고

Keep

인벤토리부터 장비, 상점, 강화, 제작까지 여러 시스템을 직접 구현하고 서로 연결해본 경험이 좋았습니다.

특히 기존 개인 프로젝트에서 만들었던 인벤토리를 확장해 장비 전용 인벤토리와 장비창까지 구현하면서, 하나의 시스템을 다른 기능으로 확장해보는 경험을 할 수 있었습니다.

또한 팀원들과 적극적으로 소통하며 문제가 발생했을 때 바로 공유하고 함께 해결했던 점은 계속 유지하고 싶습니다.
(블루투스식 말하기의 힘이라고 하면 안 되겠죵)

Problem

처음 인벤토리를 설계할 때 장착 아이템까지 충분히 고려하지 않아 이후 장비 전용 인벤토리와 장비창을 추가하면서 구조가 복잡해졌습니다.

기존에 템플릿 인벤토리를 만들 때부터 장착 아이템까지 고려해서 전체적인 구조를 설계했다면, 이후에 별도의 장비창과 전용 장비 인벤토리를 추가하는 수고를 조금은 줄일 수 있었을 것 같습니다.

그것이 템플릿의 장점이니까

또 여러 시스템을 연결하면서 함수의 매개변수가 Player* player, Inventory& inventory처럼 여러 개로 늘어나는 경우가 있었습니다. 매개변수가 많아질수록 다른 클래스나 파일을 참고해야 하는 상황도 많아졌고, 그 과정에서 include나 전방 선언, 타입 문제 등 여러 오류가 발생했습니다.

물론 include나 전방 선언으로 해결되는 문제도 있었지만, 애초에 함수를 설계할 때부터 여러 객체를 계속 전달하지 않아도 되도록 구조를 고민하는 것이 더 좋겠다는 생각을 하게 되었습니다.

실제로 최종 테스트에서도 아이템 등급이나 강화 정보를 조회하는 접근자를 미리 만들어두지 않아 다른 시스템에서 아이템 효과를 적용하는 데 문제가 발생했습니다.

그리고 후반부에 작업이 몰리면서 아이템 제작, 상점, 강화 등을 급하게 마무리하다 보니 UI나 ASCII Art를 충분히 다듬지 못한 것도 아쉬웠습니다.

Try

다음에는 기능 하나를 구현하는 것만 생각하기보다 처음부터 전체적인 틀과 데이터 흐름, 이후 확장 가능성까지 생각하면서 설계해보고 싶습니다.

특히 인벤토리처럼 여러 시스템에서 사용되는 기능은 장비, 소비 아이템, 강화, 제작 등을 미리 고려하고, 다른 시스템에서 사용할 데이터나 기능에 필요한 접근자와 인터페이스도 어느 정도 먼저 만들어두겠습니다.

또 함수의 매개변수가 불필요하게 많아지지 않도록 설계 단계에서부터 고민해보겠습니다.
(그러려고 노력은 했지만 더 해보겠습니다...... 지금 보니 더 할 수 있는 부분들이 있지 않았을까라는 생각이 듭니다.)

게임 기획에서도 개선할 부분이 있다고 생각합니다.

현재 저희 게임의 주요 소비층은 프로젝트와 코딩을 배우고 있는 내일배움캠프 언리얼 10기를 기준으로 잡혀 있습니다. 그래서 다른 게이머가 플레이한다면 게임 속 상황이나 유머에 공감하기 어려울 수 있다는 한계가 있습니다.

따라서 다음에는 특정 기수나 팀원만 이해할 수 있는 내용에서 벗어나 코딩을 처음 배우기 시작한 게이머들까지 소비층을 확장하고, 오류, 디버깅, 과제, 성장과 같은 경험을 중심으로 스토리를 개편해보고 싶습니다.

Feel

이번 프로젝트를 하면서 내 파트만 잘 만드는 것과 팀으로 하나의 게임을 만드는 것은 다르다는 것을 많이 느꼈습니다.

제가 만든 인벤토리와 장비 시스템이 실제 게임에서 작동하고 팀원들이 사용하는 모습을 보면서 뿌듯하기도 했습니다.

오류도 많았고 잠결에 코딩하면서 실수도 많이 하고 경고와 오류 폭탄을 투하했지만, 팀원들과 하나씩 해결하면서 결국 게임을 완성할 수 있었습니다.

특히 이번 프로젝트를 통해 단순히 기능을 구현하는 것보다 처음 설계할 때 전체적인 구조와 이후 확장까지 생각하는 것이 중요하다는 것을 배웠습니다.

이번 프로젝트에서 배운 설계와 협업 경험을 다음 프로젝트에서는 더 잘 활용해보고 싶습니다.


3. 개인적인 사견

이번 프로젝트를 하면서 개인적으로 재미있었던 부분이 있었습니다.

원래 저는 경영학을 전공했기 때문에 게임을 만들면서도 자연스럽게 "이 게임을 어떻게 보여주고, 어떤 메시지를 전달할 것인가?"라는 생각을 많이 했습니다.

저희 게임의 핵심 메시지는 "코더여, 성장하라"였습니다. 단순히 코딩을 배우는 게임을 만드는 것에서 끝나는 것이 아니라, 게임의 스토리와 시스템, 캐릭터, 발표와 홍보까지 하나의 메시지로 연결된다면 더 재미있지 않을까 생각했습니다.

이런 부분을 생각하다 보니 예전에 배웠던 IMC(통합 마케팅 커뮤니케이션)와도 연결해서 생각할 수 있었습니다. 게임의 콘텐츠와 홍보가 서로 따로 노는 것이 아니라 하나의 콘셉트와 메시지를 가지고 움직이는 것입니다.

물론 이번 프로젝트에서는 개발 자체에 집중하다 보니 실제로 여기까지 깊게 구현하지는 못했습니다. 하지만 직접 게임을 기획하고 만들어보면서 "게임도 결국 하나의 상품이고, 어떻게 만들 것인가뿐만 아니라 어떻게 보여줄 것인가도 중요하구나"라는 생각을 하게 되었습니다.

다음에 기회가 된다면 게임의 기획 단계부터 타깃을 조금 더 명확하게 설정하고, 게임의 스토리와 콘텐츠뿐만 아니라 홍보 방식까지 연결해서 기획해보고 싶습니다.

개발을 배우면서 경영학에서 배웠던 내용도 생각보다 여기저기 써먹을 곳이 있는 것 같습니다. 역시 사람 일은 어떻게 될지 모르네요. 앞으로도 요긴(?)하게 배웠던 지식들을 알짜배기로 써보겠습니다.


4. 마무리

이번 프로젝트에서 가장 크게 배운 것은 협업에서는 내 코드만 잘 만드는 것이 아니라 전체 구조와 다른 팀원의 코드까지 생각해야 한다는 것이었습니다.

초기 설계와 일정 관리, Merge 과정에서는 아쉬운 점도 많았지만 직접 오류를 겪고 해결하면서 다음 프로젝트에서 개선해야 할 부분도 명확해졌습니다.

무엇보다 좋은 팀원들과 함께 서로 도와가며 처음 기획했던 게임을 실제로 완성했다는 점이 가장 큰 수확이었습니다. 우리 팀원들에게 다시 한 번 감사의 말을 전하고 싶습니다.함께해서 너무 즐거웠고 행복했습니다.(야근은 조금 힘들었을지도?)

다음에는 이번 경험을 바탕으로 조금 더 여유 있게 계획하고, 조금 더 깔끔하게 설계하고...

무엇보다 잠을 자면서 개발하겠습니다.

예. 건강이 최곱니다.

profile
게임 개발자 꿈나무

4개의 댓글

comment-user-thumbnail
2026년 8월 12일

야근은 힘들었지만 욕심 양껏 낸 건 좋습니당~~

1개의 답글
comment-user-thumbnail
2026년 8월 13일

갠적으로 1등팀입니다 너무 수고하셨슴다

1개의 답글