
이번 팀 프로젝트는 C#을 이용한 콘솔 게임 제작이 목표였다. 유니티로 했던 기존 미니 프로젝트와는 다르게 C#만을 사용해야 했기 때문에 연출이나 사용 효과가 제한적이었는데, 그래도 그 와중에 팀 원들과 아이디어를 짜내어서 필요했던 것 이상으로 게임을 완성했다는 느낌이 들었다.
정도가 특히나 괜찮았던 부분이었다.
내가 사용할 수 있는 코딩 능력을 사용해서 게임 플레이에 지장이 없는 수준으로 만들어 낼 수 있었고, 심심풀이로 시간 떼우기에 나쁘지 않은 느낌이었다.
이를 위해 적의 능력치나 플레이어 성장속도를 맞추는 작업을 많이 했는데, 아무래도 정교한 수학적 능력은 없다보니 시행착오를 계속 해 나가면서 적절한 밸런스를 찾아내려고 노력했다.
이렇게 했을 때 부수적인 장점도 있었는데, 수많은 버그들을 찾아낼 수 있었다. 다양한 상황과 다른 코드와의 연계가 어설펐던 부분들이 게임을 플레이 할 수록 계속 튀어나와서 게임 완성도를 높이는 데 도움을 주었다.
다른 팀의 발표를 보면 문제 발생을 했을 때 기록하고, 해결하기 위해 시도했던 것도 기록하고, 해결 방법도 기록을 하는 트러블 슈팅을 많이 했다.
기존에 내가 했던 업무와는 동떨어졌던 개념이기 때문에 아직 익숙하지 않은데, 개발쪽에 있어서는 해당 방법을 잘 활용하면 쓸데없는 시도를 방지하고 팀원들끼리 상황 공유를 하는데 좋을 것 같았다. 물론 잘못 사용하면 쓸데없는 메뉴얼이 하나 더 생기는 것이기 때문에 결국 사용하기 나름이겠지만, 나에게 부족한 능력이고 저번 미니 프로젝트에서도 비슷한 생각을 했었기 때문에 다음 프로젝트에서는 꼭 적용해봐야겠다.
팀적으로 아쉬웠던 점은 한 분이 개인적인 사정으로 인해서 개발 일정 초반에 참여를 못해서 업무 분담이 제대로 이뤄지지 않았었다. 내가 개발하던 공격쪽 능력을 확장시켜 스킬을 만들어 달라고 부탁드렸지만, 아무래도 내가 쓴 코드도 아직 깔끔하지 않았을 것이고, 따로 코드를 되짚는 시간이 없었기 때문에 스킬을 구현해서 오류없이 구동하도록 코딩하는데 고생을 하셨을 것 같다.
또한 발표를 보면 많은 팀들이 처음 와이어프레임이나 워크프레임을 잘 짜고 들어가는 모습을 많이 보여줬다. 우리 팀은 해당 부분을 적극적으로 활용하지 못해서 중간부터는 누더기를 기워가듯 어떻게 보면 스파게티 코드가 만들어졌는데, 이번에 코딩 스케쥴이 진행됬던 점을 생각해서 다음에는 조금 더 프레임을 잡는데 시간을 투자하는게 좋겠다는 생각이 들었다.
부수적으로 코드 컨벤션이 서로 많이 달랐던 점도 아쉬웠다. 서로의 코드를 알아보는데 약간의 시간이 걸렸달까? 이런 것은 팀적 합의를 잘 이뤄놔야 할 것 같다.
개인적으로는 만족스러웠지만 분명 결과물을 더 높일 수 있지 않았을까란 생각이 들긴 한다. 테스트 플레이를 더 해봤다면? 리팩토링을 더 적극적으로 해봤다면? 기획적인 부분을 발표에서 더 말해봤다면?
하지만 위에 잘한 점 못한 점을 제외하면 지금 수준에서 맞는 적절한 스텝을 밟는다고 생각하기 때문에 크게 걱정은 안해도 될 것 같다.
나는 지금 잘 하고 있고, 앞으로도 이대로 변함없이 한다면 나는 좋은 결과를 얻을 것이란 확신이 들기 시작했다.
팀 프로젝트 결과물