この記事はPONOS Advent Calendar 2025 22日目の記事です。
前回は、@nisei275さんのRustのゲームエンジンBevyでTilemapを実装してみたでした。
はじめに
最近、たまたま出会った Game Maker というゲームエンジンを紹介します。
Game Makerは、ドット絵のゲームを開発することに特化したゲームエンジンです。
実際に触ってみて、Unity や UnrealEngine といったゲームエンジンとはまた違った楽しさを感じたので、まとめつつご紹介できればと思います。
ドット絵を描いてすぐ動かせる
Game Maker の大きな特徴の1つに、 Editor の中にドット絵を描く機能が搭載されているという点があります。そのため、イラストを描いてから動かすまでを Editor の中で完結することができ、作業がすごくスムーズに進みます。
- 落書きのようなラフなイラストを描いてすぐにスクリプトで動かす
- 微妙だなと思ったらまたイラストを書き直す
- 今度はイラストに合った動きになるようスクリプトを書き直してみる
といった試行錯誤が楽しいです。
Game Maker を使ってみる
- Game Maker 公式サイト
- UNDERTALE 等のゲーム開発にも使われ、比較的海外のインディーゲーム開発で採用されることが多いそうです。
料金
無料(商用利用する場合は 10,900円 買い切り)
Game Maker の制作の流れ
Game Maker を使った開発では、主に下記3つの流れで進めることができます。
- ドット絵を描く
- ドット絵をオブジェクトにする(スクリプトを記述する)
- オブジェクトをルームに配置する
-
オブジェクトは Unity で言うところの Prefab、Unreal Engine で言うところの Blueprint にあたるものです。
-
ルームは Unity で言うところの Scene、Unreal Engine で言うところの Level にあたるものです。
1.ドット絵を描く
- スプライトを作成して編集します。
- 複数枚のドット絵を描いてアニメーションにすることもできます。
- アニメーションを再生する際のフレームレートをスプライトごとに設定できます。
2.ドット絵をオブジェクトにする(スクリプトを記述する)
- 描いたドット絵(スプライト)を参照する形でオブジェクトを作成します。
- 初期化時、毎フレーム時等、各イベントのタイミングでスクリプトを実行できます。
- スクリプトは GML という Game Maker の独自のプログラミング言語で記述することができます。
GMLサンプル
(※毎フレーム呼ばれるステップイベントに設定することでWASDで移動できます。)
var move_speed = 4;
var dx = 0;
var dy = 0;
if (keyboard_check(ord("A"))) dx -= 1;
if (keyboard_check(ord("D"))) dx += 1;
if (keyboard_check(ord("W"))) dy -= 1;
if (keyboard_check(ord("S"))) dy += 1;
x += dx * move_speed;
y += dy * move_speed;
3.オブジェクトをルームに配置する

(※こちらのサンプルではタイルマップを使って背景を配置しています)
- ルームを作成し、オブジェクトをドラッグ&ドロップで配置します。
- 実行して動作を確認できます。
以上が大まかな Game Maker での制作の流れとなります。
ドット絵を描いて、スクリプトで動かすという流れのシンプルさを多少なりとも感じてもらえたのではないでしょうか。
(余談) Pyxel は効果音、BGMもつくれる
この記事を書きながら、Pyxel というゲームエンジンの存在を知りました。
Pyxel も Python でドット絵のゲームを開発することができるゲームエンジンです。そして、ドット絵のアセットを作成できる Pyxel Editor が付属しています。
さらになんと、 Pyxel Editor ではドット絵を描く機能以外に、効果音やBGMを作成する機能が搭載されています。DTMで使われるDAWのピアノロールのような見た目で、音程と長さを打ち込んでいくことで制作できます。
Python が入っている環境であればすぐにインストールして始めることができます。
まとめ
今回は、ドット絵を描きながらゲーム開発ができる Game Maker を紹介させていただきました。
無料で始められますので、ぜひ遊んでみてもらえればと思います!
明日は@tequila0725さんの記事です。お楽しみに!

