Flutter 개발

인디 게임 개발자가 Flutter 허브 앱을 만든 이유

게임 개발과 앱 개발, 두 세계의 교차점

John Doe
2026년 4월 15일
7분 읽기
19

앱 개발자에서 게임 개발자로

Flutter로 3년간 앱을 만들었습니다. 생산성 앱, 커머스 앱, 어드민 대시보드. 다 만들 수 있었지만 재미는 점점 줄었습니다.

게임을 만들어보고 싶다는 생각은 계속 있었습니다. 결국 Unity를 배우기 시작했고 MonsterDispatchCorps라는 모바일 게임을 개발하게 됐거든요.

Unity로 MonsterDispatchCorps 개발

MonsterDispatchCorps는 세로 모드 모바일 게임예요. 코드 온리 UI 방식을 택했거든요. 프리팹 없이 C#과 JSON으로 모든 UI를 선언적으로 관리해요.

Flutter의 위젯 트리 경험이 여기서 빛났습니다. JSON UI 시스템을 Flutter의 Column, Row, Expanded와 1:1로 매칭되게 설계했습니다.
json
// JSON UI 예시 - Flutter 개발자가 바로 읽을 수 있는 구조
{
  "type": "column",
  "children": [
    {
      "type": "panel",
      "bg": "@card_bg",
      "padding": [16, 12],
      "children": [
        {
          "type": "row",
          "children": [
            { "type": "image", "src": "$item.icon", "w": 48, "h": 48 },
            {
              "type": "expand",
              "child": {
                "type": "text",
                "value": "$item.name",
                "style": "@subtitle"
              }
            }
          ]
        }
      ]
    }
  ]
}

AI 에셋 파이프라인 구축

인디 게임의 최대 고비는 아트예요. 프로그래머 아트로는 한계가 있고 외주비는 부담돼요.
ComfyUI + LoRA로 화풍을 학습시키고, vtracer로 벡터화하는 파이프라인을 만들었습니다. AI 이미지 생성 → 벡터라이즈 → Unity 임포트까지 자동화했어요.

그런데 왜 Flutter 허브앱?

게임은 Unity로 만들었지만 게임 외부 경험은 Flutter가 더 잘해요. 로비, 상점, 커뮤니티, 설정 화면 같은 건 앱 UI입니다.

WebGL 빌드한 Unity 게임을 Flutter WebView에 올리면, 게임 업데이트를 앱 심사 없이 되죠. 게임 코어는 서버 배포, 앱 셸은 스토어 배포로 분리하는 전략입니다.

게임 + 앱 개발 양쪽 경험의 시너지

앱 개발에서 배운 상태 관리, 선언적 UI, MVVM 패턴이 게임 개발에서도 통합니다. 반대로 게임에서 배운 게임 루프, ECS, 성능 최적화는 앱에서도 유용해요.
특히 애니메이션과 인터랙션 디자인 감각은 게임 개발 후 확실히 올라갔습니다.

CentPlay 데모 프로젝트

이 경험을 바탕으로 CentPlay이라는 데모 프로젝트를 만들었죠. 슈퍼센트 퍼블리셔 지원을 위한 Flutter 허브 앱 + WebGL 게임 데모입니다.

Flutter로 게임 목록, 상세 페이지, 유저 프로필을 만들고, WebGL 게임을 WebView로 실행하는 구조입니다.
bash
// CentPlay 앱 구조
lib/
├── features/
│   ├── game_list/      # 게임 목록 (Flutter UI)
│   ├── game_detail/    # 게임 상세 + WebGL 실행
│   ├── profile/        # 유저 프로필
│   └── auth/           # 인증
├── core/
│   ├── router/         # GoRouter 딥링크
│   ├── theme/          # 디자인 시스템
│   └── services/       # FCM, Analytics
└── main.dart

Flutter 개발자에게 게임 개발을 권하는 이유

Flutter 개발자가 Unity를 배우는 건 생각보다 쉽습니다. 현업에서 c#과 Dart는 문법이 비슷하고, 위젯 트리와 GameObject 계층 구조는 개념이 같습니다.

게임 개발은 기술적 도전이 다릅니다. 프레임 예산, 메모리 최적화, 렌더링 파이프라인을 고민하면 앱 개발에서는 만나지 못하는 성장을 가능해요.

다음 목표

MonsterDispatchCorps를 WebGL로 빌드해서 CentPlay 허브앱에서 바로 플레이할 수 있게 만드는 게 다음 목표이죠.

인디 게임 개발자에게 Flutter + WebGL 조합은 배포 비용을 크게 줄일 수 있는 전략입니다. 앱 셸은 한 번 만들어두면 게임만 갈아끼우면 되니까요.
#인디 게임
#Flutter
#Unity
#AI 에셋
#CentPlay
#MonsterDispatchCorps