概要
tmp/smalruby-koshien-web をローカル(devpod)で実行可能にし、「AIを試す」の新 API と
既存 AI の両方が動くことを実機で確認する。
制約
wasm/ は gitignore で空(game-server.wasm / player-ai.wasm は未ビルド)。
- ビルドは
rbwasm(ruby.wasm + wasi-sdk)が必要。devpod に docker は無いため、
devpod に rbwasm ツールチェーンを直接導入してビルドする。
やること
- devpod に ruby +
ruby_wasm(rbwasm) + wasi-sdk を導入。
game-server.wasm / player-ai.wasm を README 手順に沿ってビルド
(rbwasm build → rbwasm pack)。
- GameViewer を静的に配信して起動(dxopal server もしくは静的サーバ)。
- 動作確認(Playwright headless):
- 新 API: scratch-gui v2 生成コードを
?player1=data:<base64> で渡して AI が動く
(接続→マップ取得→経路計算→移動→ターン終了)。
- 旧 API: パラメータ無し(default_ai)/ 既存スタイル AI がそのまま動く。
- v1 生成コード(
Sprite.new(...) do … end)も動く。
受け入れ条件
関連
Epic #738 / 前提: 「AIを試す」param 化、game server API 対応(各別 Issue)
概要
tmp/smalruby-koshien-webをローカル(devpod)で実行可能にし、「AIを試す」の新 API と既存 AI の両方が動くことを実機で確認する。
制約
wasm/は gitignore で空(game-server.wasm/player-ai.wasmは未ビルド)。rbwasm(ruby.wasm + wasi-sdk)が必要。devpod に docker は無いため、devpod に rbwasm ツールチェーンを直接導入してビルドする。
やること
ruby_wasm(rbwasm) + wasi-sdk を導入。game-server.wasm/player-ai.wasmを README 手順に沿ってビルド(
rbwasm build→rbwasm pack)。?player1=data:<base64>で渡して AI が動く(接続→マップ取得→経路計算→移動→ターン終了)。
Sprite.new(...) do … end)も動く。受け入れ条件
tmp/配下)関連
Epic #738 / 前提: 「AIを試す」param 化、game server API 対応(各別 Issue)