JA

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 は無料ですか?

はい。JumPHP は MIT ライセンスのオープンソースで、jumphp.net のプレイグラウンドも遊ぶのも公開するのも無料です。

ゲームを作るのに PHP のインストールは必要ですか?

いいえ。PHP 8.5、Composer、Emscripten、テストまで、すべて bin/jumphp コマンドの裏で Docker 上で動きます。プレイヤーに必要なのはブラウザか、ゲームの実行ファイルだけです。

同じコードがデスクトップでもブラウザでも動きますか?

はい。ブラウザは WebAssembly にコンパイルされた同じ PHP 8.5 と同じ拡張機能を実行します。守るべきルールはわずかです。フレームを決してブロックしないこと、ネットワークとファイルはエンジン経由で扱うことです。

Composer パッケージは使えますか?

はい、純粋な PHP で書かれていれば使えます。ブラウザには追加の PHP 拡張機能が存在しないためです。