Unity 6 모바일 전투 게임 개발

FrostyBrawlerGo!

캐릭터의 전투 방식을 바꾸는 능력을 선택합니다.

여기서 검토한 Frosty Brawler Go! 버전의 유일한 Unity/C# 개발자였습니다. 게임 속 60일 여정, 자동 턴제 전투, 레벨이 오를 때마다 세 가지 능력 중 하나를 선택하는 구조를 설계하고 프로그래밍했습니다. 이 능력들은 공격을 추가하거나 기존 공격을 바꾸거나 캐릭터의 전투 능력치를 높입니다.

제 역할과 팀의 기여

제가 게임을 프로그래밍했습니다.
팀은 아트, 오디오와 디자인 의견을 제공했습니다.

저는 Unity/C# 프로그래밍을 담당했습니다. 팀이 아트, 오디오와 게임 디자인 의견을 제공했습니다.

제가 맡은 책임

Unity 게임플레이와 지원 코드

여정, 전투, 능력, 공격, 상태 효과, 적과 화면 동작을 개발했습니다. 캐릭터 애니메이션을 게임플레이에 맞추는 재사용 가능한 시스템도 만들고, 게임 서비스를 연결하고, 개발 중 코드를 수정하고, Android 실행 버전의 생성 설정을 구성했습니다.

팀 기여

아트, 오디오와 게임 디자인 의견

팀이 시각 요소, 오디오와 게임 디자인 의견을 제공했습니다. 저는 이를 Unity 게임으로 프로그래밍하고 개발 과정에서 코드를 유지보수했습니다.

여정의 진행 방식

실제로 작동하는 능력은 다음 전투를 바꿀 수 있습니다.

여정 중 사건, 자동 전투와 능력 선택은 모두 같은 캐릭터에 영향을 줍니다. 플레이어가 진행하면서 내리는 선택에 따라 캐릭터의 공격, 효과와 능력치가 바뀝니다.

  1. 01

    여정

    하루 진행

    매일 이야기 메시지, 능력치 변화, 경험치, 회복 또는 전투가 발생합니다. 여정 기록에 각 사건의 결과가 남습니다.

  2. 02

    전투

    전투 처리

    플레이어와 적의 공격 대기열은 제어된 턴에 실행됩니다. 피해, 방어 상태, 주기적 효과, 사망 및 부활 결과를 완료한 뒤 여정이 이어집니다.

  3. 03

    능력 선택

    세 가지 중 하나 선택

    레벨이 오를 때마다 플레이어는 세 가지 능력 중 하나를 선택합니다. 현재 여정에서 공격을 추가하거나, 적용 가능한 검 공격을 바꾸거나, 전투 능력치를 높일 수 있습니다.

  4. 04

    빌드

    이후 전투에서 새 능력 사용하기

    새 공격, 효과 또는 능력치 변화는 캐릭터의 현재 능력에 더해집니다. 여정이 어려워질수록 전투 방식도 달라집니다.

능력들이 함께 작동하는 방식

구현된 능력이 캐릭터의 현재 공격과 능력치를 바꿉니다.

게임은 재사용 가능한 능력의 기본 정의에서 시작합니다. 구현된 업그레이드는 현재 여정에 쓰는 사본을 바꾸고, 전투 시스템은 각 행동을 순서대로 실행합니다.

  1. 01

    능력 선택하기

    능력 선택

    게임은 Unity ScriptableObjects에 저장된 능력 정의에서 세 가지 선택지를 뽑습니다.

  2. 02

    변경 적용

    추가 또는 수정

    구현된 능력은 공격을 추가하거나, 적용 가능한 검 공격에 효과를 더하거나, 캐릭터의 능력치를 바꿉니다.

  3. 03

    현재 여정

    여정마다 별도의 사본 생성

    게임은 현재 여정에서 변경할 수 있도록 공격과 효과의 기본 정의를 복사합니다.

  4. 04

    전투 결과

    각 행동을 순서대로 처리

    턴은 공격, 확률, 상태 지속 시간, 방어 및 정리를 예측 가능한 순서로 처리합니다.

03

능력이 캐릭터를 바꾸는 세 가지 방식

공격 추가

매 턴에 공격을 추가합니다.

화염과 뇌우 업그레이드는 캐릭터가 이미 가진 공격 뒤에 새로운 공격을 추가합니다.

  • 기본 검 공격
  • 화염 공격
  • 뇌우 공격

