소울라이크 전투 시스템

BACKEND · AI · SYSTEM CASE STUDY

회피·스태미나·콤보·hitbox timing·보스 AI를 상태 기반으로 구성한 4인 Unity 팀 프로젝트입니다.

역할 4인 팀 · 전투 조작감/피격/스태미나/연출검증 교과 팀 프로젝트

주요 화면

모바일 조작 화면에서 플레이어의 회피·스태미나·연속 공격과 보스의 패턴 전투를 한 흐름으로 구성했습니다. 전투 장면에서는 체력 UI와 공격 이펙트가 실제 판정 시점과 함께 동작합니다.

보스와 근접 전투를 진행하는 모바일 게임 화면

경기장에서 전투 시스템을 확인하는 플레이 화면

트러블 슈팅

1. 공격 판정과 animation timing이 어긋나 유효 타격이 불분명

hitbox lifecycle을 animation event와 연결했습니다.

2. 피격·스태미나 처리가 여러 스크립트에서 중복

최근 커밋에서 combat hit와 stamina 흐름을 정리했습니다.

3. 대형 Unity Library가 저장소에 포함

외부 asset과 생성 파일 범위를 문서화하고 metadata를 정리했습니다.

기술 선택과 이유

기술선택 이유
Combat state공격·회피·피격 중 허용되는 입력을 명확히 제한하기 위해
Stamina무한 회피·공격을 막고 위험/보상의 리듬을 만들기 위해
Animation hitbox timing보이는 무기 궤적과 실제 damage 판정을 맞추기 위해
Cinemachine · VFX보스 공격 범위와 피격 결과를 즉시 읽게 하기 위해

검증 결과

  • 회피 후 반격·콤보·보스 범위 공격의 핵심 전투 loop를 구현했습니다.
  • 2022 초기 구현에서 2026 전투 hit/stamina 리팩터링까지 개선 이력이 남아 있습니다.

시스템 흐름

소울라이크 전투 시스템 시스템 흐름

  1. 입력을 attack/dodge 명령으로 변환합니다.
  2. combat state와 stamina가 실행 가능 여부를 결정합니다.
  3. animation event가 hitbox 활성 시간을 엽니다.
  4. Enemy AI가 거리와 상태에 따라 공격을 선택합니다.
  5. collision이 damage·stagger를 계산합니다.
  6. camera·sound·VFX가 결과를 피드백합니다.

API · 시스템 경계

영역API/계약책임
Inputattack/dodge명령
Statestamina/combo전투 규칙
Hitanimation event + collider판정
Feedbackcamera/VFX/sound결과 전달

다음 구현 계획

  • state machine과 animation graph의 테스트 가능한 경계 분리
  • damage frame·input latency 계측
  • 보스 패턴별 playtest telemetry
황선우
황선우
Backend · AI Service · Edge-AI Engineer

Spring Boot를 주력으로 서비스를 개발하고, 프로젝트 성격에 맞춰 FastAPI·NestJS·Node.js를 활용합니다. Unity 게임과 AI 모델까지 다루며 창의적이고 편리한 기능을 만드는 데 관심이 있습니다.