유니티

,

작품

HEX//FATE

확률 기반 육각 주사위 전투 게임 HEX//FATE

라오루의 사경 따라한거 맞습니다

HEX//FATE는 Unity로 개발한 1:1 턴제 주사위 전투 게임입니다. 플레이어는 빛을 소모해 서로 다른 범위와 효과를 가진 주사위를 굴리고, 확정된 숫자만큼 적에게 피해를 줍니다. 단순한 무작위 피해에 그치지 않고 행동 취소, 흐트러짐, 감정 단계, 적 각성과 특수기까지 하나의 턴 흐름으로 연결했습니다.

특히 낮은 확률로 등장하는 특수값에 강한 시각 연출과 전략적 보상을 부여하고, 안정적인 자원 운영과 고위험 필살기 사이에서 선택하도록 구성한 프로젝트입니다.

UNITY 6 · C# · PERSONAL PROJECT HEX//FATE

빛을 계산하고, 감정을 쌓고, 단 한 번의 숫자로 상대의 턴을 끊는 육각 주사위 전투.

프로젝트 개요

  • 개발 형태: 개인 프로젝트
  • 개발 목적: 확률, 자원, 성장, 상태 이상이 서로 영향을 주는 턴제 전투 시스템 구현
  • 핵심 플레이: 주사위 선택, 빛 관리, 감정 단계 성장, 흐트러짐 유도, 각성한 적의 패턴 대응
  • 플레이어: 최대 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회로 늘어납니다.

감정 1

공격 위력과 회복이 증가하는 대신 받는 피해도 증가합니다.

감정 2

방어 주사위 위력이 증가합니다.

감정 3

HP를 대가로 빛을 회복하는 감정 스킬이 열립니다.

감정 4~5

추가 행동과 전용 필살기를 얻지만 디메리트도 강화됩니다.

흐트러짐과 보스 각성

상대가 받은 피해만큼 흐트러짐 저항도 감소합니다. 저항이 0이 되면 상대는 행동할 수 없고 다음 공격 피해를 2배로 받습니다. 상대는 HP 350 이하에서 각성하며, 흐트러짐 저항이 60에서 240으로 증가하고 공격이 10 또는 39 단타로 변경됩니다. 각성 공격은 방어와 0.75 내성을 무시합니다.

각성 후 추가 압박 상대가 한 턴에 30 이상의 피해를 주지 못하면 자신의 흐트러짐 저항이 120 감소합니다. 플레이어가 4로 행동을 취소한 턴도 피해량 0으로 판정합니다.

상대 감정 단계와 특수기

상대도 주사위를 굴릴 때 감정 코인을 얻고, 모든 단계에서 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번 누르면 다음 플레이어·상대·방어 주사위 값을 강제할 수 있는 패널이 열립니다.
  • 재도전: 씬을 다시 로드하지 않고 전투 상태를 직접 초기화해 실행 환경과 관계없이 바로 재시작할 수 있게 했습니다.

기술 스택

Unity 6C#2D URPCoroutineIMGUIProcedural UIResponsive Layout

프로젝트를 통해 배운 점

이 프로젝트를 통해 무작위 숫자 하나도 자원, 행동 횟수, 성장 단계, 상태 이상과 연결하면 충분한 전략적 의미를 만들 수 있다는 점을 확인했습니다. 확률이 높은 선택이 항상 유리하지 않도록 기대 피해뿐 아니라 다음 턴의 빛 수급과 상대 행동 가능성까지 함께 비교하며 밸런스를 조정했습니다.

또한 연출이 규칙을 설명하는 수단이 될 수 있다는 점을 배웠습니다. 4가 50으로 합쳐지는 과정, 흐트러짐 게이지, 각성 색상 변화, 444의 44연참을 통해 플레이어가 별도의 설명을 읽지 않아도 결과의 크기와 상태 변화를 느낄 수 있도록 구성했습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다