以前作成した「戦績トラッカー」と同じように、AIのサポートを受けながら、実際に遊べるゲームを作ったので、その勉強記録と作品の共有をしたいと思います。
Pyxelとは
今回ゲームを作るために使用したのは、Pyxel(ピクセル)というPythonのライブラリです。Pyxelは、ドット絵のレトロゲームを、シンプルなコードで作ることができる素晴らしいライブラリです。
このPyxelを使って、今回はアクションゲームを作成しました。AIにサポートしてもらいながら、まだまだ修正すべき部分がありますが、一つのゲームとして形にすることができました。
ゲームのgif画像

PyxelにはWebブラウザ上でゲームを動かす便利な機能があり、今回作ったゲームも以下のURLから直接プレイできるようになっています。
ぜひ一度遊んでみてください。
https://augmented-vr.github.io/pyxel-game-test/
また、ソースコードはGitHubに公開してあります。
https://github.com/augmented-vr/pyxel-game-test/blob/f3eaf6ca53f5183e072135cf510ed4bf32ae93b4/battle_machine.py
自分のパソコンで動かしてみる
先ほどのようにブラウザ上で手軽に遊ぶこともできますが、コードの数値を書き換えてキャラクターの動きを変えてみたいといった場合は、Colabではなくローカル環境で動かす必要があります。
もしまだ自分のパソコンにPythonの環境がないという方は、以前の記事である自分のパソコンでPythonを動かしてみる を読んで、環境を準備してみてください。
Pyxelのインストール
パソコンでPythonが動く状態になったら、まずはPyxel本体をパソコンにインストールする必要があります。
Windowsユーザーを対象に解説します。コマンドプロンプトやPowerShellを開き、以下のコマンドを入力してEnterキーを押してください。
pip install pyxel※この記事のプログラムは、Pyxelのバージョン2.3.6で作成・動作確認を行っています。もし特定のバージョンを指定してインストールしたい場合は pip install pyxel==2.3.6 と入力してください。
画面に「Successfully installed pyxel…」といったメッセージが表示されれば、インストールは完了です。
Pyxelをインストールできたら、実際に動くか確認してみましょう。
IDLEを開いて「File」→「New File」で新しいエディタ画面を作成し、以下のコードをコピーして貼り付けてみてください。
import pyxel
class App:
def __init__(self):
# 画面のサイズ(幅160, 高さ120)を決めて、ゲームを初期化します
pyxel.init(160, 120, title="Pyxel test")
# ゲームのループ
# updateとdrawを繰り返し実行します
pyxel.run(self.update, self.draw)
def update(self):
# プレイヤーの操作などをここに書きます
# もしキーボードの「Qキー」が押されたら終了します
if pyxel.btnp(pyxel.KEY_Q):
pyxel.quit()
def draw(self):
# 画面にキャラクターや背景を描画する処理をここに書きます
# 画面全体を黒色(カラー番号0)で塗りつぶします
pyxel.cls(0)
# 画面の(x=40, y=60)の位置に、白色(カラー番号7)で文字を表示します
pyxel.text(40, 60, "pyxel test", 7)
# クラスを呼び出して、動かします
App()
入力出来たら、適当な名前(例:pyxel_test.py)で保存し、メニューの「Run」→「Run Module」(またはF5キー)で実行してみてください。ウィンドウが立ち上がり黒い背景に「pyxel test」と表示されれば成功です。
ゲームを実行する手順
Pyxelの準備ができたら、以下の手順でアクションゲームをローカル環境で動かすことができます。今回のゲームでは画像や音などの「リソースファイル」を使用しているため、Pythonのコードと一緒にリソースファイルもパソコンにダウンロードして配置する必要があります。
- パソコンの「ドキュメント」などの分かりやすい場所に、
pyxel_gameというフォルダを作成します。 - GitHubのリンクにアクセスし、プログラムのコード(battle_machine.py)と、画像や音が入ったリソースファイル(battle_machine.pyxres)をダウンロードします。
- ダウンロードしたコードとリソースファイルを、先ほど作った
pyxel_gameフォルダの中にすべて一緒に入れます。コードからリソースを正しく読み込めるように、同じフォルダ内に並べておきます。 - IDLEを起動し、メニューの「File」→「Open」から、先ほど保存したプログラムのコード(battle_machine.py)を開きます。
- エディタ画面が開いたら、メニューの「Run」→「Run Module」をクリックするか、キーボードの
F5キーを押します。
エラーが出なければ、ウィンドウが開いてゲームが起動するはずです。
今回はこれで終了です。
ぜひブラウザ上であそんでみたり、GitHubからコードとリソースファイルをダウンロードして遊んでみてください。
今回のサンプルを用意したので、もし必要な場合は、以下のリンクからダウンロードしてください。
サンプルコードはこちら