任意のフォルダーをワークスペースとして開く + アプリ内バージョンとショートカット
この日、プラットフォームはユーザーを固定ディレクトリに縛り付けることをやめました。ディスク上の任意のフォルダーを選択して開始します。アプリには「バージョンの感覚」も高まりました。ステータス バーには現在のバージョンが表示され、設定により変更履歴を読むことができ、グローバル キーボード ショートカットも使用できます。このエンジンには、モデルのインスタンス化、ビルド時のテクスチャ クッキング、およびゲーム ループを備えた完全なランタイム シェルが追加されました。
「ディレクトリにロック」から「任意のプロジェクトを開く」へ
これまでは、ゲーム コードはプラットフォームの組み込みの固定ディレクトリの 1 つに置いて管理する必要がありました。これは実際の制約でした。これは、プロジェクトにツールが対応するのではなく、プロジェクトがツールに対応する必要があることを意味していました。この日のスルーラインではその制約が取り除かれ、プラットフォームがディスク上の任意のディレクトリをワークスペースとして開くことができるようになりました。これは小さな「フォルダーを選択する」機能のように見えますが、その背後には製品の位置付けの緩和があり、「ルールに従ってコードを配置する必要があるアプリ」から「既存のプロジェクトを引き継ぐことができる開発プラットフォーム」への移行が見られます。バージョンの認識とこの日追加されたいくつかの改良と合わせて、プラットフォームは「適切なツールのように毎日使用される」ことに向けて、さらに確かな一歩を踏み出しました。
任意のフォルダーをワークスペースとして開きます
上部のバーには、ファイル ブラウザーで開くプロジェクト スイッチャーが追加されたため、ディスク上の任意のディレクトリを現在のワークスペースとして選択でき、コードを 1 つの組み込みフォルダーにドロップする必要がなくなりました。最近開いたプロジェクトは記憶されており、ワンクリックで戻ることができます。さらに良いことに、空のディレクトリを選択すると、システムは直接実行可能なデフォルトのゲーム スキャフォールドにドロップされるため、「新しいフォルダーを作成 → エージェントがその中で作業を開始する」という処理が完全にスムーズなパスになります。リポジトリのクローンを作成したばかりの人にとって、これは、最初にプラットフォームのディレクトリ規則を学習することなく、自分のプロジェクトのディレクトリを開いてすぐに開始することを意味します。それは本当に始めるハードルを下げます。
アプリ内バージョン + 変更履歴 + ショートカット
この日はアプリに「バージョン感」を与えた。ステータス バーには実行中のバージョンが表示され、自動的に更新されるようになりました。バックグラウンドでライブ コード バージョンを監視し、ファイルが変更されるとすぐに更新されるため、ウィンドウに戻ると、古くなった番号を見つめるのではなく、最新のものを使用しているかどうかを確認できます。設定に「変更ログ」セクションが追加されたため、他の場所に移動しなくても、製品内で最近変更された内容を確認できます。また、グローバル キーボード ショートカットのセットを備えた「ショートカット」セクションにより、一般的なアクションを見つけやすく、覚えやすく、キーを 1 回押すだけで実行できます。個々には明白ですが、これらを組み合わせると何かがわかります。これはもはや使い捨ての実験ではなく、更新され続け、長期的に使用する価値があり、「ユーザーが自分がどのバージョンを使用しているかをどうやって知るか」を真剣に考慮した製品です。
エンジン: モデルのインスタンス化 + ビルド時のテクスチャ クッキング
この日、エンジンはパフォーマンスと資産の両方で進歩しました。パフォーマンスに関しては、標準 3D モデルはインスタンス化された描画を実現しました。同じモデルがシーン (木々の列、敵の群衆) に大量に表示される場合、エンジンはそれらすべてを 1 回の送信で描画できるため、コストが大幅に削減されます。モデルをインポートすると、各ノードの独自の名前もエンジンに取り込まれるため、後の識別と操作が容易になります。アセットでは、画像テクスチャが「ビルド時」に事前にクックされ、実行時にハンドルによってフェッチされるようになりました。これにより、実行のたびに再処理することなく、読み込みが高速化され、安定性が向上しました。 1 つは「画面上の多数のオブジェクト」をターゲットにし、もう 1 つは「高速かつ安定した読み込み」をターゲットにしており、これらが連携して、今後の真に複雑でコンテンツが豊富なシーンへの道を切り開きます。
ゲームループを備えたエンジンランタイムシェルが具体化
この日、このエンジンは、完全な「ランタイム シェル」とゲーム ループという構造的基盤も満たしました。ランタイム シェルは、ゲームを正しく開始し、各フレームの更新とレンダリングを一定のリズムで実行する責任を負います。これは、あらゆるゲームを最低レベルで「回転」させるエンジンです。これまでは、個々のサンプルがこの起動とループのロジックを自分で組み立てることがよくありました。エンジンが提供する標準シェルにそれを統合することは、毎回スケルトンを再構築するのではなく、クリーンで統一されたポイントからゲームの作成を開始できることを意味します。これは、「AI にゲームを作成させる」場合に特に重要です。出発点が標準的で予測可能であればあるほど、AI のコードはより簡単に正しく実行され、再利用できます。
小さな人間工学: 選択可能なテキスト + コンポーザーの右クリック メニュー
この日は、日常のいくつかの摩擦も解消しました。チャット内のテキストを期待どおりに選択してコピーできるようになりました。これは当然のことのように聞こえますが、以前は意図せずに無効になっていたため、エージェントの返信の一節を取り出すのが不便でした。作曲家は右クリック メニューを獲得し、一般的なアクションをすぐに実行できるようにしました。これらのそれぞれはそれ自体は取るに足らないものですが、まさにツールが「スムーズに使用できるかどうか」を決定するレイヤーです。テキストをコピーするだけでもぎこちないインターフェイスでは、機能がどれほど強力であっても、信頼性が損なわれてしまいます。これらのエッジを 1 つずつ滑らかにすることは、毎日使用する人々への基本的な敬意です。
この日が意味するもの
この日の内容をまとめると、このプラットフォームは「適切なツール」として長期的に使用するに値するのかという素朴な質問に答えられます。自分のプロジェクトを開くことができるということは、既存の作業方法に喜んで対応していることを意味します。バージョン番号、変更ログ、ショートカットがあるということは、それ自体を進化し続ける製品として扱い、ユーザーに対して責任を負っていることを示しています。インスタンス化、ビルドタイム クッキング、標準ランタイム シェルを追加するエンジンは、低レベルがより大きなシーンとより多くのコンテンツに向けて真剣に準備していることを示しています。テキストをコピーできるかどうかなどの詳細を気にすることは、日常の感覚を重視していることを示しています。 「デモができる」と「日常的に使える」の間には、まさにこのような地味だが欠かせない作業が存在する。