tutorial· 10 min read

VULKでThree.jsブラウザゲームを作る方法

VULKでThree.jsを使った3Dブラウザゲームを作るステップバイステップのチュートリアル。物理、操作、ライティング、パフォーマンス、デプロイ、そしてプラットフォーマー、ランナー、シューター、パズル向けのテスト済みプロンプトをカバー。

João CastroJoão Castro
VULKでThree.jsブラウザゲームを作る方法

2026年7月17日更新 — 検証済みプラットフォームデータ、テスト済みプロンプトパターン、最新のデプロイ詳細で刷新。

VULKでThree.jsブラウザゲームはどう作るのか?

完全な答えを一段落で:ゲームを — メカニクス、操作、カメラ、勝敗条件を — 1つのプロンプトで説明すると、VULKはそれがゲームだと検出し、完全なVite + Three.jsプロジェクトを生成します:レンダラーとシーンのセットアップ、固定タイムステップの物理ワールド(Cannon.js)、プレイヤー操作、影付きライティング、delta time対応のrequestAnimationFrameゲームループ、そしてHTMLのHUDオーバーレイ。ゲームはライブプレビューで即座に動き、フォローアッププロンプト(「二段ジャンプを追加して」「サウンドを追加して」「モバイルのタッチ操作を追加して」)で反復し、ワンクリックでCloudflare Pagesにデプロイします。WebGLのボイラープレートを手で書くことはありません。

これはニッチなワークフローではありません。ゲームとパズルはAI生成アプリのカテゴリ#2で、全プロジェクトの5.4% — ダッシュボードに次ぐ規模です(VULKプラットフォームデータ、2026年7月、N = 10,994アクティブプロジェクト)。そして中央値のビルダーは登録から47秒後に最初の動くアプリを出荷しています。このガイドの残りでは、何が生成されるか、ジャンル別のテスト済みプロンプト、パフォーマンスのパターン、公開URLまでの道のりをカバーします。

なぜブラウザゲームにThree.jsなのか?

Three.jsはブラウザでの3Dレンダリングの標準ライブラリです。WebGLをシーングラフモデル — カメラ、メッシュ、ライト、マテリアル — に抽象化し、生のシェーダーコードを書かずにインタラクティブな3D体験を作ることを現実的にします。Cannon.jsやRapierのような物理エンジンと組み合わせれば、衝突判定、重力、剛体力学が得られます。VULKと組み合わせれば、1つのプロンプトから完全なゲームプロジェクトが生成されます。

VULKはプロンプトがゲームを説明しているとき、それを自動検出します。検出すると、生成パイプラインはレンダーループ、シーンセットアップ、カメラ操作、物理統合を最初から含むThree.jsテンプレートに切り替わります。「Three.jsを使って」と指定する必要はありません — 作りたいゲームを説明するだけです。

ゲームプロンプトに対してVULKは何を生成するのか?

VULKがゲームプロンプトを検出すると、生成されるプロジェクトには特定のファイルとシステム一式が含まれます:

システム 得られるもの
シーンセットアップ アンチエイリアス付きレンダラー、ピクセル比処理、リサイズリスナー;シーン + カメラの初期化
物理ワールド 固定1/60秒タイムステップのCannon.jsワールド;各ビジュアルメッシュが物理ボディとペアになり、毎フレーム同期
プレイヤー操作 一人称はWASD + ポインターロック、三人称はオービットコントロール、接地時のスペースキージャンプ
ライティング 環境光フィル + シャドウマップ付き指向性の太陽光、特定エリア用のポイントライト
ゲームループ delta time付きrequestAnimationFrameループ — リフレッシュレートに関係なく一定の速度
HUD キャンバスの上にスコア、体力、タイマーなどのゲーム状態を表示するHTML/CSSオーバーレイ

ジャンルごとにどんなプロンプトが効くのか?

プロンプトの具体性が出力の複雑さと品質を直接左右します。よくあるゲームタイプの例を挙げます。

プラットフォーマー: 「3Dプラットフォーマーゲームを作って。プレイヤーは浮遊するプラットフォームの上を転がる球体。プラットフォームは長方形で、色と高さが異なる。プレイヤーが新しいプラットフォームに到達するとスコアカウンターが増える。y=-10より下に落ちたらスタートにリセット。WASD操作とスペースキーでジャンプ。カメラは後ろからプレイヤーを追う。」

