如何用 AI 製作真正的 Game Boy Advance 遊戲 (還能在實機上玩)
其他語言: English · Español · Deutsch · Français · Português · Italiano · Nederlands · Svenska · Norsk · Bahasa Indonesia · Türkçe · Polski · Tiếng Việt · Русский · 日本語 · 한국어
要用 AI 製作 Game Boy Advance 遊戲,請打開 Shiny Gen (在瀏覽器開啟 shinygen.ai/play,或使用 iPhone、iPad 和 Android 上的 app),開始一款新遊戲,挑選 GBA 引擎,然後描述你想要的遊戲。它的 AI 代理會撰寫遊戲,編譯成真正的 GBA 卡匣,試玩找出並修正錯誤,你就能下載 .gba ROM,這需要任一次購買,最低只要 $2.99 的入門包。這個 ROM 可以在 GBA 模擬器裡執行,也能透過燒錄卡在真正的 Game Boy Advance 上執行。
這篇教學會一步一步帶你操作,接著介紹哪些類型的遊戲效果好、老實說的限制,以及大家最常問的問題。
GBA 引擎是什麼
GBA 引擎是我們寫的引擎,能根據你的提示編譯出 新 遊戲。它不是模擬器,也不是 ROM 載入器:GBA、GBC、N64、GameCube 和 DS 引擎編譯的是你在 Shiny Gen 裡做的遊戲,無法執行商業或第三方的 ROM。
你的遊戲是用一種類似 C 語言的小型語言寫的 (檔案是 main.sgba)。Shiny Gen 會在你自己的裝置上把它編譯成 ARM 機器碼,把你的美術和聲音打包進卡匣,然後執行那個卡匣。沒有另外的預覽版本:你在 app 裡玩的遊戲就是卡匣本身。
你需要準備什麼
- 一個新式瀏覽器,或從 App Store 或 Google Play 下載的 Shiny Gen app。
- 一個免費的 Shiny Gen 帳號。新帳號一開始就有免費寶石,AI 花的就是寶石。
- 要下載 ROM:任一次購買,最低只要 $2.99 的入門包。
- 要在實機上玩:一台 Game Boy Advance 和一張 GBA 燒錄卡。模擬器則什麼都不用另外準備。
一步一步來
1. 開始新遊戲並選擇 GBA 引擎
按下 + 按鈕。在 App 內建代理 底下選擇 新增。下一個畫面會請你 選擇引擎:挑選 GBA 引擎。
新的 GBA 遊戲會在編輯器裡開啟。它刻意以空白卡匣開始,只有一個空的 init() (執行一次) 和 frame() (每秒執行六十次),這樣代理就會做出你描述的東西,而不是去改一個你沒要求的範本。

2. 描述遊戲
打開編輯器底部的 代理 分頁,在它的 聊天 檢視裡輸入你想要的東西。好的第一則訊息會說明它是哪種遊戲、玩家要做什麼、操作方式 (GBA 有十字鍵、A、B、L、R、Start 和 Select)、目標,以及外觀。
例如:「在 GBA 上做一款俯視角冒險遊戲。一隻狐狸探索森林,用文字框和村民對話,收集五盞燈籠。十字鍵移動,A 對話,Start 暫停。玩家在營火旁休息時儲存進度。」
輸入框旁邊的按鈕用來挑選模型,內建代理依實際用量以寶石計費。
3. 看代理建置並測試
代理知道它正在做的是卡匣。它會閱讀 GBA 的語言參考文件,撰寫程式碼並建置。如果建置失敗,編譯器會說明是什麼問題、在哪裡 (行、欄,以及應該改寫成什麼),代理就會修正。接著它會自己玩這款遊戲:
- 執行卡匣,並讀取建置報告,包括卡匣用掉了多少空間。
- 擷取畫面,檢查 240 x 160 螢幕上實際畫出了什麼。
- 按下按鍵 (A、B、L、R、Start、Select 和十字鍵),玩它做出來的東西。
- 讀回遊戲回報的數值,所以它能確認主角真的移動了、分數真的增加了,而不是用猜的。
- 修正壞掉的地方,再來一次。
它也能製作美術和聲音:精靈圖、背景和音樂,會依名稱放進卡匣。產生素材會花費寶石。
4. 用對話來修改
第一個版本能執行之後,在同一個聊天裡繼續。小而具體的要求效果最好:「加一個標題畫面」、「把第二個區域改成顏色更暗的洞窟」、「我走開之後文字框還開著;把它關掉。」說出你看到的狀況,不要去猜原因;代理可以靠試玩重現問題。
你也可以打開 程式碼 檢視,自己修改 main.sgba。手動修改程式碼完全免費,而建置時會換上新卡匣,不會弄丟你的存檔。
5. 在 app 裡玩
遊戲可以直接在編輯器裡玩,也能從遊戲的卡片開啟。在手機或平板上,操作按鈕顯示在螢幕上:左邊是十字鍵,右邊是 A 和 B,周圍是 L、R、Start 和 Select。在電腦上用鍵盤玩:方向鍵,Z 是 A,X 是 B,A 和 S 是 L 和 R,Enter 是 Start,Shift 是 Select。遊戲控制器也能用,你可以在控制器設定裡重新對應它的按鈕。
遊戲會像卡匣一樣存進自己的電池存檔,所以你可以離開後再回到原來的地方。