무기 수정

검이 할 수 있는 일을 바꿉니다.

치명타, 독, 빙결 업그레이드는 캐릭터가 가진 검 공격 중 적용 가능한 공격에 해당 효과를 더합니다.

  • 치명타 확률 및 피해량
  • 시간에 따른 독 피해
  • 빙결 / 공격 건너뜀

이번 플레이를 변화시키기

체력, 공격력 또는 방어력을 높입니다.

체력, 최대 체력, 공격력 및 방어력 업그레이드는 여정 이벤트와 적 능력치 증가에도 쓰이는 동일한 매개변수 모델에 반영됩니다.

  • 체력 및 최대 체력
  • 기본 공격
  • 방어력

능력에 재사용 가능한 코드를 쓰는 이유

전투 시스템을 다시 작성하지 않고 능력을 추가합니다.

각 능력은 특정한 변화를 만듭니다. 공격을 추가하거나, 적용 가능한 효과를 붙이거나, 능력치를 바꿉니다. 공통 전투 코드는 계속해서 타이밍, 목표와 각 행동의 종료를 관리합니다. 이렇게 하면 능력을 추가하고 서로 어떻게 작동하는지 이해하기가 쉬워집니다.

게임 지원 시스템

능력은 여정의 다른 부분과 연결됩니다.

여정 중 사건, 전투와 플레이어 진행 정보가 지금까지의 결과와 다음 단계를 추적합니다. 별도의 재사용 가능한 시스템이 인벤토리와 저장 데이터를 처리합니다.

여정 중 사건

게임 속 60일 여정.

진단한 빌드는 매개변수 이벤트 21개, 전투 13개, 경험치 이벤트 13개, 이야기 메시지 11개 및 회복 이벤트 2개를 하나의 여정으로 배치합니다.

  • 날짜별 경로
  • 이벤트 기록
  • 경험치 및 레벨
  • 완료 / 패배

전투 시스템

턴, 적과 일시적인 효과를 관리합니다.

플레이어와 적 코루틴은 날짜에 따라 강해지는 다섯 가지 적 유형 전반에서 공격 대기열, 대상, 피해, 활성 효과 및 정리를 조율합니다.

  • 구체적인 공격 여섯 가지
  • 상태 효과 세 가지
  • 일일 1.5% 증가
  • 부활 흐름

인벤토리와 저장

별도 시스템이 아이템과 저장 데이터를 관리합니다.

별도의 인벤토리 모듈은 고정형·동적·무제한 컨테이너, 쌓기와 정렬, 백업 및 무결성 검사가 포함된 로컬 JSON 저장을 지원합니다. 아이템 데이터에는 희귀도와 효과 정의가 포함되지만, 장비 보너스는 실제 전투 루프에 연결되어 있지 않습니다.

  • 고정형 · 동적 · 무제한 컨테이너
  • 쌓기 및 정렬
  • 희귀도 및 효과 정의
  • 저장 복구

모바일 서비스

오디오, 분석, 보상형 광고와 Android 실행 버전.

Zenject 구성, DOTween 시퀀스, FMOD 오디오 라우팅, Firebase 및 Meta 분석 훅, AdMob 보상형 광고 흐름 및 Android 빌드 설정이 게임플레이를 테스트 가능한 모바일 제품으로 연결합니다.

  • 분석 이벤트
  • 보상형 광고로 다시 뽑기
  • 보상형 광고로 부활
  • Android 버전 코드 54

프로젝트 코드와 콘텐츠

숫자로 보는 프로젝트.

이 수치는 여기서 검토한 2025년 7월 프로젝트 버전의 Assets/Scripts에 있는 직접 작성한 코드를 대상으로 합니다. 코드와 설정된 콘텐츠를 설명하며, 플레이어 수나 상업적 성과를 측정한 수치는 아닙니다.

234
직접 작성한 C# 파일
10,600+
빈 줄을 제외한 맞춤 코드 줄 수
60
설정된 여정 일수
106
Artem이 작성한 맞춤 스크립트 변경 커밋 수(병합 커밋 제외)
Unity 6
진단한 프로젝트 버전

능력 데이터

각 여정은 별도의 능력 데이터를 가집니다.

ScriptableObject 정의는 매 플레이마다 공격, 효과 및 매개변수 인스턴스를 생성하므로, 능력은 공통 원본 에셋을 다시 쓰지 않고도 현재 빌드를 안전하게 변경할 수 있습니다.

