返回资讯中心
外部精选
软件工程
#开发者实时流

We Built Uncatalogued with Rust and Raycast 3D for the Game Boy Advance

返回部落格 為什麼我們用 Rust 與 Raycast 3D 來開發 GBA 遊戲《未編目》

Hacker News 最新ippan2026/10/31 · 今天3 分钟阅读

以下正文同步自 Hacker News 最新,版权归原站所有,已转换为易读排版。

返回部落格 為什麼我們用 Rust 與 Raycast 3D 來開發 GBA 遊戲《未編目》

SimplexCode 2026年10月31日

#Rust #GBA #Raycast #開發日誌

在上一篇開發介紹中,我們介紹了第一人稱閱讀推理 Roguelite 《未編目 Uncatalogued》,並提到這款遊戲是真正針對 Game Boy Advance(GBA)的硬體限制所設計的。當你在 Steam 下載 PC 版時,安裝目錄裡也會直接附帶可在 GBA 實機(透過燒錄卡)或模擬器上遊玩的 .gba ROM 檔。

這篇文章想跟大家簡單聊聊背後的兩個技術選擇:為什麼我們用 Rust 開發?以及為什麼選擇 Raycast 3D 而不是「真 3D」?

過去開發 GBA 遊戲幾乎都是使用 C 語言或組合語言,但對我們團隊來說,選擇 Rust 其實非常自然。

早在好幾年前,我們團隊就曾經用 Rust 移植過經典的 DOS 老遊戲。那次經驗讓我們非常喜歡 Rust:它既有底層語言對效能與記憶體的掌握力,又有現代化的型別系統與好用的工具鏈,寫起來非常順手,也大幅減少了底層開發常見的記憶體錯誤。

後來我們發現,現在的 Rust 生態系已經支援開發 GBA 遊戲了!這讓我們能用自己最喜歡的語言來寫 GBA 遊戲,同時讓 GBA 版與 Steam PC 版共用同一套核心程式,不需要維護兩套截然不同的程式碼。

GBA 是 2001 年推出的掌機,只有一顆 16.78 MHz 的處理器,沒有 3D 加速硬體,也沒有浮點數運算器(FPU)。

在企劃初期,我們評估過要在 GBA 上做全多邊形的「真 3D」還是「Raycast 3D(射線投射,類似《德軍總部 3D》與經典第一人稱地牢遊戲)」,最後決定採用 Raycast,主要有三個原因:

為了讓 Raycast 引擎在 GBA 上流暢運作,我們也配合硬體特性做了幾個有趣的設計:

至於開發過程中遇到的其他挑戰——例如我們是怎麼在 GBA 有限的空間裡放進繁體中文、日文、英文三語點陣字型與大量書籍文本,以及如何合成四聲道復古配樂——就留到下一篇文章再跟大家分享!

《未編目 Uncatalogued》的 Steam 商店頁面現在已經正式公開了(支援 Windows、macOS、Linux 與 Steam Deck,並隨附 .gba ROM 檔)。

對獨立開發團隊來說,初期的願望清單(Wishlist)數量對我們是莫大的幫助。如果你喜歡復古地牢探索、GBA 掌機遊戲,或是靠閱讀與推理推進度的解謎作品,懇請幫我們點進 Steam 加入願望清單:

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →