Tabletop Games
Reset Area Setup: 게임 영역 초기화를 위한 구성 요소.
- GameModeManager: 현재 미니 게임의 모드 상태를 관리하는 매니저.
- 다양한 게임 모드(예: Slingshot, Chess)가 포함된 설정.
- 네트워크 오브젝트로 작동하며, 같은 계층 구조에 있는 모든 GameMode 인터페이스를 확인합니다.
- 모든 GameMode 시스템에 필수적인 프리팹(또는 변형)이 씬에 있어야 합니다.
Network Object
- 네트워크에서 Game Mode Manager를 동기화하기 위한 설정.
- Scene Migration Synchronization:
- 씬 간 이동 시 오브젝트 상태를 유지하고 동기화합니다(활성화됨).
- Spawn With Observers:
- 관찰자와 함께 생성됩니다(활성화됨).
Game Mode Manager (Script)
- 이 스크립트는 현재 씬에서 활성화된 Game Mode 인터페이스를 관리합니다.
- GameMode 인터페이스는 게임 모드별로 커스터마이징 가능한 동작을 정의합니다.
Game Mode Empty (Prefab):
기본 게임 모드를 정의하는 프리팹입니다. 별도의 기능이 없는 기본 상태의 게임 모드로 활용됩니다.
Game Mode Empty (Script):
각 게임 모드에 고유 ID를 부여하여 특정 모드를 식별하거나 전환할 때 사용
- GameModeEmpty:
- 게임 모드의 스크립트입니다.
- Game Mode ID:
- 게임 모드를 식별하기 위한 고유 ID. 현재는 0으로 설정되어 있습니다.
.
Game Modes Types
Scene Based Game Modes:
지속적인 데이터가 필요한 경우(예: 진행 상태 저장).
- 메인 네트워크 씬 내에 존재하는 게임 모드.
- 게임 모드 간 데이터를 지속적으로 유지해야 할 때 적합합니다(예: 하나의 게임 모드에서 다른 모드로 데이터 이동).
Game Mode Sandbox
Sandbox Game Mode는 네트워크 환경에서 객체를 생성, 상호작용, 제거할 수 있는 개방형 게임 모드입니다.
이 모드는 Network Object Dispenser 프리팹을 활용하여 플레이어가 물리적으로 상호작용 가능한 객체를 생성하고 조작할 수 있도록 지원합니다.
Network Object Dispenser:
- 플레이어가 네트워크 환경에서 객체를 생성할 수 있는 시스템입니다.
- 생성된 객체는 다른 플레이어와 공유되고, 물리적 상호작용이 가능합니다.
Networked Physics Interactables:
- 물리적 상호작용이 가능한 네트워크 오브젝트입니다.
- 몇 가지 특별한 속성을 가진 오브젝트가 포함됩니다:
- Tube that applies force:
- 물체에 힘을 가하는 튜브.
- Torus that destroys objects:
- 오브젝트를 파괴하는 토러스.
- Tube that applies force:
네트워크 상호작용
- 생성된 오브젝트를 네트워크를 통해 동기화하여 다른 플레이어가 동일한 상태를 경험할 수 있습니다.
Game Mode Slingshot
Slingshot Game Mode는 실시간 협동 및 경쟁이 결합된 게임 모드로, 플레이어가 풍선을 맞추는 것을 목표로 합니다.
이 모드는 네트워크 기반의 세션 게임 모드로서, 명확한 시작과 끝이 있는 구조를 제공합니다.
주요 특징:
- 게임 목표:
- 플레이어는 가능한 한 많은 풍선을 맞춰 점수를 획득해야 합니다.
- 3개의 풍선이 천장에 도달하면 게임이 종료됩니다.
- 게임 방식:
- 협동 모드: 플레이어가 함께 풍선을 맞춰 점수를 쌓습니다.
- 경쟁 모드: 각 플레이어가 개별 점수를 얻기 위해 경쟁합니다.
- 세션 기반 게임:
- 명확한 시작과 끝이 있는 게임 구조를 가집니다.
- 세션이 종료되면 다시 플레이할 수 있도록 재시작이 가능합니다.
Network Object
네트워크 오브젝트 설정
Scene Migration Synchronization:
씬 간 이동 시 오브젝트 상태를 유지하고 동기화합니다 (활성화).
Spawn With Observers:
오브젝트 생성 시 관찰자가 자동으로 연결됩니다 (활성화).
GlobalObjectIdHash:
네트워크 오브젝트의 고유 ID: 3648702335.
NetworkManager:
현재 연결되지 않은 상태 (null).
Target Spawner Script
풍선 스폰 설정:
Target Audio:
오디오 소스 설정: 풍선과 상호작용 시 사운드 재생.
Target Hit Sounds, Bad Destroy Sounds, Spawn Sounds:
다양한 사운드 파일의 수량(3, 1, 4, 5) 지정.
Destroy Colors:
풍선이 파괴될 때의 색상 (아마도 풍선의 상태 시각화와 연관).
Target Prefab:
풍선 프리팹: BalloonTarget 사용.
Spawn Points:
풍선이 스폰될 수 있는 최대 위치 수: 25.
Spawn Interval Min Max:
풍선 스폰 간격: 최소 5, 최대 6.5초.
Game Mode Slingshot Script: 게임 모드와 관련된 주요 설정
Game Mode ID: Slingshot 모드의 고유 ID: 2.
Text Components:
- Time Text: 남은 시간 표시.
- Score Text: 현재 점수 표시.
- Max Time Text: 게임의 최대 시간 표시.
- Max Score Text: 최고 점수 표시.
Text Mesh Pro를 사용하여 텍스트 렌더링.
Difficulty & Multipliers:
Difficulty Spawn Multiplier:
스폰 난이도를 조정하는 곱셈 계수.
Player Count Difficulty Multiplier:
플레이어 수에 따른 난이도 증가 계수: 0.1.
Time Increment:
시간 증가 설정: 15초마다 증가.
Current Life Image:
현재 플레이어 생명을 나타내는 아이콘: Icon-Hearts.
Objects to Toggle:
게임 모드 실행 중 활성화/비활성화되는 오브젝트들(6개 지정).
Slingshot Areas:
게임에서 활성화되는 영역:
- Target Spawner: 타겟(풍선)을 생성.
- Pre Game UI Object: 게임 시작 전 UI.
- In Game UI Object: 게임 중 UI.
- New Score Record Game Object: 새로운 최고 점수 UI.
Additively Loaded Game Modes:
독립적인 데이터 및 메모리 관리가 필요한 경우(예: 임시 게임 환경)
- 개별 씬으로 로드 및 언로드되는 게임 모드.
- 메모리 관리에 유리하며, 공유된 씬 내에서 지속 데이터를 유지하지 않습니다.
- 기존 테이블톱 게임을 이 템플릿에 포팅할 때 용이합니다.
Game Mode Chess
설정 및 기능 분석
- 네트워크 동기화:
- Scene Migration Synchronization 및 Spawn With Observers가 활성화되어 있어, 네트워크 환경에서 체스 게임 오브젝트 상태가 안정적으로 유지됩니다.
- Transform 동기화는 비활성화되어 있으므로, 체스 보드나 말의 위치는 네트워크와 독립적으로 관리될 가능성이 있습니다.
- 독립적인 씬 관리:
- 체스 게임은 독립적인 씬(SlicesChess)으로 로드되며, Additively Loaded Game Mode 방식을 사용합니다.
- 다른 모드와 분리된 독립 실행형 게임으로 설계되어 있습니다.
- 게임 데이터 초기화:
- 새로운 씬을 로드하면 이전 게임의 진행 상태가 초기화되며, 이는 체스 게임의 Additive 특성에 적합합니다.
Network Object
네트워크 동기화 및 오브젝트 설정
- Always Replicate As Root: 비활성화: 오브젝트가 항상 루트로 동작하지 않음.
- Synchronize Transform: 비활성화: Transform(위치, 회전, 크기)이 네트워크를 통해 자동으로 동기화되지 않음.
- Active Scene Synchronization: 비활성화: 현재 씬의 활성 상태 동기화를 하지 않음.
- Scene Migration Synchronization: 활성화: 씬 이동 시 네트워크 오브젝트 상태를 유지 및 동기화.
- Spawn With Observers: 활성화: 관찰자가 자동으로 생성될 때 오브젝트와 함께 동기화.
- Dont Destroy With Owner: 비활성화: 오너가 삭제되면 해당 오브젝트도 삭제됨.
- Auto Object Parent Sync: 비활성화: 부모 오브젝트와의 동기화 비활성화.
- Sync Owner Transform When Removed: 비활성화: 오너가 제거될 때 Transform 동기화하지 않음.
- Allow Owner To Parent: 비활성화: 오너가 부모 역할을 허용하지 않음.
- NetworkManager: null: 특정 네트워크 매니저가 연결되지 않은 상태.