| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
- React
- 카트폴
- 음성합성
- Ros
- Ai
- App
- TTS
- 강화학습 기초
- expo
- selenium
- 데이터분석
- clone coding
- FirebaseV9
- TeachagleMachine
- 사이드프로젝트
- Reinforcement Learning
- DeepMind
- JavaScript
- python
- 머신러닝
- Instagrame clone
- 딥러닝
- ReactNative
- 논문리뷰
- coding
- 클론코딩
- 강화학습
- 전국국밥
- pandas
- 앱개발
- Today
- Total
qcoding
[Flutter게임개발] Flutter + Flame으로 MBTI 생존 게임을 만든 이유 본문
Flutter와 Flame은 작은 팀이 Android, iOS, Web을 동시에 노리는 2D 게임을 만들기에 현실적인 조합입니다. MBTI 히어로는 이 장점을 이용해 직장인 생존기라는 가벼운 테마를 웨이브 서바이벌 구조로 풀어낸 게임입니다.
왜 Flutter 앱 개발자가 게임까지 만들 수 있었나요?
가장 큰 이유는 UI와 게임 화면을 같은 언어로 다룰 수 있다는 점이었습니다. 로비, 캐릭터 선택, 결과 화면은 Flutter 위젯으로 만들고, 실시간 전투는 Flame의 GameWidget으로 넣었습니다. 덕분에 앱 개발에서 익숙한 상태 관리와 배포 흐름을 유지하면서도 게임 루프를 따로 설계할 수 있었습니다.
MBTI 테마는 게임 시스템으로 어떻게 바뀌었나요?
MBTI는 단순한 캐릭터 이름이 아니라 공격 방식, 이동 속도, 궁극기, 동료 궁합으로 확장했습니다.
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;
}
이렇게 캐릭터를 데이터로 관리하면 밸런스 조정이 쉬워집니다. 캐릭터 하나를 고치기 위해 전투 로직을 뒤질 필요가 없고, 숫자와 역할만 보면서 테스트할 수 있습니다.
첫 버전에서 가장 중요하게 본 기준은 무엇인가요?
첫 버전의 목표는 “재미있는 한 판”이었습니다. 수십 개의 모드를 넣기보다 캐릭터 선택, 웨이브 진행, 보스 등장, 결과 화면, 광고 보상, 랭킹 등록까지 하나의 짧은 루프가 끊기지 않게 만드는 데 집중했습니다.
다음 글에서는 무엇을 다루나요?
다음 글에서는 16개 MBTI 캐릭터를 어떻게 데이터 구조로 설계했는지, 그리고 캐릭터별 공격 타입을 어떻게 나누었는지 정리합니다.
MBTI 히어로는 지금 바로 플레이할 수 있습니다.
- Android: https://play.google.com/store/apps/details?id=com.minq.mbtihero
- Web: https://mbti-hero.web.app
MBTI 히어로: 직장인 생존기
직장에서 살아남는 2D 생존 액션 게임. MBTI 캐릭터와 함께 웨이브를 돌파하세요.
mbti-hero.web.app
'Flutter 게임개발 (인디게임)' 카테고리의 다른 글
| [Flutter게임개발] AdMob 전면 광고 적용과 Web 환경 분기 처리 (0) | 2026.04.29 |
|---|---|
| [Flutter게임개발] Supabase 리더보드 구현: RPC, RLS, 로컬 fallback (0) | 2026.04.29 |
| [Flutter게임개발] Flutter 게임에서 저장, 해금, 업그레이드 구조 만들기 (0) | 2026.04.29 |
| [Flutter게임개발] 적 스폰과 30웨이브 난이도 곡선 설계 (0) | 2026.04.29 |
| [Flutter게임개발] 16개 MBTI 캐릭터를 데이터 구조로 설계한 방법 (0) | 2026.04.29 |