[포트폴리오] Just Patrol 게임 제작 및 출시
프로젝트 내용
학교 야간 경비원에게 벌어지는 기이한 현상을 다룬 3D 1인칭 공포 게임입니다. 현재 스팀(Steam) 플랫폼을 통해 라이브 서비스 중이며, 출시 초기부터 유의미한 판매 성과를 기록하며 상용 게임 개발 및 서비스 사이클을 온전히 경험한 프로젝트입니다.
Steam Link : Steam 페이지 바로가기
![]()




1. 프로젝트 개요
- 성격: 인디 게임 상용 출시작
- 기간: 2025.08 - 2026.02
- 규모: 3인 팀 개발 (팀장 및 클라이언트 개발 총괄)
- 플랫폼: Windows (Steam)
2. 기술 스택
- Engine: Unity 6.0 (6000.0.64f1)
- Language: C#
- Backend: ASP.NET Core
3. 주요 기술적 성과
결합도를 낮춘 이벤트 기반 아키텍처
유니티 환경에서 흔히 발생하는 MonoBehaviour 간의 강한 결합을 방지하고 코드의 유지보수성을 높였습니다.
- 도메인 추상화: 각 기능 도메인마다 추상화 계층을 두어 컴포넌트 간의 직접적인 커플링을 최소화했습니다.
- Command 패턴 도입: 전역 상태 관리에 취약한 Singleton 패턴의 무분별한 사용을 지양하고, Command 패턴을 활용한 이벤트 기반 구조로 시스템 흐름을 제어했습니다.
공포 연출 제어 및 컴포넌트 설계
게임의 핵심인 기믹과 점프 스케어를 효율적으로 관리하기 위한 시스템을 구축했습니다.
- 확장형 이벤트 관리: 향후 업데이트를 고려하여 다수의 공포 이벤트 요소를 규격화하고 중앙에서 관리할 수 있는 시스템을 설계했습니다.
- ECS 기반 접근법: Entity Component System(ECS)의 철학을 차용하여, 게임 오브젝트에 이벤트를 조립하듯 끼워 넣는 방식으로 설계하여 코드 재사용성을 극대화했습니다.
글로벌 서비스 대응
- 현지화 시스템: 다국어 플레이어를 고려하여 Unity Localization Text를 적용, 한국어와 영어 텍스트를 동적으로 전환하는 시스템을 구현했습니다.
4. 프로젝트 회고 및 교훈
리더십과 의사결정의 무게
3인 프로젝트의 팀장으로서 팀원들의 의견을 최대한 수렴하는 수평적 방식을 지향했습니다. 하지만 모든 의견을 포용하려다 보니 오히려 방향성의 통일성이 흩어지고 개발 효율이 저하되는 상황을 겪었습니다. 이를 통해 팀의 리더는 경청하는 태도도 중요하지만, 프로젝트의 핵심 비전을 잃지 않도록 명확한 기준을 세우고 결단력 있게 이끌어가야 함을 배웠습니다.
프로토타이핑의 필수성
기획 단계에서 도출된 핵심 재미 요소에 대한 확신이 있어 프로토타입 없이 본 개발에 직행했습니다. 하지만 완성된 결과물이 초기 구상과 꽤 큰 차이를 보이는 것을 확인했습니다. 재미를 조기에 검증하지 않고 스케일을 키우는 것이 지니는 리스크를 체감하며, 빠르고 반복적인 프로토타이핑이 결코 시간 낭비가 아니라는 것을 깨달았습니다.
실용주의적 설계 철학
자유도가 높은 유니티 프레임워크를 다루다 보니, 기능 구현보다 완벽한 구조와 아키텍처 설계에 매몰되는 경향이 있었습니다. 그러나 최종 사용자는 코드의 구조가 아닌 플레이 경험 자체를 소비한다는 본질을 상기하게 되었습니다. 확장성을 가로막는 치명적인 결함이 없다면, 우선 프로덕트를 완성하고 이를 바탕으로 구조를 개선해 나가는 실용적인 접근법의 가치를 배웠습니다.
의도를 담은 주석의 가치
그동안 클린 코드 철학에 따라 주석 없이도 읽히는 명료한 코드를 작성하는 것을 최우선으로 삼았습니다. 하지만 규모가 큰 게임 프로젝트를 진행하면서, 과거에 작성했던 복잡한 로직을 다시 해석하는 데 불필요한 시간이 소요되는 문제를 겪었습니다. 코드가 어떻게(How) 동작하는지를 설명하는 주석은 지양하되, 해당 로직을 작성하게 된 비즈니스적 의도나 배경(Why)을 담은 주석은 장기적인 유지보수에 반드시 필요하다는 사실을 깨달았습니다.