而且,儘管代理程式開發大幅降低了生產新軟體的成本,但它仍遠非免費。對於代理程式開發來說,時間就是金錢,這既是比喻意義上的,也是字面意義上的,因為查詢時間越長,意味著更多的令牌;這意味著更多的 AI 開支。有了 Flutter,成功完成編碼任務的代理程式無需重新開始支援另一個平台,從而為您節省了資金。
快速失敗,才能建造更好
我們知道我們想建造一個遊戲,您在其中駕駛月球著陸器,配備動態元素、自訂著色器和粒子效果。(我們不忍心將 Dash 本身置於冰冷的真空空間,所以,您將駕駛一艘船。) 當然,使用 AI 大大加速了這些概念的整合,但這並不妨礙稍後放慢速度並認真編寫高品質程式碼。如果有的話,透過 AI 進行的快速探索階段有助於您更快地達到該階段,因為您的許多失敗實驗可以在幾個提示的生命週期內來去,而不是花費數小時或數天的編程時間,只是為了了解某個特定的想法是否真的很有趣。如果這輩子有一件事無關緊要,那就是從未見天日的實驗性功能的程式碼品質。
**物理:** 因為這個遊戲發生在真空環境中,我們想要精確的反應控制系統 (RCS)。我們釋放了 Gemini Deep Research 來尋找我們需要的精確零大氣物理公式,它將這些公式編譯成 Google Doc。然後我們將該研究納入我們的語境中,Gemini 將方程式直接翻譯成 Dart。這些真的是正確的物理方程式嗎?可笑的是,我們不知道,因為我們不是物理學家!但是當您玩遊戲時,控制感肯定感覺正確。
**疊代原型**
我們從 AI Studio 的沙盒開始建立,以在提交架構之前生成快速、一次性的程式碼。這些豐富的原型可以作為模型以後的上下文壓縮,及早鎖定微觀決策。我們的一些原型具有更有趣的遊戲玩法,有些看起來更具吸引力,還有一些最清晰地捕捉了我們的零重力物理。對於我們的最終遊戲,我們將每個原型中最好的想法融合在一起。
我意識到核心問題是現代電腦架構的一個基本面向。您看,在現代多處理器 CPU 上,您可以告訴程式在未來精確的毫秒運行一段程式碼,但由於行程排程的性質,CPU 永遠無法保證完美精確度。而且,對我來說不幸的是,在重播期間啟動推進器的一毫秒延遲會從根本上改變飛船的模擬飛行路徑。我意識到,我不能僅僅記錄推進器時間戳,而是必須在每個推進器事件的精確時刻儲存著陸器物理狀態的完整表示,以校正重播期間的不準確性。Gemini 隨後整合了邏輯,以不斷將重播的即時模擬與這些物理檢查點進行比較,自動校正任何微小偏差。結果是完美無瑕、無崩潰的重播。
我們使用 Stitch 從單一提示生成了我們的行銷登陸頁面,並將我們正在運行的遊戲截圖作為上下文傳入。(誠然,如果生成優化的登陸頁面是我們的實際目標,我們會對此進行更多疊代。)使用一鍵匯出到 Antigravity,我們隨後下載了 HTML 並開始工作。因為我們是用 Dart 構建的,所以我們希望保持堆疊統一。我們使用 [Jaspr](https://pub.dev/packages/jaspr)(一個將 HTML 直接映射到 Dart 組件的 Web 框架)來無縫整合生成的 HTML。Gemini 完美處理了這種轉換,使我們能夠在遊戲和行銷網站之間共用程式碼,同時保留行業標準的 SEO 索引。