이번 프로젝트 리드를 하며 아키텍쳐를 잡을 때 최우선 사항은 생산성 이었다.

대형 프로젝트도 아니고, 소수의 프로그래머가 지속적으로 바뀌는 요구사항과 짧은 일정을 소화하려면 생산성이 가장 중요하다고 생각했다.

  • 유려한 아키텍쳐 및 프로젝트 구성
  • 샐틈없는 강력한 보안의 코드 / 동기화 모델
  • 엄청난 Throughput을 보여주는 고성능 프로그램

을 다 충족시키며 우리 팀의 목적 달성은 현실적으로 어렵다고 판단했다.

결국 선택과 집중이 필요한 부분인데..
게임 개발 경력이 아직 길진 않지만,

재밌는 게임을 만들기 위해선 수많은 수행 착오를 거쳐야 하고

  • 유연한 아키텍쳐 - 새로운 것을 빠르게 개발 가능해야 함

중복 기능, 중복 코드를 최소한으로 하고

  • 소스 코드를 공유할 수 있어야 함

코드 수정 - 테스트에 걸리는 시간을 최소화해야 하고

  • 로컬 환경에서 클라이언트, 서버 재실행을 One touch / 짧은 시간 안에

이런 것들이 중요한 것이 아닌가? 라는 결론에 도달해, 지금의 프로젝트가 되었다.


이 프로젝트의 생산성을 위해 도입된 프로세스 / 아키텍쳐 / 방법론들을 공유해보려 한다.