qcoding

[Flutter게임개발] 16개 MBTI 캐릭터를 데이터 구조로 설계한 방법 본문

Flutter 게임개발 (인디게임)

[Flutter게임개발] 16개 MBTI 캐릭터를 데이터 구조로 설계한 방법

Qcoding 2026. 4. 29. 23:13
반응형

MBTI 히어로의 캐릭터 설계 핵심은 “성격 유형을 숫자와 행동으로 번역하는 것”입니다. 16개 캐릭터를 각각 코드로 분기하지 않고 CharacterData 목록으로 관리해 밸런싱과 UI 표시를 동시에 해결했습니다.

왜 enum과 데이터 클래스를 분리했나요?

enum은 저장값과 식별자를 안정적으로 유지하고, 데이터 클래스는 게임에 필요한 설명과 수치를 담습니다.

enum CharacterType {
  estj, entp, infp, istp, enfj, intj, esfp, isfj,
  enfp, entj, esfj, estp, infj, intp, isfp, istj,
}

class CharacterData {
  final CharacterType type;
  final String mbti;
  final double maxHp;
  final double attack;
  final double speed;
  final AttackType attackType;
  final bool isFreeCharacter;
  final String assetPath;
}

이 방식은 나중에 캐릭터 이름, 설명, 이미지, 공격 타입을 바꿔도 저장 데이터와 충돌할 가능성을 줄여줍니다.

공격 타입은 어떻게 나눴나요?

공격 타입은 wave, homing, summon, straight, aura, blink, rapid, shield처럼 플레이 감각이 다른 기준으로 나눴습니다. MBTI를 그대로 심리 설명에만 묶지 않고, “이 캐릭터를 고르면 전투 리듬이 어떻게 달라지는가”를 먼저 봤습니다.

무료 캐릭터와 해금 캐릭터는 어떻게 운영하나요?

초기 진입 장벽을 낮추기 위해 일부 캐릭터는 무료로 열어두고, 나머지는 플레이 보상이나 광고 흐름과 연결할 수 있게 했습니다. 중요한 점은 해금이 과금 압박처럼 느껴지지 않고, 다음 캐릭터를 실험해보고 싶게 만드는 것입니다.


MBTI 히어로는 지금 바로 플레이할 수 있습니다.

 

MBTI 히어로: 직장인 생존기

직장에서 살아남는 2D 생존 액션 게임. MBTI 캐릭터와 함께 웨이브를 돌파하세요.

mbti-hero.web.app

 

반응형
Comments