· 2 min read

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

Related Posts

View All Posts »
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
엔진 독립 풀스택 오픈월드 게임 프레임워크 — OFF

엔진 독립 풀스택 오픈월드 게임 프레임워크 — OFF

엔진에 종속되지 않는 풀스택 오픈월드 게임 프레임워크 OFF(Open Field Framework) 소개. 분산 .NET 서버, Three.js/WebGPU 웹 클라이언트, 월드 저작 툴링까지 한 번에 제공한다.

#OFF #Architecture #CSharp #Multiplay