kitao/pyxel: A retro game engine for Pythonというゲームエンジンを使ってPythonでゲームを作りました。
ThreeNotesQuestから遊べます。ぜひ遊んでスコアをシェアしてください。
Pyxelの特徴はWindows、Mac、Linux、Web で動作することです。今回も手元ではMacで動かしながら開発をし、公開はWebで遊べるようにしました。
動機
小さなゲームを作ること、それ自身が楽しいのだ - ABAの日誌を読んで面白いなと思ったこと。私のプログラマーのとしての原点は、ポケコン(SHARP G850)で作ったゲームをクラスで配布した時の楽しさでした。そこで久しぶりに小さいゲームを作りたくなりました。
作ったゲーム
スタートからゴールまで得点を稼ぎながら進むゲームです。経路によって大きく変わる得点を競います。コースは1日1回変わります。
コードはtoyoshi/mazeにあります。MITライセンスです。
Pyxelのおかげで200行程度で作れました
面白かった点
- ゲームエンジンであるPyxelが描画などを担ってくれるので、昔のBASIC風に簡単に開発ができる
- Web版はWebAssemblyを使っているのでPythonのコードがフロントエンドと変数を共有できたりする。不思議な感覚
- Web版の共有がとても簡単。Githubに公開さえすれば 著者が用意してくれている環境ですぐに共有できる。(Pyxel Web Launcher )私はNetlifyを使いました。
工夫した点
共有ボタンをフロントエンド側で実装しました。
# ブラウザで実行する場合 try: import js except ImportError: pass
のようにして、Python側でjsをimportすると、JavascriptからPython内の変数が見れるようになります。これを利用してスコアの共有ボタンを作りました。
まとめ
お手軽にゲームを開発して共有できるPyxelは素晴らしいですね。特に共有が簡単というのは開発するモチベーションになります。どんどん使われて欲しいです。