6. 下載 ROM
按下 分享,然後按 Export .gba ROM。匯出需要任一次購買,最低只要 $2.99 的入門包;每位擁有者都看得到這個按鈕,還沒有購買的話,它會改帶你到商店。這個按鈕只會出現在你擁有的遊戲上。
在把檔案交給你之前,如果有任何變更,Shiny Gen 會重新建置卡匣,然後在全新的模擬器裡開機,確認它能正常啟動。你會拿到一個以遊戲命名的 .gba 檔案。ROM 開機時會先顯示一個簡短的 Shiny Gen 啟動畫面,而且不包含你的存檔,所以你給別人的副本會從頭開始。
檔案會放到哪裡取決於裝置:在瀏覽器裡是一般的下載,在 iPhone 和 iPad app 裡則是「儲存到檔案」面板。Android app 目前還無法儲存檔案;請在手機或電腦的瀏覽器開啟 shinygen.ai 上的遊戲來下載,需要的是同一次購買。

7. 在實機上玩
燒錄卡 是一種 GBA 卡匣,裡面不是一款固定的遊戲,而是一個記憶卡插槽。你把 ROM 檔案複製到記憶卡上,主機開機時燒錄卡就會顯示這些遊戲的選單。我們已經在真正的 Game Boy Advance 和 Nintendo DS Lite 上玩過用這種方式做出的 ROM,存檔也正常。
一般步驟如下 (確切步驟請看你的燒錄卡說明書):
- 把
.gba檔案複製到燒錄卡的 SD 或 microSD 卡上。有些燒錄卡還需要先在卡上放它們自己的系統檔案。 - 把記憶卡插進燒錄卡,再把燒錄卡插進 Game Boy Advance。
- 開機,從燒錄卡的選單裡選擇你的遊戲。
有些燒錄卡會要你為每款遊戲選一個 存檔類型。我們的 ROM 使用 128 KB (1 Mbit) flash 存檔,並在 ROM 裡註明,燒錄卡和模擬器通常就是靠這個自動偵測。如果你的燒錄卡有問,請選 128 KB 或 1M flash。這樣存檔在燒錄卡上就會像在原版卡匣上一樣正常運作。
不用實機的話,任何 GBA 模擬器都能開啟這個檔案:例如電腦上的 mGBA,或 iPhone 上的 Delta。
哪些類型的遊戲效果好
我們遊戲目錄裡的 GBA 遊戲展示了能做到的範圍。你可以在瀏覽器裡免費玩全部的遊戲,也可以把任何一款重混成你自己的副本,再用代理修改:
- 收集怪獸的 RPG: Shiny Monsters Advance,有城鎮、文字框和怪獸對戰。它能透過網路和其他 Shiny Monsters 遊戲交換和對戰怪獸。
- 有旋轉「Mode 7」地面的賽車遊戲: Shiny Kart Advance,八名選手、三條賽道。
- 街機: Shiny Pinball,一台太空彈珠台。
- 動作和生存: Shiny Swarm,武器會自動開火,你要撐過一波又一波的敵人。
- 小而平靜的遊戲: Spark Garden 和 Ember Courier。

