Skip to content

Latest commit

 

History

752 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

아이들시티

도로를 설계하고 교통의 흐름을 다듬으며, 작은 마을을 살아 움직이는 도시로 성장시키는 방치형 도시 교통 시뮬레이션 게임

아이들시티는 프로젝트 팀 초록불이 개발한 Unity 기반 도시 건설 게임입니다. 플레이어는 도로와 건물을 배치하고, 신호등과 회전교차로를 조율해 시민들의 출퇴근과 도시의 교통 흐름을 관리합니다. 원활한 교통은 도시의 성장과 수익으로 이어지고, 정체된 도시는 플레이어의 새로운 설계를 요구합니다.

플레이 영상

Google Drive에서 아이들시티 플레이 영상 보기

게임 특징

직접 설계하는 도시 교통

  • 도로를 이어 주거지, 회사, 상업 및 공공시설을 연결합니다.
  • 신호등의 방향과 주기를 조절해 교차로의 흐름을 개선합니다.
  • 회전교차로, 일방통행, 버스 정류장 등 다양한 교통 시설을 활용합니다.
  • 차량은 도로 구조, 신호, 앞차와의 간격을 반영해 목적지까지 이동합니다.

살아 움직이는 도시

  • 시민의 출퇴근 차량과 시내버스, 통학버스가 같은 도로 위에서 운행됩니다.
  • 병원의 구급차와 경찰서의 순찰차가 도시의 도로망을 이용합니다.
  • 건물과 교통 상태에 따라 인구, 경제, 퀘스트와 시민 반응이 변화합니다.
  • 교통이 원활해지면 Flow Burst가 발생해 도시의 성장을 가속합니다.

성장하는 대형 월드

  • 200x200 크기의 논리 월드를 20x20 청크 단위로 관리합니다.
  • 게임 진행에 따라 새로운 도시 영역과 콘텐츠가 단계적으로 해금됩니다.
  • 필요한 영역만 시각화하고 청크 단위로 경로를 탐색해 대형 맵의 처리 비용을 줄였습니다.

방치형 진행과 저장

  • 차량 운행으로 누적된 수익을 HARVEST하여 도시 성장에 사용합니다.
  • 연구와 퀘스트를 통해 새로운 시설과 기능을 해금합니다.
  • 자동 저장과 수동 저장 슬롯, 미리보기 및 백업 복원을 지원합니다.
  • 작은 플로팅 창으로 전환해 도시의 흐름을 계속 지켜볼 수 있습니다.

핵심 기술 구조

도시 상태와 교통 시뮬레이션
            |
            v
    이벤트 및 서비스 계약
       /            \
      v              v
게임플레이 시스템    View / UI
      |
      v
독립 SaveData 스냅샷 -> JSON 저장 및 복원
  • 시뮬레이션과 화면 표현을 분리해 차량 개별 GameObject에 핵심 상태를 의존하지 않습니다.
  • 도로 경로를 미리 계산하고 차량 View가 시뮬레이션 결과를 따라가도록 구성했습니다.
  • 각 기능은 공용 서비스, 인터페이스와 이벤트로 연결됩니다.
  • 저장 시 각 시스템이 필요한 상태만 스냅샷으로 제공하고, 파생 상태는 복원 후 재구성합니다.

기본 조작

입력 동작
마우스 좌클릭 UI 선택, 시설 배치, 차량 선택
좌클릭 드래그 도로 및 일반 시설 연속 배치
마우스 우클릭 배치 취소 또는 시설 철거
우클릭 드래그 도로 및 일반 시설 연속 철거
마우스 휠 카메라 확대 및 축소
휠 버튼 드래그 카메라 이동
Tab 탑다운뷰와 아이소메트릭뷰 전환
1, 2, 3 플로팅 창 S, M, L 크기 전환
ESC 주행 카메라 또는 열린 UI 종료

일반 상태에서 차량을 클릭하면 해당 차량을 따라가는 주행 카메라로 전환됩니다.

개발 환경

  • Unity 6000.5.2f1
  • Universal Render Pipeline 17.5.0
  • Unity Input System 1.19.0
  • Unity Addressables 2.9.1
  • C# / uGUI / TextMeshPro

프로젝트 실행 시 참고

상용 및 외부 배포 에셋은 라이선스와 저장소 용량 관리를 위해 Assets/99_Download에서 별도로 관리하며 GitHub에는 포함하지 않습니다. 깨끗한 체크아웃에서 프로젝트를 실행하거나 빌드하려면 팀이 공유하는 동일한 외부 에셋과 폰트가 필요할 수 있습니다.

팀 초록불

팀원
한준희
김강환
김건
한주석
이진우

프로젝트 상태

아이들시티는 팀 프로젝트로 제작된 개발 버전입니다. 기능, UI, 밸런스와 콘텐츠는 개발 과정에서 변경될 수 있습니다.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages