1. GameMode 추정 (규칙과 흐름의 주체)
- 승리/패배 조건:
- 승리: 1층 로비 탈출구(Actor)에 도달하여 상호작용 성공 시 승리. (기억 파편 보유량에 따라 엔딩 데이터 분기 처리)
- 패배: 플레이어 캐릭터(Alfred)의 HP가 0이 될 때.
- 스폰 규칙: 각 층(Level) 시작 시 PlayerStart 위치에 플레이어 배치.
- 게임 시작/종료 로직: 층 전환(Level Streaming) 시 페이드 인/아웃 처리 및 현재 층의 진행 데이터(수집한 재료 등)를 GameInstance에 임시 저장.
- 담당 규칙: GameMode는 "현재 몇 층인가?", "탈출 조건이 충족되었는가?"를 판단하며, 플레이어가 몬스터를 처치할 때마다 획득한 '기억 점수'를 계산하여 전체 게임의 상태를 조율합니다.
2. GameState 추정 (상태 정보의 공유)
HUD에 표시되는 모든 실시간 데이터는 GameState의 변수로부터 업데이트됩니다.
- HUD 표시 데이터 목록:
- 현재 층수: CurrentFloor (Integer)
- 배터리 잔량: FlashlightBattery (Float, 0~100)
- 체력, 배고픔, 목마름: CurrentHealth, Hunger, Thirst(Float, 0~100)
- 보유 자원: Resource_Wood, Resource_Iron (Integer), Food (Integer), Water(Integer)
3. Actor 목록 + Component 추정 (오브젝트 설계)
게임 내 존재하는 핵심 액터들과 이를 구성하는 부품들입니다.
| Actor (액터) | 필수 Component (컴포넌트) |
| BP_OblivioCharacter (플레이어) | SpringArm, Camera, SpotLight, CharacterMovement, Inventory, Crafting, Sound Propagation |
| BP_Flashlight (아이템) | StaticMesh, LightAttackComponent |
| BP_FlashBang | StaticMesh, LightAttack, SoundPropagation |
| BP_Flare | StaticMesh, LightAttack, SoundPropagation |
| BP_CraftingBox | StaticMesh |
| BP_CraftingFire | StaticMesh, FireLight, Effect Range |
| BP_CraftingFloorSpike | StaticMesh, DamageArea |
| BP_CraftingReflector | StaticMesh, ReflectedLight |
| BP_CraftingSoundDecoy | StaticMesh, AudioComponent |
| BP_Key | ItemMesh, Interaction Sphere |
| BP_BasicEnemy | CapsuleComponent, Arrow, Mesh, Combat, CharacterMovement |
4. AI 행동 분석 (Behavior Tree 추정)
가장 위협적인 적 중 하나인 '절름발이 추적자 (Stalker)'의 행동 패턴
- 패턴 1: 소리 추적 (Sound Tracking) - 플레이어가 뛰거나 벽을 설치하는 소리가 반경 내에서 감지되면 해당 지점으로 급격히 이동.
- 패턴 2: 매복 (Ambush) - 플레이어의 시야(Flashlight)가 닿지 않는 어두운 코너나 장애물 뒤에서 대기.
- 패턴 3: 빛 회피 (Light Avoidance) - 강력한 빛에 노출되면 눈이 멀어 괴로워하며 근처 어둠 속으로 도망친 후 재정비.
[Behavior Tree 구조 추정]
- Selector (최상위):
- Sequence (빛 노출 시): IsLightHitted? → PlayStunAnim → FindDarkSpot → MoveTo
- Sequence (소리 감지 시): IsSoundDetected? → UpdateTargetLocation → MoveTo → CheckArea
- Sequence (기본 순찰): PatrolPath → Wait → FindNextPoint