확률 기반 육각 주사위 전투 게임 HEX//FATE
HEX//FATE는 Unity로 개발한 1:1 턴제 주사위 전투 게임입니다. 플레이어는 빛을 소모해 서로 다른 범위와 효과를 가진 주사위를 굴리고, 확정된 숫자만큼 적에게 피해를 줍니다. 단순한 무작위 피해에 그치지 않고 행동 취소, 흐트러짐, 감정 단계, 적 각성과 특수기까지 하나의 턴 흐름으로 연결했습니다.
특히 낮은 확률로 등장하는 특수값에 강한 시각 연출과 전략적 보상을 부여하고, 안정적인 자원 운영과 고위험 필살기 사이에서 선택하도록 구성한 프로젝트입니다.
빛을 계산하고, 감정을 쌓고, 단 한 번의 숫자로 상대의 턴을 끊는 육각 주사위 전투.
프로젝트 개요
- 개발 형태: 개인 프로젝트
- 개발 목적: 확률, 자원, 성장, 상태 이상이 서로 영향을 주는 턴제 전투 시스템 구현
- 핵심 플레이: 주사위 선택, 빛 관리, 감정 단계 성장, 흐트러짐 유도, 각성한 적의 패턴 대응
- 플레이어: 최대 HP 238, 시작 HP 60, 빛 3에서 시작
- 보스: HP 700, HP 절반에서 각성, 각성 전후로 공격 주사위와 흐트러짐 저항 변화
- 사용 기술: Unity 6, C#, Coroutine, IMGUI 기반 런타임 UI
주요 기능
주사위와 빛 자원
기본 1~4 주사위는 빛 4를 소모하고, 보조 2~7 주사위는 사용 시 빛을 회복합니다. 감정 5단계에서는 빛 8을 소모하는 전용 1~6 주사위가 열립니다. 강한 선택일수록 이후 턴의 빛 수급을 제한해 순간 화력과 장기 운영 사이에 명확한 비용을 두었습니다.
| 주사위 | 비용/수급 | 특수 효과 |
|---|---|---|
| 1~4 | 빛 4 소모 | 4가 나오면 50 피해 및 상대 행동 취소 |
| 2~7 | 빛 1 수급 | 자원 회복을 위한 보조 공격 |
| 감정 5 · 1~6 | 빛 8 소모 | 6이 나오면 고정 444 피해 |
4에서 시작되는 처형 연출
기본 주사위에서 4가 나오면 상대 위에 검은 원과 死 표식이 나타납니다. 붉은 참격이 상대를 가른 뒤 +46이 4와 합쳐져 50이 되고, 해당 턴의 상대 행동을 취소합니다. 숫자의 변화가 실제 전투 규칙과 시각적으로 연결되도록 구현했습니다.
감정 단계와 행동 확장
공격 및 방어 주사위를 굴릴 때 감정 코인을 얻습니다. 요구량은 3 / 3 / 5 / 7 / 9 / ∞이며, 단계 상승은 행동 중이 아니라 턴 종료 시에만 정산됩니다. 단계가 오르면 최대 빛이 증가하고 빛을 전부 회복하며, 감정 4부터는 플레이어 행동 횟수가 2회로 늘어납니다.
공격 위력과 회복이 증가하는 대신 받는 피해도 증가합니다.
방어 주사위 위력이 증가합니다.
HP를 대가로 빛을 회복하는 감정 스킬이 열립니다.
추가 행동과 전용 필살기를 얻지만 디메리트도 강화됩니다.
흐트러짐과 보스 각성
상대가 받은 피해만큼 흐트러짐 저항도 감소합니다. 저항이 0이 되면 상대는 행동할 수 없고 다음 공격 피해를 2배로 받습니다. 상대는 HP 350 이하에서 각성하며, 흐트러짐 저항이 60에서 240으로 증가하고 공격이 10 또는 39 단타로 변경됩니다. 각성 공격은 방어와 0.75 내성을 무시합니다.
상대 감정 단계와 특수기
상대도 주사위를 굴릴 때 감정 코인을 얻고, 모든 단계에서 5개의 코인을 요구합니다. 감정 4부터는 3턴마다 일반 공격보다 먼저 다음 특수기 중 하나를 무작위로 사용합니다.
- 랜턴: 10~14 피해. 적중 시 다음 플레이어 턴의 4·6 특수 위력 증가를 무효화합니다.
- 종말: 20~35 피해. 보스가 반피라면 위력 +8, 플레이어가 반피라면 피해량 50% 증가.
- 유스티티아: 10~15를 굴리고 최종값만큼 플레이어 최대 HP 비율 피해를 줍니다.
감정 5 필살기 — 444
감정 5 전용 주사위에서 6이 나오면 +438이 더해져 444가 됩니다. 상대 위에 死 표식을 띄운 뒤 서로 다른 각도의 붉은 참격 44개가 연속으로 지나갑니다. 이 피해는 위력 보너스와 흐트러짐 배율을 무시하고 항상 정확히 444로 적용됩니다.
숨겨진 게임 모드
초기 주사위의 물음표를 클릭하면 일반 플레이에서는 보이지 않는 네 가지 모드를 선택할 수 있습니다.
- 도박 모드: 최소 또는 최대값만 등장하며 최소값이면 HP 7 피해
- 사기 모드: 주사위가 항상 최대값으로 확정
- Double or Nothing: 70% 성공마다 저장 위력이 1→2→4→8로 증가하고 실패하면 1로 초기화
- 운빨 시험: HP 1, 무한 HP의 상대, 비용 없는 1~4 주사위로 연속 4 최고 기록에 도전
구현 포인트
- 턴 상태 제어: 플레이어 굴림, 추가 행동, 상대 행동, 감정 단계 정산, 빛 회복을 Coroutine 순서로 제어했습니다.
- 런타임 UI: 화면 높이 비율을 기준으로 전투 영역과 조작 영역을 분리하고 해상도에 따라 크기를 자동 보정했습니다.
- 절차적 그래픽: 육각형, 원, 체력 바, 참격과 44연참을 별도 이미지 없이 GUI 선과 면으로 생성했습니다.
- 전투 데이터: HP, 빛, 감정 코인, 흐트러짐, 각성, 행동 취소와 위력 무효화를 독립 상태로 관리했습니다.
- 디버그 도구: PC에서 백쿼트 키를 0.5초 안에 5번 누르면 다음 플레이어·상대·방어 주사위 값을 강제할 수 있는 패널이 열립니다.
- 재도전: 씬을 다시 로드하지 않고 전투 상태를 직접 초기화해 실행 환경과 관계없이 바로 재시작할 수 있게 했습니다.
기술 스택
프로젝트를 통해 배운 점
이 프로젝트를 통해 무작위 숫자 하나도 자원, 행동 횟수, 성장 단계, 상태 이상과 연결하면 충분한 전략적 의미를 만들 수 있다는 점을 확인했습니다. 확률이 높은 선택이 항상 유리하지 않도록 기대 피해뿐 아니라 다음 턴의 빛 수급과 상대 행동 가능성까지 함께 비교하며 밸런스를 조정했습니다.
또한 연출이 규칙을 설명하는 수단이 될 수 있다는 점을 배웠습니다. 4가 50으로 합쳐지는 과정, 흐트러짐 게이지, 각성 색상 변화, 444의 44연참을 통해 플레이어가 별도의 설명을 읽지 않아도 결과의 크기와 상태 변화를 느낄 수 있도록 구성했습니다.

