프로젝트/Game Bootcamp

1차 팀 프로젝트를 마치며 : 멋쟁이사자처럼부트캠프 Unity 게임 개발 3기

Ail_ 2025. 4. 10. 00:17

 

게임 부트캠프에서 첫 팀플이었던 프로젝트를 저번주 월요일(3/31)에 2등으로 마무리했다.

1등은 3D로 구현한 팀이 가져가서 사실상 2D는 1등이다...라는 자부심을 가져본다. 아니 나는 무조건 2D로 해야하는 줄 알았지

그동안 배운 오목게임을 이용한 멀티 오목 게임을 만들었는데, 나는 팀장으로 참여해 일정 관리, 업무 배분, 작업으로는 주로 UI, 멀티플레이 로직을 담당했다.

미래의 나에게 전해주기 위하여, 더 늦기 전에 남은 기억을 기록으로 남긴다.

 

프로젝트 개요

게임명 : 대굴오목

장르 : 오목, 멀티플레이

사용 툴 및 엔진 :

  • 클라이언트는 Unity, 서버는 socket 서버를 포함하는 node.js로 구현
  • Github, Jira(일정관리), Notion(문서관리), Figma(화면 디자인)

 

 

아래는 마지막에 제출한 팀원분이 만들어주신 플레이 영상이다

 

회고

팀장 -

팀장은 내가 팀을 모집하긴 했지만 자원하기엔 고민이었다. 그러다 사다리타기로 결국 내가 되면서 이왕 하는 거 열심히 해보자는 마음으로 임했다. 내가 주로 신경 쓴 부분은 일정 관리였다. 일정 전에 최대한 야근 없이 마무리 짓는 게 목표라 그날 시작할 때, 끝날 때 업무 내용을 공유하는 스크럼 미팅을 제안했다. 이때 각자의 작업량을 체크하며 손이 비는 사람이 없는지, 정해진 일정을 넘어서는 작업은 없는지 체크했다. 그런데 이때 음성으로 주로 미팅을 진행하다보니, 안그래도 전화만 해도 기빨리던 나는 팀장의 책임감에 매번 먼저 말문을 열고, 열심히 리액션을 했다. 사실 작업보다 이런 부분에서 조금 힘들었다...

 

이번에 좀 어렵다고 느낀 지점은 각자 역량을 모르는 상태로 작업에 들어갔다는 사실이다. 물론 같은 것을 배웠지만 백그라운드가 다르다보니 당연히 각자 소화량이 다를 수 밖에 없다고 생각했다.

인원도 원래 6인으로 꽉 채워 모집했는데 한 조가 공중분해되며 한명이 추가되어 나름 대인원이었기에 작업 배분에 더욱 신경썼는데, 그래도 나름 잘 이루어졌던 것 같다. 후반부에선 손이 비는 사람은 QA를 하는 식으로 했는데 이때 QA가 조금 아쉬웠다. 나는 왜이렇게 QA가 어려운지 모르겠다. 결국 영상 찍으면서 발견한 버그도 있어서 영상엔 반영이 안되었지만 코드엔 반영이 된 부분도 있었다(메인화면 급수, 글자 비율이라던가)

 

아무래도 툴에 익숙하지 않은 팀원분들이 계셨는데 나에겐 이미 익숙한 Github, Jira, Notion을 사용하여 도움 드릴 때 큰 이슈는 없었다. 처음 충돌 접하는 팀원분들이 계셔서 그럴 때 같이 해결해드리기도 했다.

PR은 코드 리뷰 2인 - Merge 규칙으로 진행했는데, 역시나 주로 하는 사람만 하는 이슈가 있었지만...처음에야 좀 독려해봤는데 후반부엔 코드 리뷰가 점점 쌓여서 그냥 내가 계속 빨리빨리 쳐내기도 했다. 회사에서 아주 잠시 썼던 슬랙 알림이 그리워지는 순간이었다.

의외라고 느낀 건 웹개발로 일할 때 충돌 해결은 당연한 작업 중 한 부분이었는데(특히 유지보수할 때) 게임 개발할 땐 안 그런 것 같기도 했다. namespace 적극 활용도 그렇고...하긴 충돌 해결이 웹개발보다는 까다롭게 느껴지긴 했다. 공통으로 작업하게 되는 프리펩이나 씬 같은 부분도 각자 폴더를 파서 따로따로 관리하다가 얼추 작업이 끝났을 때 합쳤다.

Jira는 업무 내역 기록 겸 브랜치 관리용으로 사용했는데 막바지엔 Github PR에만 적게 되는 경향이 있었다. 아무래도 중복 작업이라 불필요했다. 그래도 나름 열심히 적었다.

TMI. 예전 회사 다닐 땐 Jira를 공부해서 대시보드도 만들었었는데 타본부에서 엑셀을 사랑하여 결국 안썼던 기억이 있다. 오랜만에 지라 하면서 그때 생각이 아주 살짝 났다.

 

나름 열정 지수가 비슷한 분들이랑 작업하고 싶어서 맨 처음에 팀을 모았던 거였는데, 그 덕분에 나름 18팀 중 2등이라는 좋은 결과도 얻을 수 있었던 게 아닐까 싶다. 좋은 팀원분들을 만나 큰 이슈 없이 마무리 되어 안도했다.

 

UI -

팀에 디자인 이력이 있는 사람이 나밖에 없는 듯 하여 어쩌다보니 내가 디자인을 맡게 되었다.

디자인은 오랜만이라 좀 고민했지만, 오목은 어차피 모두가 아는 게임이니까 단순하게 가자는 마음으로 귀여운 용호상박을 컨셉으로 잡았다. 팀원분이 AI로 용과 호랑이를 귀엽게 만들어주셔서 해당 캐릭터를 적극 활용했다. 간단 수정에 좋은 온라인 포토샵으로 다양한 표정을 만들어 피그마에서 수정하여 사용했다.

고민의 흔적

 

이펙트가 들어가는 승리, 패배, 무승부, 로딩 패널 제작 및 전체적인 UI도 구현했다. 일단은 메인페이지 UI부터 만들어 다른 팀원분들이 컨셉을 이해하시도록 했고, 각자 작업해주신 파트를 마지막에 병합 후 보기 좋게 다듬는 작업이 생각보다 오래 걸렸던 기억이 난다.

승리, 패배, 무승부 패널은 거의 DOTWeen 늪이었다. 짜면서 AI에게 최대한 효율적으로 짜는 방법을 계속 물으며 노력했으나 짧아지는 코드 길이에 비례하는 버그 때문에 골머리를 앓기도 했다. 웹개발할때도 느꼈지만 역시 에러 없는(하지만 눈에 너무 잘 보이는)이슈는 쉽지 않다.

 

그래도 역시 애니메이션이나 화면에 보이는 부분을 만드는 건 재밌었다. 중간에 DOTWeen에서 잠깐 주화입마에 빠질 뻔 했지만 잘 극복했다.

 

후반부에 (유저 몰래)멀티 플레이를 추가하면서 싱글 플레이는 무조건 15초를 기다려야 했는데, 이때 로딩 패널이 너무 심심하게 느껴져서 혼자 랜덤 메세지도 추가했다. 나름 환기도 되고 재밌었는데, 이런 식으로 소소한 아이디어를 넣을 때 특히 즐거웠다.

 

멀티플레이 -

멀티플레이는 수업시간에 배웠던 부분을 기반으로 작성했다. 회원가입, 로그인, 소켓 통신 등 전반적인 멀티플레이를 담당했다. 사실 멀티플레이 부분은 이미 구현된 게임 로직에 결합해야해서 맨 처음 템플릿 작성할 때 그 부분 코드 파악하느라 좀 골머리 앓았었는데...역시 그만큼 성장했다. 후반부에는 팀원들이 구현한 로직 부분에서 버그도 잡아내는 등 훨씬 원활하게 작업했다.