このプロンプトは、ランダム配置のプラットフォーム生成、追従カメラ、落下検出、スコア記録をトリガーします。物理システムが転がるボールを自然に処理します。

エンドレスランナー: 「エンドレスランナーゲームを作って。プレイヤーは3車線の道路を自動で前進する。矢印キーで車線変更。障害物がランダムに現れ、プレイヤーは避けなければならない。速度は時間とともに上がる。走行距離をスコアとして表示。衝突でゲームオーバー。」

VULKは障害物のオブジェクトプーリングシステム、スムーズな遷移付きの車線変更ロジック、漸進的な難易度、プレイヤーと障害物メッシュ間の衝突判定を生成します。

シューター: 「ポインターロック操作の一人称シューターを作って。プレイヤーは長方形のアリーナをWASDで移動する。敵はプレイヤーに向かってくる赤いキューブ。クリックで弾を発射。敵は3発で破壊される。体力バーとキル数を表示。敵は5秒ごとにスポーンし、時間とともに増える。」

これはポインターロック統合、射撃用のレイキャスティングまたは弾丸物理、プレイヤーに向かうパスファインディング付きの敵AI、体力システム、スポーン管理を生成します。

パズルゲーム: 「プレイヤーが箱を印の付いたタイルに押すパズル3Dゲームを作って。倉庫番スタイル。グリッドベースの移動、難易度が上がる5レベル。移動回数とレベル番号を表示。最後の移動を戻すアンドゥボタン。」

グリッドベースの移動は、各入力後に位置を整数座標にスナップすることで処理されます。レベルデータは、壁、箱、目標、プレイヤーの開始位置を定義する2D配列として保存されます。

生成されたゲームはどうカスタマイズするのか?

生成されたゲームは標準的なVite + Three.jsプロジェクトです。すべてのファイルが編集可能です。フォローアッププロンプトでできる一般的なカスタマイズ:

ビジュアルスタイルを変える:「プラットフォームをテクスチャ付きの石ブロックのように見せて。夕焼けのグラデーションのスカイボックスを追加して。」VULKはテクスチャの読み込みと、キューブテクスチャまたはシェーダーベースのスカイボックスを追加します。

サウンドを追加する:「ジャンプの効果音、コイン取得音、BGMを追加して。Web Audio APIを使って。」生成はサウンドファイルをプリロードし、適切なタイミングで再生するオーディオマネージャーを追加します。

モバイル操作を追加する:「タッチ操作を追加して — 左側にバーチャルジョイスティック、右側にジャンプボタン。」これはキーボード操作と同じ入力システムに流れ込むタッチイベントリスナー付きのHTMLオーバーレイを生成します。

物理を改善する:「ボールが壁で止まらずに跳ね返るようにして。地面に摩擦を加えて、動いていないときにボールが減速するようにして。」これらはCannon.jsのマテリアルプロパティに変換されます — 跳ね返りはrestitution、表面には摩擦係数。

この反復ループこそが、プラットフォーム上で良いゲームが実際に作られる方法です:ビルド会話の中央値は4メッセージですが、最も注力されたプロジェクトは25を超えます(VULKプラットフォームデータ、2026年7月)。コアメカニクスから始めて、磨きを重ねていきましょう。

ブラウザゲームを速く保つには?

ブラウザゲームはDOM操作と並んでメインスレッドで動くため、パフォーマンスが重要です。VULKが生成するゲームには、デフォルトでいくつかの最適化が含まれます:

  • ジオメトリの再利用 — 同一のメッシュは、オブジェクトごとに新規作成せず、ジオメトリとマテリアルのインスタンスを共有します。
  • フラスタムカリング — Three.jsはカメラの視野外のオブジェクトを自動でカリングしますが、VULKはプレイヤーから遠すぎるオブジェクトのレンダリングも無効にします。
  • 固定物理タイムステップ — 物理はレンダリングのフレームレートに関係なく一定のレートで動き、低FPSでのトンネリングと高FPSでの不安定さを防ぎます。
  • オブジェクトプーリング — スポーン/デスポーンの多いゲーム(弾、敵、パーティクル)では、オブジェクトは生成とガベージコレクションを繰り返す代わりにプールからリサイクルされます。

フレーム落ちに気づいたら、良いフォローアッププロンプトはこれです:「モバイルパフォーマンス向けにゲームを最適化して。シャドウマップの解像度を下げ、描画距離を短くし、ジオメトリを簡素化して。」VULKはレンダラー設定とシーンの複雑さをそれに応じて調整します。

