はじめに
レトロゲームエンジンのPyxelがWebで実行できるようになりました
つまり、ローカルにPyxelをインストールしなくても、GitHubの機能と組み合わせればブラウザで開発を完結できます
今回は、Github Devを使ってコーディング、GitHub Pages、GitHub Actionsを使ってリリース(デバッグ)して開発をしてみました
良かった点
- ブラウザとGitHubアカウントさえあれば、開発環境を用意する必要がありません
- 開発中のゲームをすぐに試してもらえます
悪かった点
- Pyxel付属のリソースエディタが使えません
- selfや()を忘れるなどの細かいミスが増えます
- GitHub Codespaceを使えば解決できるはずです
- mainブランチに直接commitして開発する必要があり、複数人で開発できません
準備
1. GitHubリポジトリの作成
GitHubを無料プランで利用している場合は、リポジトリの公開設定はpublicにする必要があります
2. ひな形ファイルの作成
次の二つのファイルをリポジトリに作成します
- index.html
<script src="https://cdn.jsdelivr.net/gh/kitao/pyxel/wasm/pyxel.js"></script>
<pyxel-run root="." name="main.py"></pyxel-run>
- main.py
import pyxel
class App:
def __init__(self):
pyxel.init(160, 120)
self.x = 0
pyxel.run(self.update, self.draw)
def update(self):
self.x = (self.x + 1) % pyxel.width
def draw(self):
pyxel.cls(0)
pyxel.rect(self.x, 0, 8, 8, 9)
App()
プログラムはPyxel公式ドキュメントに記載されているものを参考にしています
3. GitHub Actions&GitHub Pagesの設定
リポジトリのSettingsのPagesに移動します
SourceとしてGithub Actions
を選択します
次にStatic HTML
のConfigure
を選択します
デフォルトの設定のまま、Commit changes
を選択します
以上でGithubの設定は完了です
4. GitHub Actionsが実行されることを確認する
ActionsのWorkflow一覧から、一番新しいものを選択します
deploy
CIのURLにアクセスするとデモアプリが動いていることが確認できます
開発の進め方
コーディング
リポジトリのCodeが表示された状態で.
キーを押すか、URLのgithub.com
をgithun.dev
に変更することでGitHub Dev
を起動できます
main.pyに作りたいゲームのプログラムを書いていきます
動作確認(デバッグ)
ゲームの動作確認を行うときはエディタの左側のタブのソース管理から、コミットメッセージを書き、コミットとプッシを選択します
PushされるとCIが実行され、公開されているゲームが更新されます
ゲームが公開されているURLにアクセスしてゲームの動作を確認します
キャッシュが残っているとゲームが更新されないため、キャッシュをクリアする必要があります
エラーの確認
文法エラーはゲームの起動時に表示されます
実行時エラーは開発者ツールのConsoleから確認できます
print関数等によって出力した文字もConsoleに表示されます
まとめ
今回はGithubの機能を活用して、ブラウザだけでゲーム開発を試みてみました
いくつかの制約はありますが、簡単なものであれば十分開発できそうです