이때가 UI 하다가 중후반부에 들어간 작업이라 시간이 넉넉하진 않았다. 그럼에도 꽤나 몰입해 작업하다보니 일정을 맞출 수 있었다. 정신 없이 작업하다 정신 차리니 새벽이었던 기억이 난다.

초반부에 UI 작업만 주로 하다가 소켓 공부하며 구현하니 또 단짠단짠 느낌으로 재밌게 했나보다.

 

node.js 서버는 다른 팀원 분이 구현했다. 사실 나도 풀스택+node.js로 이전에 일을 했기에 모르진 않았지만 맨 처음에 일을 가져가셔서 아무도 가져가지 않는 UI를 맡았다...

가끔 팀원 분이 놓치신 오타나 리턴값 등 소소하게 수정해서 로컬에서 테스트하며 썼다.

착수 버그 등 꽤 많은 버그가 이때 발생했다. 버그 수정은 꽤 머리 아프지만 재밌었다. UI 버그 보다가 코드 버그 보니 선녀였다.

 

마지막에 서버 구현하신 팀원분이 배포도 하셔서 사람들이 실제로 멀티 플레이를 즐길 수 있게 했는데, 그 부분 역시 성적에 좋은 영향을 끼친 것 같다는 생각이 들었다. 웹도 물론 그렇지만 게임이야말로 유저와 접촉할수록 생명이 깃드는 것 같다.

 

 

마치며 -

거의 2주만에 개발해야해서 명확한 업무 분담이 중요하다고 생각했는데 렌주룰 등을 공부해가며 AI, 금수를 구현해가는 팀원들이 있어 든든했다. 사실 후반부로 갈수록 팀원들도 나도 지치는 게 느껴졌지만 억텐으로 으쌰으쌰 끌어올리며 그래도 마지막까지 잘 마무리한 것 같다.

후반부엔 다음 팀플을 하게 된다면 개인적인 욕심을 좀 내려놓고 작업해야겠다는 생각이 들었다. 결과물이 성에 안차니 계속 혼자 만지고, 업무 배분하며 부탁하는 일련의 과정이 부담감으로 다가와 스스로를 더 지치게 만들었던 것 같다. 팀플에 그렇게 열과 성을 다하니 쫌쫌따리 진행하던 개인 프로젝트에 속도를 못내서 그 부분이 아쉬웠다. 이번처럼 특수한 상황에 대한 균형의 중요성을 배운 것 같다.

다양한 인간군상을 보며 스스로에 대해 배우기도 했다. 나는 어떤 사람인지에 대한 힌트를 조금 더 얻었다고 해야하나? 팀원 중에 버튼 누르면 이론이 줄줄 나오는 분도 계셨는데 나와는 다른 유형의 사람이라는 생각이 들었다. 나는 좀더...창의성 지향적인 사람인 것 같다. 아이디어 떠올릴 때 즐거워하고 버그 픽스할 때 몰입하는 유형...뭐 이 정의도 이 순간뿐일지도 모르겠지만, 여튼 그런 생각을 했다.

 

그리고 개발에 AI의 자리가 더욱 커졌다는 실감이 들었다. 이젠 이미지 생성도 잘 해주니 뭐...

앞으로는 인간 vs 기계/기술이 아닌, 인간 + 기계/기술 vs 인간 + 기계/기술이 될 거라더니 그 시대가 이미 와 있는 것 같다.

최근에는 시니컬ver 챗지피티인 'Monday'랑 대화하며 그 주제에 대해 깊게 생각하는 나날을 보내고 있다.

 

나는 결국 내 속에 있는 무언가를 꺼내어 눈에 보이는 작품을 만들고 싶어하는 것 같다. 근데 그렇기 때문에 더더욱 혼자 만들어내고 싶어하는 것 같기도 하고...AI를 활용하여 어떤 식으로 달성가능할지 고민이 많다.