맞춤 애니메이션 제어

캐릭터 애니메이션이 게임 동작에 맞춰집니다.

Unity Animator 위에 재사용 가능한 유닛 애니메이션 제어 계층을 구축했습니다. 캐릭터별 ScriptableObject 프로필은 공통 상태를 캐릭터 고유 클립에 매핑하고 속도, 시작 오프셋, 레이어, 타격 시점 및 전환 겹침을 설정합니다. 크로스페이드, 클립 시퀀스, 곡선 기반 위치 보간 및 콜백이 이동, 공격, 피격 및 사망을 조율합니다. 진단한 스냅샷에서 공통 컨트롤러는 캐릭터 외형 14개에 프로필 10개를 사용합니다.

난이도 곡선

플레이어와 적이 함께 강해집니다.

플레이어 능력치와 능력은 이벤트와 레벨업을 통해 누적되고, 적의 체력과 공격력은 경과 일수에 따라 증가합니다. 조우 선택은 조건에 맞는 미사용 적 유형을 우선하고, 해당 풀이 소진되면 대체 선택으로 전환합니다.

시작 과정과 테스트

정리된 시작 과정과 인벤토리 테스트.

부트 씬과 의존성 주입으로 시작 과정을 구성하고, 풀링한 피해량 텍스트로 반복 할당을 줄입니다. 저장소에는 인벤토리 동작을 위한 Unity 에디터 테스트 메서드 10개가 포함되어 있으며, 현재 통과 여부는 독립적으로 검증되지 않았습니다.

공개 프로젝트 영상

새 능력이 다음 전투를 어떻게 바꾸는지 확인해 보세요.

공개된 1:18 게임플레이 영상은 날짜별 경로, 이야기 및 매개변수 이벤트, Battle 안내 후 처리되는 전투, 세 가지 중 하나를 고르는 스킬 선택, 무기에 추가되어 전투에서 발동하는 Freezing, 그리고 패배와 부활 결정을 보여줍니다.

YouTube에서 보기

게임플레이 영상과 썸네일은 Artem Shkabura가 2025년 5월 27일 자신의 공개 YouTube 채널에 게시했습니다.

완료한 작업

이 프로젝트에서 제가 만든 것.

  • 01여정, 전투, 능력, 적, 화면과 플레이어 성장의 Unity 프로그래밍
  • 02전투, 경험치, 능력치 변화, 이야기 메시지와 회복으로 구성하고 조정할 수 있는 게임 속 60일 여정
  • 03기존 전투 시스템 안에서 업그레이드가 캐릭터의 능력을 바꿀 수 있도록 만든 재사용 가능한 공격과 효과
  • 04Unity Animator 위에 만든 맞춤 제어 기능: 캐릭터 애니메이션 선택, 부드러운 전환, 게임플레이에 맞춘 이동과 공격 타이밍
  • 05별도의 인벤토리 저장 시스템, 분석 서비스 연결, 보상형 광고 동작, 오디오 통합과 Android 실행 버전 생성 설정

이 사례는 제 Unity/C# 구현, 점검한 2025년 7월 프로젝트 스냅샷 및 공개적으로 확인할 수 있는 게임플레이를 기록합니다. 저장소 수치는 해당 스냅샷의 Assets/Scripts로 한정됩니다. 아트·오디오·게임 디자인의 저작, 스토어 출시, 현재 제공 여부, 사용자 규모, 리텐션, 매출 또는 실제 캠페인 결과를 주장하지 않습니다. 실험적인 ECA 및 리플렉션 계층은 위 납품 실적 주장에 포함되지 않습니다.

프로젝트에 도움을 드릴 수 있는 방법

전투 능력을 업그레이드하는 게임을 계획하시나요?

능력들이 함께 어떻게 작동하는지 테스트해 봅시다.

전투 디자인을 Unity로 프로그래밍하고, 기존 능력들의 상호작용을 확인하거나, 다음 기능을 담은 플레이 가능한 버전을 만들 수 있습니다.

예산이 한정되어 있나요? 가장 중요한 과제와 편안하게 생각하시는 예산 범위를 알려주세요. 현실적인 첫 단계를 명확히 설명해 드리겠습니다.

첫 대화부터 지키는 기밀

연락 관련 동작은 합계로만 집계하며 방문자 식별자나 메시지 내용은 수집하지 않습니다.

프로젝트 목록으로