一般來說,適合這台主機的遊戲效果最好:俯視角冒險和 RPG、平台跳躍、益智遊戲、射擊遊戲、在旋轉地面上的賽車,以及任何用圖塊和精靈圖組成的遊戲。引擎支援捲動圖層、可旋轉和縮放的精靈圖、半透明效果、文字框、音樂和音效。
限制
GBA 引擎的限制和真正的主機一樣,還有幾件事還沒做好:
- 主機本身的限制。 240 x 160 的螢幕;同時最多 128 個精靈圖,每個最大 64 x 64 像素;每個調色盤 16 色;遊戲資料有 256 KB 的工作記憶體。沒有浮點數,所以位置使用定點數。每次建置都會報告每項預算用了多少,讓你在碰到限制之前就看得到。
- 沒有 3D。 GBA 繪製的是 2D 圖塊和精靈圖。「Mode 7」地面讓賽車遊戲看起來有 3D 感,但它其實是一張旋轉和縮放的 2D 圖片。
- 只限新遊戲。 它無法開啟或執行別人做的 ROM,你也無法匯入 ROM 來編輯。
- 還不支援實機上的連接線。 Shiny Monsters 遊戲之間的交換和對戰是在 Shiny Gen 裡透過網路進行的。兩台主機之間用真正的連接線遊玩還沒有驗證,所以我們不做這個保證。
- 存檔跟著你。 ROM 不會帶著你的進度,Shiny Gen 會把你在 app 裡的存檔保留在你的帳號中。
- 下載需要購買,而且 Android app 目前還無法儲存檔案。 匯出 ROM 需要任一次購買,最低 $2.99;在 Android 上請用瀏覽器下載。
其他復古引擎
GBA 是我們寫的五個復古引擎之一,它們的用法都一樣:挑選引擎、描述遊戲,代理就會建置並測試。GBC 會做出 Game Boy Color ROM,N64 做出 N64 ROM,GameCube 做出 .dol 檔案,DS 做出雙螢幕的 .nds 檔案,匯出其中任何一種都只需要同一次購買,最低 $2.99。如果你想做的是現代的 2D 或 3D 遊戲,同一個畫面上的第六個選項就是 Godot 引擎。也可以看看 Shiny Gen 與其他 AI 遊戲製作工具的比較。
常見問題
AI 能做 Game Boy Advance 遊戲嗎?
可以。在 Shiny Gen 裡選擇 GBA 引擎並描述遊戲;AI 代理會撰寫程式碼、編譯成真正的 GBA 卡匣、用按鍵試玩找出錯誤,並修正它們。只要任一次購買 (最低 $2.99),你就能下載 .gba ROM。
這是真正的 GBA ROM 嗎?
是的。它是標準的 .gba 卡匣映像檔,編譯成 ARM 機器碼,有合法的卡匣標頭。Shiny Gen 在交出每個 ROM 之前,都會在全新的模擬器裡開機,而我們已經透過燒錄卡在真正的 Game Boy Advance 和 DS Lite 上玩過這些 ROM,存檔也正常。
它能玩寶可夢或其他商業 ROM 嗎?
不行。GBA 引擎不是模擬器,也不是 ROM 載入器。它編譯的是你在 Shiny Gen 裡做的新遊戲,無法執行商業或第三方的 ROM。
我需要會寫程式嗎?
不需要。你描述遊戲,代理會撰寫並測試程式碼。如果你想,可以在程式碼檢視裡閱讀和修改程式碼;手動修改完全免費。
我可以販售我做的 GBA 遊戲嗎?
可以。你做的東西歸你所有,Shiny Gen 不抽任何分潤 (服務條款第 4 節)。你可以販售 ROM 檔案本身;匯出它需要任一次購買,最低 $2.99。
這個 ROM 能在哪些裝置上執行?
GBA 模擬器,例如電腦上的 mGBA 或 iPhone 上的 Delta,以及透過燒錄卡的實機。我們已經在 Game Boy Advance 和 Nintendo DS Lite 上測試過,存檔也正常,任何能玩 GBA 卡匣的主機或掌機應該都能執行,例如 Game Boy Advance SP。
我的燒錄卡應該選哪種存檔類型?
128 KB (1 Mbit) flash。ROM 裡有註明,所以燒錄卡和模擬器通常不用問就會自動選好。
這是免費的嗎?
製作、遊玩和分享遊戲都是免費的。AI 生成和內建代理會使用寶石,新帳號會拿到免費寶石。下載 ROM 需要任一次購買,最低只要 $2.99 的入門包。完整清單在 價格頁面。