ブラウザで動くボクセルゲーム
Blocks Beyond The Stars は、Windows と Linux のプログラムとしてだけでなく、ブラウザの中でも直接動きます。インストールは不要で、ポータルでワンクリックするだけです。そこまでの道のりは、思っていたよりも勉強になるものでした。
Unity WebGL は、独自の世界です。Unity は、ずっと前からウェブへの書き出しができますが、細かいところに落とし穴があります。いちばん大きなつまずきは、ブラウザには、ネイティブのビルドのような本物のバックグラウンドスレッドがないことでした。私たちの地形システムは、ふだんは地形のメッシュをバックグラウンドで非同期に作ります。ブラウザでは、これがまさに原因で、着陸のときにプレイヤーが地面をすり抜けて落ちることがありました。プレイヤーキャラクターがもうそこに立っているのに、当たり判定がまだ作り終わっていなかったからです。解決策は、WebGL ではメッシュ化を同期的に行うことです。少しスマートさには欠けますが、もうだれも虚空に落ちません。
接続ダイアログの代わりに、ディープリンク。ブラウザにサーバーのアドレスを入力したい人はいません。そこでポータルは、ワールドIDと、短時間だけ有効な参加トークン(10分間有効)を含むリンクを作ります。クリックして、名前を入れて、遊ぶだけです。
タブレットは、うれしい誤算でした。ゲームがブラウザで動くようになったとたん、タブレットのユーザーがひとりでに現れました。そこで、タッチ操作を後から追加しました。仮想スティック、タップでの操作、そしてブラウザ特有のいくつかのクセです(キーワードは、マウスのイベントとは違う動きをするタッチイベント)。
ブラウザ版が、あえてできないこと:これは手軽な入り口で、完全版ではありません。ネイティブのゲームが、いちばん良い体験であることに変わりはありません。描画距離も長く、性能も高く、すべての機能があります。でも、「ねえ見て、これが私たちのゲームだよ」と言いたいときには、リンクがいちばんです。
コメント