Table of Contents

Game Flow

Framework를 사용하는 게임의 전체 실행 흐름이다.

Application 시작
  v
RootBootstrap.Initialize() (자동, BeforeSceneLoad)
  v
RootScope 인스턴스화 (Resources 로드 + DontDestroyOnLoad)
  v
VContainer ContainerBuilder.Build() - 전체 System DI 등록
  v
RegisterBuildCallback - TickSystem/AudioSystem/TimeSystem/Diagnostics/Stat 연결
  v
(Editor/Development Build) RuntimeStartupValidator.Validate()
  v
Title Scene (SceneSystem)
  v
Localization 초기화 (SelectSystemLocaleAsync)
  v
Main Menu (UISystem Navigation)
  v
Loading (AssetSystem Preload + SceneSystem)
  v
Game Scene
  v
Player 스폰 (AssetSystem + DI Instantiate)
  v
Gameplay Loop (TickSystem, StatSystem, EffectSystem, AudioSystem, CameraSystem)
  v
Save (체크포인트/수동저장)
  v
Scene 전환 (다음 스테이지 또는 메인메뉴 복귀)
  v
게임 종료

단계별 설명

  • RootBootstrap ~ RuntimeStartupValidator: 04_Dependency_Injection, 02_Project_Setup 참고. 게임 코드가 개입할 필요 없이 자동 실행된다.
  • Title ~ Main Menu: 09_SceneSystem, 12_UISystem, 11_Localization 참고.
  • Loading: AssetSystem으로 다음 씬에 필요한 에셋을 미리 로드(PreloadAsync)한 뒤 SceneSystem으로 전환한다.
  • Gameplay Loop: 여러 System이 동시에 관여한다 - TickSystem(주기 로직), StatSystem(수치), EffectSystem(연출/상태), AudioSystem(사운드), CameraSystem(카메라). System 간 조합은 Game Layer Adapter가 담당한다 (23_Project_Architecture 참고).
  • Save: 10_SaveSystem 참고. Result를 반드시 확인한다.
  • 게임 종료: 저장 후 종료, 열려있는 Asset 핸들은 ReleaseAll로 정리한다.

이전 문서

26_First_Game_Tutorial.md, SampleGuide.md