2026 年如何製作 RPG 遊戲(從一個房間到可遊玩的世界)
打造你自己的 RPG 遊戲製作方法
一份實用且適合初學者的 RPG 製作指南:該先做什麼、核心系統有哪些,以及如何在不用寫程式的情況下做出一款可遊玩的瀏覽器遊戲。
你可以透過先做出一個房間、一個角色、一個任務和一場戰鬥來學會如何製作 RPG 遊戲,之後再碰世界地圖。這個順序不是個人偏好,而是唯一能讓你逐一獨立測試每個系統的順序。房間能驗證移動、碰撞與攝影機。角色能驗證互動與對話。任務能驗證狀態與完成條件。戰鬥則能驗證行動順序、傷害數值與勝利條件。
在像 Neta Studio 這樣的瀏覽器 3D 遊戲建構器中,這四個系統都是同一個可編輯物件——你不需要在編輯器與執行環境之間匯出,也不需要從零撰寫存檔系統。這改變了 RPG 專案的第一週。你不是在組裝一套引擎,而是在描述並編輯一個世界。本指南涵蓋類型選擇、四大核心系統、四個製作步驟、五個可檢查的錯誤,以及如何在遊戲完成之前就發布一個可遊玩的連結。
快速解答:先從一個房間開始
先從一個房間開始:一個角色、一個目標。先驗證整個循環——移動、對話、接下任務、戰鬥、完成——然後再向外擴展。房間是測試用的框架,不是一個關卡。如果循環在這個規模下都無法運作,更大的地圖只會掩蓋失敗。
「如何製作 RPG 遊戲」這個問題,通常一開始就指向錯誤的步驟。人們在還沒確認玩家能走到 NPC 面前、按下互動、看到對話框打開之前,就先問職業、技能樹和世界地圖。製作 RPG 和製作任何互動系統一樣:先定義最小而完整的互動,讓它能運作,然後再增加分支。一個有四面牆和一個出口的房間,能驗證四面的碰撞加上一個門觸發器。一個只有一句台詞的角色,能驗證互動半徑,以及記住對話發生過的狀態旗標。一個任務能驗證當條件達成時會遞增的計數器。一場戰鬥能驗證行動順序、一個傷害數值和一個勝利條件。一旦循環能從頭到尾跑完,之後每個追加的功能都是在既有路徑上擴充,而不是新的未知。
你正在製作哪一種 RPG?
類型的決定會先決定你的資料模型,然後才決定你的內容。回合制 RPG 把動作儲存為帶有先攻值的佇列項目。動作 RPG 把它們儲存為逐影格的命中判定區間與冷卻時間。Roguelike 則儲存一局的隨機種子與房間池。如果你選錯類型,第一次試玩後你得重建的是戰鬥系統,而不是美術。
把下表當作篩選器,而不是菜單。對第一個專案而言最重要的一欄是最後一欄:這個類型有沒有一個能在一個房間、一次工作階段內驗證的循環?JRPG、戰術 RPG 和文字 RPG 有。開放世界 RPG 和動作 RPG 沒有,因為它們的價值在於跨越多個空間的移動或時機掌握,而這兩者在單一房間裡都無法測試。
第一個專案請挑一個核心循環能塞進單一場景的類型。你之後可以更換類型——房間、角色和任務都能在更換後保留下來;只有戰鬥與攝影機邏輯會被替換。本網站的類型指南更深入地說明這些差異,包括哪些類型共用相同的底層資料結構。
| RPG 類型 | 核心循環 | 第一個專案的難度 | 適合當第一個專案? |
|---|---|---|---|
| JRPG | 探索、觸發遭遇、選擇指令、結算回合、獲得 XP | 中等 | 是——循環能塞進一個房間 |
| 動作 RPG | 移動、瞄準、即時命中、閃避、重複 | 高 | 否——需要調校過的時機與命中判定區間 |
| 開放世界 RPG | 穿越區域、發現地點、完成活動、快速旅行 | 非常高 | 否——價值在於規模,而非單一循環 |
| Roguelike | 進入一局、清空房間、選擇升級、死亡、帶著長期進度重新開始 | 中等 | 是——前提是第一次製作時把房間池維持在 1–2 個 |
| 戰術 RPG | 在格線上部署單位、選擇動作、結算回合、推進目標 | 中等至高 | 是——格線加上行動順序能在一個房間裡測試 |
| 文字 RPG | 閱讀提示、選擇選項、更新狀態、重複 | 低 | 是——循環本身就是介面 |
| 視覺小說 RPG | 閱讀場景、選擇分支、更新旗標、抵達結局 | 低 | 是——但戰鬥是選用的,所以能測試的系統較少 |
RPG 的四大核心系統
RPG 是共用同一份狀態的四個系統:世界、角色、任務、戰鬥。它們不是各自獨立的功能;它們讀寫相同的旗標。任務系統會讀取一個角色旗標,以得知 NPC 是否已被交談過。戰鬥系統會寫入一個旗標,讓任務系統讀取以得知頭目已經死亡。如果你把它們當成互相獨立的模組來做,第二週就會花在它們之間撰寫黏合程式碼。
瀏覽器建構器改變了一件事:四個系統都是同一個可編輯物件。裝著房間的世界節點,同時也以子屬性的形式裝著角色、任務觸發器與戰鬥遭遇。你可以就地編輯它們,不必匯出場景檔再重新匯入,也不必為任務狀態維護一個獨立資料庫。這意味著角色對話的變更在下次頁面載入時就會顯示,不需要建置步驟。這也意味著某個系統的錯誤就是共用物件的錯誤,所以要按順序測試。
這種互相扣合本身就是設計。沒有角色的任務是漂浮的目標。沒有任務的角色是佈景。沒有任務獎勵的戰鬥則是小遊戲。請按照世界、角色、任務、戰鬥的順序來做,讓每個新系統都有東西可以依附。
世界
世界就是幾何加上碰撞再加上攝影機。在第一個房間裡,世界就是四面牆、地板、天花板、一盞燈和一扇門。你需要在牆上有碰撞,在門上有一個觸發體積。其他都不需要。攝影機不是第一人稱,就是固定的第三人稱偏移;挑一種,並在移動穩定之前不要加上切換功能。第一個要檢查的具名設定:碰撞圖層。如果地板和牆所在的圖層與玩家不同,你會穿過地板掉下去,然後花上一小時處理它。
角色
角色就是一個網格模型、一個互動半徑和一份對話內容。互動半徑是提示出現的距離。一開始設為角色寬度的大約一點五倍;如果太大,玩家還沒靠近到能閱讀時提示就會出現。對話內容是一串台詞加上一個觸發條件。Agent Sprite Forge 負責外觀——你描述角色,就能取回一個精靈圖或模型——所以製作步驟是半徑和台詞,而不是美術。
任務
任務就是一個條件加上一個獎勵再加上一個狀態。條件是遊戲能檢查的旗標。獎勵是一個道具、一個旗標,或一扇門開啟。狀態是未啟動、進行中、已完成三者之一。第一次製作有三種狀態就夠了;在有任務真的可能失敗之前,不要加上失敗或過期。任務會和發布它的角色存在同一個物件上,這就是角色和任務要依這個順序製作的原因。
戰鬥
戰鬥就是行動順序、一個動作、一次結算和一個勝利條件。回合制比即時制更容易製作、也更容易調校,因為每個事件都是離散的。你可以讀取紀錄,確切看到發生了什麼。在瀏覽器建構器中,戰鬥是一個具有固定攝影機的場景或子場景;回合制交手不需要物理,只需要傷害數值,以及當一方生命值歸零時結束遭遇的檢查。
步驟 1:先從一個房間開始
對第一次製作來說,房間勝過地圖,因為它能驗證最常失敗的三個系統:移動、攝影機和碰撞。地圖會把這三者都藏在移動過程後面。在房間裡,你幾秒內就會撞到牆,立刻知道碰撞是否設定好。你轉動攝影機,就知道它是否會穿過幾何。你從一個角落走到另一個角落,就知道移動速度相對於房間大小是否合適。
一個具體的起始提示:描述一個大約十公尺見方的石室,北牆上有一扇木門,東南角有一個寶箱,西牆上有一支火把。這個描述會產生地板、四面牆、天花板、一個光源、一個門物件和一個寶箱物件。門是一個觸發體積,不是牆。寶箱是一個還沒有行為的可互動物件。你現在就有測試框架了。
如果你想參考在這個建構器裡,一個小而有人氣的空間長什麼樣,The Cyclops' Island 和 Mini World 都是以小型世界而非大型地圖的形式提供,兩者都可以打開並編輯,看看碰撞、燈光和可互動物件是如何安排的。不要複製它們的內容;要複製它們的規模。第一個房間應該能在每個方向都於十秒內走完。
01
描述或放置一個大約十公尺見方、有四面牆、地板、天花板和一扇門的房間。
02
設定玩家碰撞圖層,讓牆會阻擋移動,而地板不會。
03
放置一個光源,並確認房間看得清楚但不會太亮。
04
把攝影機設為第一人稱或固定的第三人稱偏移,然後就維持不動。
05
沿著整個周邊走一圈,確認你會與每一面牆碰撞,並能穿過門的觸發器。
06
調整移動速度,直到穿過房間大約需要四秒。
步驟 2:加入一個角色
一個 NPC 要存在需要三樣東西:一個外觀、一句台詞和一個觸發條件。外觀來自 Agent Sprite Forge 或一個基本圖形。台詞是一個單一字串。觸發條件是讓台詞出現的狀態——通常是接近加上一個旗標。如果 NPC 三樣都有,玩家就能互動,而且會有事發生。如果少了任何一樣,這個 NPC 就只是佈景。
有目標的角色和沒有目標的角色,差別就在觸發條件。沒有目標時,每次玩家靠近,NPC 都說同一句台詞,而那句台詞沒有任何後果。有目標時,台詞會改變狀態:第一次互動設定一個旗標,第二次互動讀取該旗標,並產生不同的台詞或開啟一個任務。這個旗標是一個布林值。這個布林值就是道具和角色之間的差別。
測試時讓互動半徑保持可見。放置 NPC,朝它走去,記下提示出現的距離。如果提示從房間的另一頭就出現,就把半徑縮小。如果玩家必須和 NPC 重疊,就把半徑加大。半徑應該寬鬆到玩家不必苦苦尋找互動點,又緊到不會對房間裡每個物件都顯示提示。
- 沒有目標一句台詞,沒有旗標。玩家靠近、讀完台詞,然後走開。這只能驗證互動半徑和對話框,沒有別的。
- 有目標兩句台詞和一個布林值。第一次互動設定旗標;第二次讀取它,並改變角色所說或所提供的內容。這會驗證狀態的持續保存,也就是 RPG 其餘部分都依賴的系統。
步驟 3:加入一個任務
任務有三個部分:目標、代價和獎勵。目標是完成任務的條件。代價是玩家放棄或冒險失去的東西。獎勵是世界中所改變的事物。如果一個任務有目標卻沒有代價,它只是一個待辦事項。如果它有目標和獎勵卻沒有代價,它就是一份禮物。代價才是讓玩家做出決定的東西。
第一個任務之所以要「可測試」而不是「令人驚豔」,是因為你能在一分鐘內完成它並觀察到狀態改變。可測試的任務有一個條件、一個獎勵和一個可見的變化。令人驚豔的任務有分支、對話樹和道德抉擇,你不把整段玩完就無法判斷它是否可行。先做可測試的那個。令人驚豔的那個是既有可行結構的變化版本,而不是它的替代品。
直接複製這三個範本。它們的設計都是要在單一房間中,用單一 NPC 和單一可互動物件來完成。每一個都使用一個布林值和一個道具旗標,所以當它沒有觸發時,狀態很容易檢查。
01
取物:角色要求一件就在房間裡的物品。目標:玩家擁有該物品。代價:那段路程加上互動。獎勵:一個能打開門的旗標。
02
傳話:角色請玩家去和第二個角色交談。目標:兩個旗標都被設定。代價:找到第二個角色。獎勵:一句新台詞和一個關鍵物品。
03
清場:角色請玩家擊敗房間裡的敵人。目標:敵人生命值歸零。代價:那場戰鬥。獎勵:敵人掉落一個能開啟下一區域的物品。
步驟 4:加入一場戰鬥
回合制適合第一個版本,因為它易讀也易於調校。每個動作都是一個帶有數字的離散事件。當戰鬥感覺不對時,你可以讀取紀錄並改一個數字:敵人生命值、玩家傷害或行動順序。在即時戰鬥中,同樣的調整會被時機掩蓋,你不經過大量試玩就無法判斷改動是否有效。
預告是玩家得知敵人將要做什麼的方式。在敵人行動之前,介面會顯示它打算採取的動作——一個名稱、一個圖示或一行文字。接著玩家再選擇回應。沒有預告時,戰鬥只是一場比誰傷害高的競賽,玩家毫無決定可言。有預告時,玩家的回合就變成對已知資訊的回應。這單一改變,就是讓回合制戰鬥感覺像解謎而不是試算表的原因。
第一場戰鬥維持在兩個行動者和三個動作:攻擊、防禦和一個特殊動作。防禦應該要能把受到的傷害降低到有時使用它是正確選擇的程度。如果防禦永遠不是正確選擇,就移除它。如果它永遠是正確選擇,那就太強了。調校目標是一場玩家能在三到五個回合內獲勝、同時損失大約一半生命值的戰鬥。這就為下一場戰鬥留下空間,可以在不加入新機制的情況下變得更難。
- 預告動作敵人的下一個動作在玩家做出選擇前就可見。這會把玩家的回合從猜測變成回應。
- 誠實的傷害數值顯示傷害數值,而不只是血條。玩家會根據數字調整自己的策略,而你也能從同一個顯示畫面偵錯平衡性。
- 每方一個特殊動作每個行動者一個非基礎動作就足以產生決定。在第一個特殊動作還未平衡之前就加入第二個,會讓需要調校的範圍加倍。
五個新手常犯的錯誤
這些都是可檢查的,而不是空泛的期許。每一項都有一個你能在一分鐘內跑完的測試。如果你不確定自己是否正在犯這個錯誤,就執行那個測試。
這五項背後有一樣的模式:在所依賴的系統還無法運作之前就先去建置某個系統。地圖依賴移動。故事依賴任務。存檔系統依賴值得儲存的狀態。敵人依賴碰撞。發布則除了可走動的成品之外什麼都不依賴,這就是它能最早發生的原因。
01
在驗證循環之前就建置地圖。測試:你能在一分鐘內,在目前的成品中完成一次完整的互動嗎?如果不行,那張地圖就太早了。
02
在第一個可遊玩版本之前就寫了三萬字的故事。測試:那則故事有任何一行出現在成品中嗎?如果沒有,它就只是一份文件,不是遊戲。
03
沒有存檔。測試:你能關掉分頁再回來,並回到相同狀態嗎?如果不行,每次試玩都從頭開始,而你會停止測試。
04
在碰撞能運作之前就放置敵人。測試:敵人能穿牆嗎?如果可以,碰撞還沒做好,而敵人會掩蓋錯誤。
05
認為遊戲必須完成後才能發布。測試:其他人能打開它並四處走動嗎?如果可以,就發布它。如果不行,先修好這件事,再增加內容。
工具:用引擎還是不用引擎?
有三條路線。完整引擎給你最大的控制權,但要求你在製作遊戲之前先做出編輯器、執行環境和匯出流程。製作工具為某一種類型的 RPG 提供固定的資料模型,能加快該類型,卻也限制其他一切。瀏覽器建構器則給你一個可直接就地編輯的執行中世界,徹底免除建置步驟與匯出步驟。
正確的選擇取決於你在測試什麼。如果你是在測試自己是否喜歡製作 RPG,就用能最快做出可走動成品的那條路線。如果你是在測試一個現有工具都不支援的特定戰鬥系統,那你需要引擎。大多數第一個專案屬於前者,卻還是用引擎來做,這就是為什麼大多數第一個專案都停在選單畫面。
本網站的引擎比較依「你在每條路線中必須自己做什麼」來拆解這三條路線。在你確定採用某套工具鏈之前先讀一讀。這個決定在投入兩週工作之後要回頭,代價很高。
發布你目前做出的東西
及早發布一個可走動的連結,是多數指南會略過的一步,而它正是讓其他一切都能被測試的一步。在你機器上的成品只是一種私人看法。放在網頁上的成品,則是別人可以查核的主張。當第二個人能在你的房間裡走動的那一刻,你就有了錯誤回報的來源、一個回饋循環,以及修好碰撞圖層的理由。
發布需要三樣東西:一個標題、一個頁面和一個連結。標題是這個成品的名稱,而且應該明確——用暫時的工作標題也可以。頁面是描述這個成品是什麼、玩家該做什麼的容器。連結是你可以傳給某個人的網址。在瀏覽器建構器中,頁面和連結會在你發布時產生;你不必設定主機,也不必上傳成品。
在第一個房間時就發布,而不是等到第一個地牢。真正重要的版本號不是內容的完整度,而是預定的動作是否可行。一個只有一個房間和一次可用互動的已發布成品,比一個有十個房間卻門壞掉的未發布成品更有用。第一個發布的連結,也是你第一次在不是自己的硬體上看到影格率,這是有關效能與輸入處理最早出現的訊號。
01
給這個成品一個明確的標題。
02
在頁面上寫一句話,說明玩家該做什麼。
03
發布並複製連結。
04
在另一台裝置上開啟連結,確認移動與互動都能運作。
05
把它傳給一個人,請他描述發生了什麼。
走進它所屬的世界
每一份指南都能描述步驟一;只有可遊玩的世界能把它展示出來。Little Ritual 是本指南最小的完整版本:一個小世界、四個角色、四項任務——沒有更多。在你動手做自己的之前,先打開它到處走走。
FAQ
製作一款 RPG 要花多久時間? +
在瀏覽器建構器中,做出一個可遊玩的第一個房間——包含移動、一次互動、一個任務和一場戰鬥——只需一次工作階段。要把它擴展成一款小型完整遊戲,是以「週」而非「小時」來計算。
我需要寫程式嗎? +
不需要。瀏覽器建構器會把碰撞圖層、互動半徑、對話內容、任務旗標和行動順序以可編輯屬性的形式呈現。你需要的是理解這些系統,而不是撰寫它們。
我應該先做什麼? +
一個房間。移動、攝影機和碰撞是最常失敗的系統,而單一房間就能全部驗證。先建好房間,沿著周邊走一圈,確認碰撞,然後再加入角色。
我可以一個人製作 RPG 嗎? +
可以。四大核心系統——世界、角色、任務、戰鬥——彼此夠獨立,一個人可以依序製作並測試。限制在於內容的量,而不是系統的複雜度。
Unity 還是 RPG Maker? +
Unity 給你最大的控制權,但要求你自己建置系統。RPG Maker 提供固定的 JRPG 資料模型,能加快該特定類型。選擇的依據在於你的戰鬥系統是符合現有模型,還是需要自訂邏輯。
我可以用紙上原型製作 RPG 嗎? +
可以,而且這是有用的一步。在打造介面之前,先用紙上原型測試回合循環——寫下敵人的動作、選擇回應、套用傷害——能驗證這場戰鬥是否有決定性。
我可以免費製作 RPG 嗎? +
一個在瀏覽器中執行並能發布連結的瀏覽器建構器,免除了完整引擎路線的授權與主機成本。剩下的成本是時間,而這一點在每條路線上都是一樣的。
我要怎麼發布它? +
給成品一個標題,寫一句話描述目標,發布,然後複製連結。在瀏覽器建構器中,頁面和連結會在發布時產生。第一個發布的連結,是對效能與輸入在不是自己的硬體上進行的第一次真正測試。
回到 3D 遊戲建構器
全部 31 個完成的 3D 世界、遊戲和場景都在同一頁上——每一個都能遊玩。