무엇을 만들 것인가가 무엇을 고를지를 정합니다
세 가지를 순서대로 물으세요. 플레이어는 이것을 어디서 받는가 — 링크인가, 앱 스토어인가, 데스크톱 상점인가? 2D 인가 3D 인가? 그리고 나는 이미 어떤 언어를 편하게 쓰는가? 이 세 답이면 대개 합리적인 선택지가 정확히 하나 남고, 그다음부터는 취향 논쟁입니다.
첫 MVP 라면 웹이 사람들이 생각하는 것보다 자주 이깁니다. 설치할 것도 없고, 심사받을 것도 없고, 한 시간 안에 친구에게 링크를 보낼 수 있습니다.
웹
링크는 게임과 플레이어 사이의 가장 짧은 거리입니다. 설치도 스토어 심사도 없고, 브라우저가 있는 모든 기기에서 돕니다.
Babylon.js
브라우저에서 도는 완전한 3D 엔진입니다 — 물리·애니메이션·조명·glTF 모델 로딩까지 전부 TypeScript 로. 2D 지원도 튼튼하고, 디버그 인스펙터가 배우기에 아주 좋습니다.
앱
스토어 배포·푸시 알림·인앱 결제를 얻는 대신, 심사 대기와 플랫폼 규칙을 감수합니다.
Unity
모바일 게임의 기본 선택지이며 2D·3D 를 모두 다룹니다. 거대한 에셋 스토어와 커뮤니티, 그리고 찾게 될 거의 모든 튜토리얼이 이것을 기준으로 쓰여 있습니다. 작은 것을 만들기에는 무겁고, C# 생태계는 그 자체로 배워야 할 하나의 세계입니다.
Flutter Flame
Flutter 위에 올라간 2D 게임 엔진입니다. 이미 Dart 와 Flutter 를 쓰고 있다면 모바일 게임까지 가는 가장 짧은 길입니다 — 같은 언어, 같은 도구, 게임 캔버스 주위에 같은 위젯. 분명히 해 둡니다: Flame 은 2D 입니다. Flutter 의 3D 는 아직 실험 단계이며 게임 계획의 근거로 삼을 것이 못 됩니다.
데스크톱
더 큰 화면, 제대로 된 입력 장치, 그리고 Steam. 오래 붙잡고 하는 게임이 사는 곳입니다.
Unity
모바일과 같은 엔진으로, 하나의 프로젝트에서 Windows·macOS·Linux 로 내보냅니다. 한 번 배워 두면 거의 어디로든 내보낼 수 있고, 그래서 이렇게 널리 가르쳐집니다.
Unreal Engine
시각적 완성도가 목적일 때의 선택입니다 — 조명, 재질, 큰 3D 세계. 블루프린트로 C++ 없이 로직을 짤 수 있지만, 엔진이 크고 그에 맞는 컴퓨터를 요구합니다. 첫 작은 게임에는 과하고, 그래픽에 야심이 있는 게임에는 정확히 맞습니다.
사람들이 자주 틀리는 두 가지
Flame 은 2D 전용입니다
Unity·Unreal 과 한 문장에 나오다 보니 같은 급의 범용 엔진이라 짐작하기 쉽습니다. 그렇지 않습니다. 3D 게임이라면 Flame 은 후보에 없습니다 — 코드를 쓰기 전에 정하세요, 쓴 다음이 아니라.
하나를 끝내는 것이 셋을 건드려 보는 것보다 낫습니다
엔진을 갈아탈 때마다 진도는 거의 0 으로 돌아갑니다. 배운 것의 대부분이 게임이 아니라 도구였기 때문입니다. 한 번만 고르세요 — 필요하다면 잘못 골라도 좋으니, 무언가를 끝내세요.
이것들은 배울 선택지이지 우리가 쓰는 기술이 아닙니다
Babylon.js·Unity·Unreal·Flame 은 알아 둘 가치가 있는 것으로 여기 나올 뿐, PES 가 채택한 기술이 아닙니다.