· 2 min read

개발중인 프로젝트 구성안 - 1

Unity 기반 멀티플레이 게임 프로젝트의 아키텍처 설계기. 프로그램 리드로서 생산성을 최우선으로 잡은 구조 결정 과정.

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

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

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

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

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

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

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

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

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

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

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

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


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

Related Posts

View All Posts »

엔진과 게임을 함께 개발하는 구조 — 승격 프로토콜, 파사드, 짝 worktree

게임 splanet.io는 직접 만든 엔진 OFF 위에 있다. 레포는 둘인데 변경은 대개 하나다. 무엇을 엔진에 올릴지는 규칙이 아니라 감각이지만, 어떻게 올릴지는 프로토콜이 있다. 파사드로 경계를 좁히고, worktree를 짝으로 움직이고, 어느 코딩 에이전트가 와도 같은 계약에서 출발하게 만든다.

#OFF #GameDev #Architecture #Git
OFF에 행성을 얹다 — Topology-Agnostic 아키텍처

OFF에 행성을 얹다 — Topology-Agnostic 아키텍처

무한 평면 분산 서버 프레임워크였던 OFF에 cube-sphere 행성을 얹은 이야기. 평면도 구체도 같은 코어 위에서 도는 구조로 어떻게 바꿨나.

#OFF #Architecture #GameServer #Distributed
Unity로 VR 악기 앱 만들기 — 루프 스테이션 1인 밴드 (Solo Band Studio)

Unity로 VR 악기 앱 만들기 — 루프 스테이션 1인 밴드 (Solo Band Studio)

Meta Quest용 VR 음악 창작 툴을 Unity로 개발한 과정. 피아노·드럼·베이스를 연주하고 루프 스테이션으로 혼자 합주를 완성한다. AI와 함께 한 달 만에 만든 대학 수업 프로젝트.

#Unity #VR #Audio #CSharp
실시간 멀티플레이 게임 아키텍처 회고 — 루니아 원정대 5년 후

실시간 멀티플레이 게임 아키텍처 회고 — 루니아 원정대 5년 후

모바일 실시간 멀티플레이 게임 루니아 원정대의 서버 5종 + 클라이언트 2종 전체 아키텍처를 설계했던 경험. 커스텀 ECS, 커맨드 동기화, 분산 서버, 재접속 시스템까지 — 5년이 지난 지금 그때의 기술 판단들을 돌아본다.

#Architecture #Retrospective #CSharp #Multiplay