レビュー

「Python」言語でレトロゲームを開発・実行できるエンジン「Pyxel」を試してみた

シンプル・モダンな設計が魅力。GUIリソース編集ツールも付属

「Pyxel」v0.9.4

 「Pyxel」は、プログラミング言語「Python」でレトロゲームを開発・実行できるゲームエンジン。Windows/Mac/Linuxに対応するオープンソースプロジェクトで、“GitHub”から入手できる。

 ファミコン・スーファミで育った世代が子どもをもつようになったせいか、親子で一緒に楽しめるレトロゲームが近年、ブームの兆しを見せている。かつての家庭用ゲーム機を復刻(?)した“ニンテンドークラシックミニ ファミリーコンピュータ”や“ニンテンドークラシックミニ スーパーファミコン”の発売はその一例とも言えるだろう。

 こうしたレトロゲームは懐かしく、楽しいものだが、小学校でプログラミング教育が必修化されるこのご時世、ただプレイするだけで終わるのはもったいなくはないだろうか。せっかく子どもたちがゲームに興味を持ってくれるのであれば、ぜひ制作にも興味を持っていただきたいものだ。

 今回紹介する「Pyxel」は、ファミコンによくあるドット絵スタイルのゲームを簡単に開発できるゲームエンジンだ。この手のゲームエンジンは他にもいくつか存在するが、「Pyxel」はそのなかでも比較的モダンな設計となっており、親しみやすい。レトロゲームを意識して使える色は16色、同時に再生できる音は4つまでに制限されているが、逆に言えばその分シンプルで、扱いやすい。作者が日本人なので、日本語の情報が比較的得やすいのも無視できない利点といえるだろう。

 本稿では「Pyxel」の導入手順とサンプルの実行までを紹介する。最初は数値をイジってプログラムの挙動がどう変化するか確認しながら、徐々にステップアップしていけばよいだろう。

スクリプト言語「Python」の導入

 「Pyxel」で利用するプログラミングは、スクリプト言語「Python」。最近は機械学習でもよく用いられており、学んでおいて損はないプログラミング言語の1つだ。シンプルでわかりやすいので、ブロックプログラミングに飽きてしまった小学校高学年の児童がステップアップする先としても申し分ないだろう。もちろん、大人が挑戦してもOKだ。

 Windowsで「Pyxel」を利用する場合は、まず「Python」の公式サイトからインストーラーをダウンロードし、実行する。ナビゲーションメニューの[Download]ボタンへマウスカーソルを移動させ、現れるメニューパネルで[Python 3.7.1]ボタンをクリックするとダウンロードが始まる。

 なお、「Python 3.7.1」はWindows XPおよびそれ以前の古いWindowsには対応していないので注意。Windows 7以降の環境を用意する必要がある。

「Python」の公式サイトからインストーラーをダウンロード

 「Python」のセットアップは、インストーラーの[Install Now]ボタンを押せば自動で行われるので難しくはない。ボタンを押す前に[Add Python 3.7 to PATH]オプションをONにしておくと、あとでコマンドの呼び出しが簡単になるのでお勧めだ。

「Python 3.7.1」のインストーラー

「Pyxel」のインストール

 次に、ゲームエンジン「Pyxel」をインストールする。「Python」のパッケージ管理システム「pip」を使うのが簡単だ。スタート画面から「コマンド プロンプト」または「PowerShell」(シェル)を起動し、以下のコマンドを入力しよう。

pip install pyxel

 しばらく待つと、「pip」が「Pyxel」パッケージをダウンロード・展開し、セットアップするまでを自動で行ってくれる。

「pip」で「Pyxel」パッケージをインストール

サンプルの実行

 「Pyxel」のセットアップが完了したら、次はサンプルゲームを配置・実行してみよう。

 まずはシェルで適当なフォルダーを作成し、そのパスへ移動する。

mkdir Pyxel
cd Pyxel

 シェルの操作に慣れていないなら、「エクスプローラー」で新しいフォルダーを作成し、そのフォルダーで[Shift]キーを押しながら右クリックして[PowerShell ウィンドウをここに開く]コマンドを実行してもよい。

 続いて、サンプルコードのインストールコマンド“install_pyxel_example”を実行する。コマンドを実行すると“pyxel_examples”というフォルダーにサンプルが展開されるので、“cd”コマンドでそこに移動する。

install_pyxel_examples
cd pyxel_examples

 “pyxel_examples”フォルダーには6つのサンプルがおさめられており、それぞれ以下のようなコマンドで実行することが可能だ。

python 01_hello_pyxel
“install_pyxel_example”を実行

 コマンドを実行する場合は、[Tab]キーによるファイル名補完を活用するとよいだろう。たとえば、“python 01”まで入力して[Tab]キーを押せば、“python 01_hello_pyxel.py”が補完される。

“pyxel_examples”フォルダーに展開された6つのサンプルコード

01_hello_pyxel.py

01_hello_pyxel.py

 画像とテキストを表示するサンプル。[Q]キーを押せば終了する。少し改造すれば、ゲームのタイトル画面に使えそうだ。

02_jump_game.py

02_jump_game

 横スクロール型のジャンプゲームのサンプル。ゲームパッド(もしくはキーボード)によるキャラクターの操作も可能だ。

03_draw_api.py

03_draw_api

 描画APIのサンプル。スペースキーを押すと矩形のくりぬきが可能。

04_sound_api.py

04_sound_api.py

 サウンドAPIのサンプル。3つのチャンネルを組み合わせたBGMの再生を学べる。「Pyxel」では4音同時の再生が可能だ。

05_color_palette.py

05_color_palette.py

 カラーパレットのサンプル。レトロゲームを意識した16色を扱える。

06_click_game.py

06_click_game.py

 マウスクリックで風船を割る簡単なゲームのサンプル。アクションゲームでは必須となる当たり判定の処理を学べる。

コードエディターは「Visual Studio Code」あたりがよいだろう。「Python」用の言語拡張パッケージをインストールすれば、右クリックメニューから統合ターミナル(内蔵シェル)でサンプルを実行できる

サポートツール

 そのほかにも、「Pyxel Editor」と呼ばれるリソースのGUI編集ツールが標準搭載されており、以下のコマンドで呼び出すことが可能(ジャンプゲームのサンプルのリソースを開く場合)。

pyxeleditor .\assets\jump_game.pyxel

 「Pyxel Editor」ではドット絵を作成するイメージエディタ、イメージを並べて画面を作るタイルマップエディタ、メロディーや効果音を作成するサウンドエディタ、サウンドを組み合わせて音楽を作るミュージックエディタが搭載されており、画面左上のアイコンでそれぞれを切り替えることが可能だ。

「Pyxel Editor」と呼ばれるリソース編集ツールが標準搭載

ソフトウェア情報

「Pyxel」
【著作権者】
Takashi Kitao 氏
【対応OS】
Windows/Mac/Linux(Linuxへの対応は不完全)
【ソフト種別】
フリーソフト
【バージョン】
0.9.4(18/11/11)