top of page

ブラウザで動くボクセルゲーム

執筆者の写真: Marcel Dütscher
Marcel Dütscher
6月30日
読了時間: 2分

Blocks Beyond The Stars は、Windows と Linux のプログラムとしてだけでなく、ブラウザの中でも直接動きます。インストールは不要で、ポータルでワンクリックするだけです。そこまでの道のりは、思っていたよりも勉強になるものでした。


Unity WebGL は、独自の世界です。Unity は、ずっと前からウェブへの書き出しができますが、細かいところに落とし穴があります。いちばん大きなつまずきは、ブラウザには、ネイティブのビルドのような本物のバックグラウンドスレッドがないことでした。私たちの地形システムは、ふだんは地形のメッシュをバックグラウンドで非同期に作ります。ブラウザでは、これがまさに原因で、着陸のときにプレイヤーが地面をすり抜けて落ちることがありました。プレイヤーキャラクターがもうそこに立っているのに、当たり判定がまだ作り終わっていなかったからです。解決策は、WebGL ではメッシュ化を同期的に行うことです。少しスマートさには欠けますが、もうだれも虚空に落ちません。


接続ダイアログの代わりに、ディープリンク。ブラウザにサーバーのアドレスを入力したい人はいません。そこでポータルは、ワールドIDと、短時間だけ有効な参加トークン(10分間有効)を含むリンクを作ります。クリックして、名前を入れて、遊ぶだけです。


タブレットは、うれしい誤算でした。ゲームがブラウザで動くようになったとたん、タブレットのユーザーがひとりでに現れました。そこで、タッチ操作を後から追加しました。仮想スティック、タップでの操作、そしてブラウザ特有のいくつかのクセです(キーワードは、マウスのイベントとは違う動きをするタッチイベント)。


ブラウザ版が、あえてできないこと:これは手軽な入り口で、完全版ではありません。ネイティブのゲームが、いちばん良い体験であることに変わりはありません。描画距離も長く、性能も高く、すべての機能があります。でも、「ねえ見て、これが私たちのゲームだよ」と言いたいときには、リンクがいちばんです。

最新記事

すべて表示
新しいバージョンが2026.7.19で、0.9.2ではない理由 🗓️

今日アップデートする人は、バージョン0.9.1から2026.7.19にジャンプします。打ち間違いに見えますが、意図した決定です。バージョンの付け方を、「セマンティック」から日付ベースのバージョン(年.月.カウンター)に変えました。その理由をお話しします。 古い方式は、だれも聞かない質問に答えていました。 セマンティックバージョニング(0.9.1、1.2.3…)は、ソフトウェアライブラリの世界から来

 
 
おそうじ完了:GitHubのキャッシュをようやくちゃんと使えるようになりました 🧹

前回の技術記事では、ビルドとチェックのパイプラインに本当は何がかかっているのかを測りました。わかったのは、お金ではなく、待ち時間と保存容量だということでした。その記事は「おそうじの作業は計画してあるけれど、まだ終わっていない」で締めくくっていました。ところが、思ったより早く進みました。今日のお昼の時点で、メインブランチに入っています。数字をご紹介します。 まず結果から。 リポジトリのキャッシュ使用

 
 
月に1000回のビルド実行、そのどれにもお金はかかっていません ⚙️

まず訂正です。この記事の最初のバージョンでは、GitHubのビルド時間を使い切ってしまい、そのせいでProアカウントにアップグレードせざるをえなかった、と書いていました。それは間違いでした。ドキュメントを一目見ればわかったことです。公開リポジトリでは、GitHubのビルド時間は無料です。アーティファクトもキャッシュもです。うちのリポジトリは5月末から公開されているので、1分もお金を払ったことはあり

 
 

コメント


この投稿へのコメントは利用できなくなりました。詳細はサイト所有者にお問い合わせください。
bottom of page