共有&エクスポート
Pyxenにはゲームを外の世界に送り出す2つの方法があります。素早く共有するための即時共有と、すべてを自分で扱うためのエクスポート(Webビルド、Windowsビルド、またはプロジェクトそのもの)です。
インスタントシェア
最も狭いiPadのウインドウでは、共有はツールバーの⋯メニューにあります。ツールバーの共有(またはファイル › 共有…)を選ぶと、シートが即時共有で開きます。そこで共有を選ぶと、Pyxenがゲームをビルドしてアップロードし、play.pyxen.com上のプレイ可能なリンクを提供します。リンクはクリップボードにコピーされます。開くでブラウザでプレイでき、**リンクを共有…**でメッセージ、メール、AirDrop などで送れます。
- アカウントは任意:共有を選んでリンクを送るだけ
- リンクを持つ誰でもブラウザでゲームをプレイ可能
- リンクは7日後に期限切れ
- Pyxen をお試し中は、共有したゲームに Pyxen の透かしが入ります
- トラッキングなし、アナリティクスなし — あなたのゲームだけ
これは作ったものを共有する最速の方法です。
エクスポート
ファイル › エクスポート…(Shift+Cmd+E)を選び、作るものを選びます:
- Web ビルド (.zip):Webページとしてのゲーム。自分のサイト、ゲームジャムのサイト、itch.io のようなゲームサイトなど、どんなサイトにも置けます。プラグインもアプリもなしに、最新のブラウザで動きます。
- Windows ビルド (.zip):Windows 10以降のPC向けのゲーム。展開して
.exeをダブルクリックすれば遊べます。インストールは不要です。WindowsビルドにはPyxenのロック解除が必要です。 - プロジェクト (.pyxen):プロジェクト全体。保管したり、別の場所のPyxenで開いたりできます。バックアップになります。
Pyxenを試している間は、Webビルドに「Made with Pyxen」の透かしが入ります。.pyxenには入りません。
Webビルドの中身
ZIPには次のものが入っています:
index.html:ページpyxen.wasm:WebAssemblyにしたエンジンと、そのローダーのpyxen.jsgame.pyxen:ゲームのコードとアセットlicenses.txtと、クレジット表記を求めるパックを使っている場合はCREDITS.txt
これだけで完結したパッケージです。ファイルをWebサーバーに置いて、ページを開いてください。
仕組み
Webエクスポートは、iPadアプリと同じC++エンジンをEmscriptenでWebAssemblyにコンパイルしたものを使用します。コードはiPadと同じランタイム、ゲーム向けに作られたPythonの方言であるPyxen Scriptで実行されます(スクリプトリファレンスを参照)。レンダラーはMetalの代わりにWebGLを使用しますが、動作は同一です。
これは、Web上でのゲームのプレイがiPadと同じであることを意味します — 同じフレームレート、同じ衝突判定、同じタイミング。
エクスポートしたゲームの共有
エクスポートしたゲームは、Webページが置ける場所ならどこにでも置けます:
- 自分のサイト — 任意のWebサーバーや静的ホスティング(Netlify、GitHub Pagesなど)にファイルを配置。
- ゲームサイトとゲームジャム — 多くはZIPをHTMLゲームとして受け付け、ホスティングしてくれます。itch.io もその一つです。
- 直接共有 — ZIPを送ります。受け取った人がファイルをWebサーバーに置きます。
制限事項
Webエクスポートはipadの体験に忠実ですが、いくつかの違いがあります:
- タッチ入力はブラウザでは利用不可(マウスとキーボードは動作)
- ゲームパッドのサポートはブラウザのGamepad APIに依存
- オーディオはユーザーインタラクションの後に開始する必要がある場合あり(これはPyxenの制限ではなくブラウザの制約)
- パフォーマンスはユーザーのブラウザとデバイスに依存