JumPHP、レトロ2Dゲームのための PHP ゲームエンジン
ゲームを PHP で一度書くだけで、Windows・macOS・Linux のウィンドウでも、パソコンやスマートフォンのブラウザでも動きます。無料のオープンソースです(MIT ライセンス)。
JumPHP とは?
JumPHP は PHP でレトロな2Dゲームを書くためのフレームワークです。デスクトップでは PHP 8.5 と SDL2・OpenGL・OpenAL 拡張機能で動き、本物のウィンドウ、サウンド、ゲームパッドが使えます。ブラウザでは同じ PHP 8.5 と同じ拡張機能が WebAssembly にコンパイルされ、OpenGL は WebGL に、OpenAL は Web Audio になり、ゲームはただの静的な Web ページになります。
すべて(PHP、Composer、Emscripten、Web サーバー、テスト)が Docker 上で、bin/jumphp という一つのコマンドの裏で動きます。
エンジンが提供するもの
- シーン、エンティティ、アニメーションするスプライト、カメラ、すぐに使えるメニュー。
- タイルマップ(Tiled エディタまたはテキストの行)、坂道やすり抜け床に対応した当たり判定。
- キーボード、ゲームパッド、マウス、タッチ操作を、アクション定義ファイルで記述。
- 生成または読み込んだ効果音(wav、ogg、mp3)、BGM、立体音響。
- OpenGL / WebGL による3Dとポストプロセス。2Dの下にも上にも配置可能。
- リレーサーバーによるオンライン対戦、HTTP リクエスト、セーブ、多言語対応。
- 重い処理はスレッドや Web Worker で。フレームを止めることはありません。
- 実際にゲームをプレイするテストと、画面なしで撮れるスクリーンショット。
作れるもの
アクション、アーケード、シューティング、レースゲーム、オリジナルの Amstrad CPC のディスクから作る8ビットゲームのリメイク。さらに、デスクトップアプリ(HTML ページと PHP、Tauri を使用)、HTML を使わないグラフィカルアプリ、コマンドラインプログラムも作れます。
完成したゲームは、Web ページ、Linux と Windows 向けの単一実行ファイル、インストーラー、Android や Apple のアプリになり、このプレイグラウンドで公開することもできます。
はじめる
composer create-project jumphp/jumphp my-games
cd my-games
bin/jumphp new breakout "BREAKOUT"
bin/jumphp install breakout
bin/jumphp run breakout
新しいゲームは、メニュー・ステージ・プレイヤー・コインを備えた小さくても完全なアクションゲームで、これを自分のゲームに作り変えていきます。bin/jumphp build で Web ページになります。あとは Docker さえあれば十分です。PHP、Composer、Emscripten はそのコンテナの中で動きます。
または、スタジオでゲームの内容を説明してください。あなたの Claude が JumPHP でゲームを書き、ここで公開します。 ゲームを作る →
さらに詳しく
- ドキュメントとチュートリアル
- JumPHP IDE – PHP のゲームとアプリのための無料 IDE
- エンジン拡張
- JumPHP で作られたゲーム
- ソースコード · Packagist
よくある質問
JumPHP は無料ですか?
はい。JumPHP は MIT ライセンスのオープンソースで、jumphp.net のプレイグラウンドも遊ぶのも公開するのも無料です。
ゲームを作るのに PHP のインストールは必要ですか?
いいえ。PHP 8.5、Composer、Emscripten、テストまで、すべて bin/jumphp コマンドの裏で Docker 上で動きます。プレイヤーに必要なのはブラウザか、ゲームの実行ファイルだけです。
同じコードがデスクトップでもブラウザでも動きますか?
はい。ブラウザは WebAssembly にコンパイルされた同じ PHP 8.5 と同じ拡張機能を実行します。守るべきルールはわずかです。フレームを決してブロックしないこと、ネットワークとファイルはエンジン経由で扱うことです。
Composer パッケージは使えますか?
はい、純粋な PHP で書かれていれば使えます。ブラウザには追加の PHP 拡張機能が存在しないためです。