← 전체 프로젝트

게임 / Unity · C#

The Developer

게임 시스템 공용 로직과 UI 구조 설계를 담당

Notion 원본 보기 ↗
The Developer 프로젝트 화면

프로젝트 개요 / Overview

  • 게임 제목 | The Developer
  • 게임 장르 | 타워 디펜스, 호드 모드
  • 개발 기간 | 2024.09 ~ 2024.12, 2026.01 ~ (Steam 출시 준비)
  • 인력 구성 | 초기 개발 4인, 출시 준비 5인
  • 게임 소개

    누명을 쓰게 된 제어장치의 개발자. 누명을 벗기 위해 임무를 완수하고 지구로 돌아가자.

  • 비고 | 2025 2학기 소프트웨어학과 전공박람회 대표작

기술 스택 / Tech Stack

  • Engine : Unity 2D
  • Language : C#
  • Tools : Rider, Git, GitHub
  • Collaboration : Git Flow 기반 협업

기여 / Contribution

게임 시스템 공용 로직과 UI 구조 설계를 담당

  • 타워, 웨이브, 플레이어 상태 등 게임 핵심 시스템을 공용 로직과 분리하여 설계
  • UI(메뉴, 인게임 HUD, 결과 화면)를 시스템 상태와 분리하여 구조화
  • 팀원들이 개별 기능 구현에 집중할 수 있도록 인터페이스 기반의 시스템 구조를 정의하고 사용 규칙을 정리
  • 게임 흐름에 맞춘 오프닝, 엔딩 연출 구현

문제 해결 사례 / Trouble Shooting

문제

  • 첫 Unity 팀 프로젝트에서 타워, 웨이브, UI 등 여러 기능을 동시에 개발하며, 기능 코드들이 서로를 직접 참조하는 구조로 점점 복잡해짐
  • 이로 인해 한 기능을 수정하면, 다른 기능의 동작이 예기치 않게 영향을 받는 문제가 반복됨

원인 분석

  • 기능 개발자들이 각자 필요한 정보를 다른 기능 코드에서 직접 가져오는 방식으로 구현
  • 공통된 흐름이나 상태를 관리하는 기준점이 없어 참조 방향이 뒤섞인 구조가 형성됨

해결 방법

  • GameManager / InGameManager / TowerManager 등 Manager를 기능 간 중계 지점으로 명확히 정의
  • 기능 코드들은 서로를 직접 참조하지 않고, Manager를 통해서만 상태 변경이나 요청을 전달하도록 구조 재정립
  • Manager가 제공하는 공통 인터페이스와 사용 규칙을 정리하여 팀원들의 기능을 연결

결과

  • 기능 간 직접 참조가 제거되며 구조가 단순해짐
  • 팀원들이 자신의 기능만 구현해도 전체 시스템과 자연스럽게 연동될 수 있는 환경이 만들어짐

배우고 느낀 점 / Retrospective

첫 팀 프로젝트였던 The Developer는 기능 구현보다 “여러 사람이 동시에 개발해도 흔들리지 않는 구조”를 만드는 것이 얼마나 중요한지를 체감한 프로젝트였습니다.

초기에는 각 기능이 서로를 직접 참조하며 빠르게 개발했지만, 기능이 늘어날수록 수정 하나가 다른 파트에 영향을 주는 문제가 반복되었습니다. 이를 해결하기 위해 Manager를 중심으로 기능 간 연결 구조를 재정립하며, “누가 상태를 관리하고, 누가 반응만 해야 하는지”를 명확히 구분하는 설계를 경험했습니다.

이 과정을 통해 팀 개발에서는 개별 기능의 완성도뿐 아니라, 다른 사람이 쉽게 이해하고 안전하게 붙일 수 있는 구조를 먼저 만드는 것이 개발 속도와 안정성에 더 큰 영향을 준다는 점을 배웠습니다.

이후 프로젝트에서는 기능을 추가하기 전에 의존 관계와 책임부터 정리하는 습관을 갖게 되었고, 협업을 전제로 한 시스템 설계를 고민하는 개발자로 성장하고자 합니다.

관련 자료 / Links

  • Youtube

출시 준비 / Release

현재 프로젝트 The Developer는 추가적인 업데이트와 디버깅 중에 있으며, 연말 스팀 출시를 예정하고 있습니다. 사업자 등록과 Steam-works 등록을 마친 상태이며, 저를 포함한 5명의 개발자가 참여하여 추가적인 개발을 이어가고 있습니다.

계속 둘러보기Runster ↗

원본 ↗