ゲームのデプロイと共有はどうするのか?

VULKのリアルタイムプレビューでゲームに満足したら、Deployをクリックします。ゲームはビルドされてCloudflare Pagesにデプロイされ、共有できる公開URLが手に入ります。デプロイされたゲームは静的 — HTML、JS、アセットだけ — なので、読み込みが速く、あらゆるモダンブラウザで動きます。

リーダーボードや永続的な状態を持つゲームには、VULKにバックエンドの生成を頼めます:「リーダーボードを追加して。プレイヤー名と日付付きでトップ100のスコアを保存して。ゲームオーバー画面にリーダーボードを表示して。」これはVULKのバックエンド生成をトリガーし、ゲームと並んでPostgreSQLデータベースとAPIエンドポイントを追加します。これはプラットフォーム全体で一般的です — 生成される全アプリの62%がSQLデータベーススキーマを含みます(VULKプラットフォームデータ、2026年7月)。

ゲームプロンプトを最も効かせるものは?

VULKのThree.jsゲームは、メカニクスを明確に説明したときに最もうまく機能します。「楽しいゲームを作って」のような抽象的な説明は汎用的な結果を生みます。「プレイヤーは二段ジャンプ、壁スライド、ダッシュができる」のような具体的なメカニクスは、まさにそのシステムが実装されたゲームを生みます。

コアメカニクスから始めましょう。プレビューで動かします。それから反復します — 敵、スコア、レベル、サウンド、ビジュアルの磨き込みをフォローアッププロンプトで追加します。各反復は既存のコードの上に構築されるため、最初からやり直すことなく複雑さを積み上げられます。

レンダリングのThree.js、物理のCannon.js、そしてVULKの生成パイプラインの組み合わせは、アイデアから遊べるプロトタイプまでを数日ではなく数分にします。そこからは、プロンプトによる洗練や手動のコード編集で、出荷できる磨かれたゲームに到達します。


FAQ

VULKでThree.jsゲームを作るのにコーディングの知識は必要?

いいえ。プロンプトでメカニクスを平易な言葉で説明すれば、パイプラインが完全なプロジェクトを生成します。とはいえ、出力はViteプロジェクト内の標準的なTypeScript/JavaScriptです — コードが書けるなら、どのファイルでも開いてAIと並行して直接編集できます。

VULKは生成したゲームにどの物理エンジンを使う?

デフォルトはCannon.jsで、レンダーループに同期した固定1/60秒タイムステップのワールドを動かします。Rapierが良ければプロンプトで指名してください。シンプルなゲーム(グリッドパズル、レーンランナー)は物理エンジンを完全に省いて直接の位置計算を使うことがあります — それは意図的で、より高速です。

生成されたゲームはスマホで動く?

はい。タッチ操作(「左にバーチャルジョイスティック、右にジャンプボタン」)とモバイルパフォーマンス最適化(シャドウ解像度を下げる、描画距離を減らす)を頼んでください。デプロイされたゲームは静的サイトなので、あらゆるモダンなモバイルブラウザで動きます。

リーダーボードの追加やプレイヤーの進行状況の保存はできる?

はい — フォローアッププロンプトで頼んでください。VULKはスコアやセーブデータ用のエンドポイントを持つPostgreSQLベースのAPIを生成し、ゲームオーバー画面に接続します。バックエンドのデプロイはBuilderプラン以上に含まれます。

VULKでゲームを作るのにいくらかかる?

VULKは有料のみ(無料プランなし)。プランはBuilder $19.99/月から、$3.99からの3日間フルアクセスイントロ付きで、継続すれば初月に充当されます。3D Studioの機能はPro($39.99/月)からです。

ゲームコードの所有者は誰?

あなたです。完全なソースをZIPでエクスポート(Builder+)するか、GitHubに同期(Pro+)できます。プロプライエタリな依存関係のない標準的なVite + Three.jsプロジェクトで、npm run buildが動く場所ならどこでもビルドできます。

公開日: 執筆: João Castro · 10 min read

続けて読む

記事一覧
VULK サポート

オンライン

こんにちは!本日はどのようにお手伝いできますか?

人気のトピック

AI サポート • support.vulk.dev

VULKでThree.jsブラウザゲームを作る方法 — Blog | VULK