Skip to content

bimvocado/Unknown

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🕵️‍♂️ [UNKNOWN] (Turn-Based Psychological Multiplayer Game)

**[Unknown]**은 Photon PUN 2를 활용하여 개발된 2D 턴제 심리전 멀티플레이 게임입니다. 서로의 목표를 모르는 상태에서 상대의 이동 경로를 예측하고, 포탈과 타일 봉쇄(Block)를 활용해 상대를 방해하거나 나의 미끼(Decoy)를 물도록 유도하는 치열한 두뇌 싸움 게임입니다.


🎮 주요 기능 및 특징 (Key Features)

🧠 정보의 비대칭성과 심리전

  • 플레이어는 매 라운드 무작위로 방문 목표 2개미끼 목표 1개를 부여받습니다.
  • 상대방의 목표는 내 화면에 표시되지 않습니다. 상대의 움직임을 보고 목표를 예측해야 합니다.
  • 상대방이 나의 '미끼 목표'를 봉쇄하도록 유도하면 추가 보너스 점수(20점)를 획득합니다.

🧱 전략적 봉쇄 (Block) & 🌀 포탈 (Portal)

  • 봉쇄(Block): 라운드당 2번, X 키를 눌러 특정 타일을 영구적으로 봉쇄할 수 있습니다.
  • 포탈: 맵에 생성된 포탈을 타면 반대편 포탈로 순간이동하여 맵을 넓게 활용하고 변수를 창출할 수 있습니다.

⏱️ 3라운드 다전제 시스템 (Best of 3)

  • 라운드당 **15턴(턴당 15초)**으로 진행됩니다.
  • 15턴이 모두 소진되면 씬(Scene)의 재로딩 없이 즉각적으로 맵의 장애물이 초기화되며 다음 라운드가 시작됩니다. (점수는 누적)
  • 고립되었을 경우 대기 시간을 줄여주는 'Turn Pass (턴 넘기기)' 시스템이 구현되어 있습니다.

🌐 실시간 멀티플레이어 (Multiplayer)

  • Photon PUN 2를 이용해 로비/룸 시스템을 구현하였으며, RPC 통신을 통해 양쪽 클라이언트의 턴, 타이머, 이동 로직, 맵 상태를 지연 없이 완벽하게 동기화합니다.

🛠️ 기술 스택 (Tech Stack)

  • Engine: Unity (202X.X.Xf1) * Language: C#
  • Network: Photon PUN 2
  • Library: DOTween (부드러운 이동 애니메이션 구현)

⚙️ 주요 시스템 아키텍처 (Architecture)

각각의 매니저(Manager) 스크립트가 역할을 철저히 분담하여 로직이 엉키지 않도록 설계했습니다.

  • GameManager: 턴 진행, 타이머, 3라운드 다전제 흐름 및 승패 판정 통제
  • MapManager: 좌표계(Grid)를 기반으로 플레이어의 이동 가능 여부, 포탈 도착지 계산, 봉쇄된 타일(Dictionary 활용) 데이터 메모리 관리
  • GoalManager: 목표(Goal) 좌표 랜덤 셔플 및 분배, 비대칭 UI 동기화 처리
  • PlayerMove: 로컬 권한(IsMine) 검증 후 RPC 통신을 통한 양방향 이동/봉쇄 동기화 및 코루틴(Coroutine)을 활용한 AI(봇) 로직 구현

🕹️ 조작 방법 (Controls)

  • 이동: W, A, S, D 또는 방향키 (설정창에서 커스텀 가능)
  • 봉쇄 모드 진입/해제: X 키 (토글 방식)
  • 봉쇄 확정: 봉쇄 모드 중 마우스 좌클릭
  • 설정창 열기: ESC 키 (전체화면, 해상도 4K 지원, 볼륨 조절)

💡 트러블 슈팅 & 최적화 (Troubleshooting)

  • 채팅 중 조작 꼬임 방지: EventSystem을 활용하여 UI(InputField) 입력 중에는 캐릭터 이동 로직(WASD)을 방어(Return)하도록 예외 처리.
  • 라운드 전환 최적화: 매 라운드마다 맵을 다시 로드(LoadScene)하지 않고, Dictionary에 매핑된 봉쇄 프리팹만 Destroy 및 초기화하여 오버헤드 최소화.
  • 통신 최적화: 타일 생성(Instantiate)을 서버에서 직접 동기화하지 않고, '좌표' 데이터만 가볍게 RPC로 전달하여 각 클라이언트에서 동시에 함수를 실행시키는 명령 동기화 방식 채택.

About

정보 비대칭 시스템으로 심리전의 재미를 극대화한 2D 턴제 멀티플레이 게임. 타일 봉쇄와 포탈 기믹을 활용한 3라운드 다전제 룰을 적용했으며, Photon PUN 2를 이용해 쾌적한 네트워크 동기화를 구현했습니다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages