Pyxelの開発が一区切りしたので、改めて紹介記事を書いてみました。

[2020.4.4追記：最新版の紹介記事はこちらです]

Pyxelって何？

Pyxel（ピクセル）は、昔ながらのドット絵タイプのゲームを簡単に作れる「レトロゲームエンジン」です。

2018年7月30日にリリースされた、非常に新しいゲームエンジンなのですが、海外を中心に急速にユーザーが増えています。

github.com

プロジェクトはGitHubでオープンソースとして公開されており、公開４日でGitHubのデイリーランキングで全１億のプロジェクト中１位を獲得。ついでに作者である私もGoogle、Facebook、Microsoft等の企業アカウントを含む3100万人の開発者ランキングで１位になっています。（１位の座は48時間持ちませんでしたが…）

GitHub上ではその後もスター数が増え続けており、現在は4000スターを超え、MonoGame (5400スター)、PlayCanvas (3900スター)等の老舗ゲームエンジンと肩を並べつつあります。

他にもたくさんゲームエンジンはあるのに、なぜPyxelはそこまで注目を集めているのでしょうか？ ５つの特長（とおまけ１つ）をご紹介します。

特長① Pythonでプログラムできる

Pyxelの最大の特長はPythonでプログラミングできることです。

Pythonは、

シンプルで読みやすいコードが書けるため、初心者が学習するのに向いている

プログラム言語の中で非常に人気があり、開発者も多い

機械学習向けのライブラリも充実しており、AI用途でも人気が上昇中

といった特長を持つ優れたプログラム言語ですが、実はその特長を活かしたゲームエンジンはそれほど多くありません。

Python向けゲームエンジンとしては、PygameとPygletが有名なのですが、Pygameは機能が古く低速、Pygletは使い方が難しくドキュメントが少ないという課題があります。

PyxelはシンプルなAPIとモダンな設計を組み合わせることで、Pythonの手軽さや生産性を損なわずに誰でも楽しくゲーム開発できる、第3の選択肢を提供しています。

Pyxelのインストールも一般的なPythonパッケージと同様に、Pythonがインストールされた環境で、

pip install pyxel

とタイプするだけ完了です。（詳しいインストール方法はマニュアルをご参照ください）

特長② マルチプラットフォーム対応

Pythonはマルチプラットフォームに対応した言語で、Pythonで作られているPyxelも同じくマルチプラットフォームに対応しています。

Pyxelで作成したゲームは、再コンパイル等の作業なしに、同じプログラムをそのままWindows、Mac、Linuxで動かすことができます。（ただし、まだLinuxは検証が十分ではなく、一部描画や音楽の再生がうまくいかない環境があります）

ちなみに作者である私も、動作確認を兼ねて、その日の気分でWindowとMacを切り替えながらPyxelの開発を行っています。

特長③ 覚えることが少ない

Pyxelはレトロゲームにフォーカスして機能を極力シンプルにすることで、簡単な命令(API)をいくつか覚えるだけでゲームプログラミングができるようになっています。

例えば、11種類の命令を覚えるだけで、すべての描画機能が使えるようになります。

また、5種類の命令を覚えるだけで、効果音や音楽の作成と再生ができるようになります。

その他、ゲームの初期化方法やキー入力の取得方法も非常にシンプルです。

以下はPyxelロゴを表示して、Qキーが押されたらアプリを終了させるプログラムの例です。

import pyxel class App : def __init__ (self): pyxel.init( 160 , 120 , caption= "Hello Pyxel" ) pyxel.image( 0 ).load( 0 , 0 , "assets/pyxel_logo_38x16.png" ) pyxel.run(self.update, self.draw) def update (self): if pyxel.btnp(pyxel.KEY_Q): pyxel.quit() def draw (self): pyxel.cls( 0 ) pyxel.text( 55 , 41 , "Hello, Pyxel!" , pyxel.frame_count % 16 ) pyxel.blt( 61 , 66 , 0 , 0 , 0 , 38 , 16 ) App()

Pyxelを使ったプログラミングが非常にシンプルで理解しやすいことがおわかりいただけたでしょうか。

特長④ 専用ツールが同梱されている

ゲーム開発はプログラムを書くだけでは完成しません。ゲームで使用する絵や音楽も必要となり、通常は外部のツールを使ってそれらの作成を行います。

一方、Pyxelには絵や音楽を作成するための専用ツールが同梱されており、Pyxelだけですぐにゲーム開発を始めることができます。

Pyxelインストール後、 pyxeleditor とコマンド画面でタイプすると、以下のツールを使用することができます。

ドット絵を作成する イメージエディタ

イメージを並べて画面を作るタイルマップエディタ

メロディーや効果音を作成する サウンドエディタ

サウンドを組み合わせて音楽を作るミュージックエディタ

また、別のツールで作成したデータを読み込むことも可能です。

特長⑤ 無料で使える

PyxelはMITライセンスで公開されており、誰でも無料で使用することができます。

参考にウィキペディアのMITライセンスの要約を転記しておきます。

このソフトウェアを誰でも無償で無制限に扱って良い。ただし、著作権表示および本許諾表示をソフトウェアのすべての複製または重要な部分に記載しなければならない

作者または著作権者は、ソフトウェアに関してなんら責任を負わない

特長⑥? 作者が日本人

最後におまけの特長をもう１つ。Pyxelは日本人によって作られており、作者が書いた日本語マニュアルもあります。もちろん作者に日本語で質問することも可能です。

冒頭、海外で急速にユーザーが増えていると書きましたが、一方で日本での知名度はまだ全然といった状況です。

世界中で使われることは非常にうれしいのですが、日本でもユーザーが増えてくれるといいなとも思っておりますので、ぜひ応援よろしくお願いします！