RPG 產生器 · 建構器 · 做出一款 RPG

RPG 產生器 — 用一句話打造並做出一款 RPG(免費、免程式碼)

打造你自己的 RPG 產生器

一款 RPG 產生器,能從一句話打造出可行走的 3D 世界——任務、角色與回合制戰鬥,在瀏覽器中就能暢玩,免引擎、免程式碼。免費開始。

✦遊戲
製作一個 RPG 產生器

如果你曾經在同一個下午,打開引擎、一個空白場景,還有一個物理設定面板,你就知道第一小時通常花在設定上,而不是花在遊戲上。Neta Studio 的 RPG 產生器踏出不同的第一步。你在單一文字框裡輸入一句話——例如「一座被洪水淹沒的港鎮,那裡的海關管理員是個幽靈」——系統就會回傳一個可行走的 3D 場景。不是情緒板,也不是節點圖。而是一個你能用 WASD 走動的場景,地面碰撞體、玩家膠囊體和攝影機都已經接好。打造世界的同一條管線,也讓 RPG 建構器變得可用:世界、NPC、任務旗標,以及回合制戰鬥循環,全都先以描述撰寫,再就地編輯。

本頁談的是這個工具能做什麼、不能做什麼,以及真正的摩擦點在哪裡。我們不會假裝瀏覽器建構器在任何專案上都能取代完整引擎。它做不到。如果你需要自訂著色器、連線物理或外掛生態系,你終究會離開它。但如果問題是「我能不能在這週做出一款 RPG,不安裝 Unity、不寫狀態機,也不把建置檔上傳到伺服器?」——可以。本頁其餘部分會說明這在實務上如何運作。

用一句話做出一款 RPG

輸入是平實的自然語言。不是表單,不是下拉選單,也不是範本挑選器。你寫下一句話——「一座漂浮在沙塵暴之上的修道院,三名僧侶,其中一人正在說謊」——RPG 建構器就會把它解析成一個場景圖。回傳的是一個可暢玩的 Three.js 場景:照明、地面網格、碰撞體積、第三人稱攝影機,以及一個玩家控制器。你不必命名圖層、不必匯入模型,也不必設定質量值。如果句子太過含糊(例如「一個很酷的關卡」),輸出就會很泛用,而你會立刻想編輯它。這是預期中的事。句子是起點,不是最終規格。

有兩件事同時發生。世界被建構出來,而一組可編輯的物件會曝露在場景樹中。那些物件就是建構器內部使用的同一批基本元素:地形體積、角色出生點、任務觸發體積,以及戰鬥遭遇區。你可以重新命名、移動或刪除它們。你也可以改寫原始句子並重新生成——但第二次生成不會與你先前的編輯合併,而是取代它們。這是一個真實的失敗模式,值得在第一天就知道:重新生成之前,先保留任何手動編輯的副本。

解析器實際上讀取了什麼

解析器不會從文學意義上理解主題或氛圍。它會尋找具名實體(地點、角色、物件)、空間關係(「上方」、「後方」、「下方」)與數量(「三名僧侶」)。接著把這些對應到一個種子場景。照明與調色盤會從一組小型關鍵字推斷——「夜晚」、「洪水」、「沙塵暴」——如果一個都沒有,你就會得到預設的日光配置。如果你想要特定的感覺,請把那個感覺明確寫進句子裡。「Neon County」之所以行得通,是因為「neon」和「county」都被辨識出來;「一個泛用的酷地方」則行不通。

生成的場景永遠可以編輯。沒有被鎖住的基底。如果你偏好,也可以刪掉每一個生成的物件,從空白格線開始打造——句子是捷徑,不是牢籠。

  • 單一輸入框單一文字欄位可接受自然語言描述。首次建構前沒有範本挑選,也沒有參數滑桿。
  • 場景圖輸出成果是一個可行走的 Three.js 場景,玩家膠囊體、地面碰撞體,以及環繞或第三人稱攝影機都已配置好。
  • 可編輯的基本元素地形體積、角色出生點、任務觸發器與戰鬥區,都會以具名物件的形式曝露在場景樹中。

現在就玩一款

在這個關鍵字上,每個純文字的同類產品都展示一張截圖和一份功能清單。我們展示一個正在運行的場景。本頁嵌入的試玩版是從一句話生成出來的,不是影片循環——你可以在裡面走動、閱讀 NPC 對話,並觸發第一場遭遇。重點不在於試玩版很厲害。重點在於它能比任何清單更快解決你的疑問。你可以在十秒內判斷:移動的手感對不對、攝影機會不會撞到牆,以及戰鬥轉場是即時發生,還是有你必須納入設計考量的延遲。

試玩版與發布到已出版世界的執行環境是同一個。沒有「試玩模式」的旗標。玩家控制器、碰撞反應、戰鬥狀態機與任務旗標儲存,全都是正式版本。如果試玩版在你的機器上卡頓,你發布的世界也會卡頓。這是有用的資訊,而且在你寫下任何一行描述之前就能取得。

一個誠實的限制:試玩版很小。它只有一個街區、四個 NPC、一個任務、一場戰鬥。它不是一款完整遊戲的垂直切片。它的任務是回答「這個引擎的手感對不對」——而不是「我能不能從這個頁面做出一款四十小時的 RPG」。

Mini World——描述一個物件,看著世界在瀏覽器中重新建構。

RPG 產生器實際上究竟是什麼

簡短回答:RPG 產生器是一種能產出三樣東西的工具——一個你能走動穿越的世界、佔據那個世界並能對話的角色,以及一個讓穿越世界變得有意義的戰鬥或成長循環。如果一個工具只產出第一項,它是關卡編輯器。如果它產出前兩項,它是場景工具。三者兼具,才使它成為 RPG 產生器。

瀏覽器建構器之所以把這三者收攏成同一個物件,是因為在瀏覽器裡,一切都是同一個執行環境。地形網格、NPC 的對話觸發器,以及戰鬥遭遇體積,全都是同一個場景圖裡的節點,由同一個算繪迴圈評估。沒有必須額外載入的獨立「戰鬥場景」。當你走進遭遇區,戰鬥狀態機啟動,介面層在 3D 畫布之上算繪,而世界把自身狀態保存在記憶體中。這就是為什麼轉場時間以毫秒計,而不是以秒計。

這種收攏是有代價的。因為一切都是同一個執行環境,一個撰寫不良的遭遇區如果試圖預先載入太多東西,就可能拖垮整個場景。實務上的原則是讓遭遇區保持小巧,只讓它拉取真正需要的素材。如果你發現接近戰鬥觸發器時影格率下降,那是觸發器做了太多工作,而不是算繪迴圈的問題。

世界

世界是一個地形體積,加上一組碰撞體,再加上一套照明配置。在建構器中,你先以描述撰寫它,再調整個別體積。碰撞體組才是讓它能被行走的關鍵;一個沒有碰撞體的美麗網格不是世界,而是背景板。每個生成的場景都附帶一個地面碰撞體與一個邊界體積,而你可以選取網格並選擇「新增碰撞體」來添加更多。

角色

角色是生成出來的實體,帶有一個模型、一個碰撞膠囊體、一個互動半徑,以及一個對話圖。對話圖是大家最容易低估的部分。它是一個小型狀態機:每個節點都有文字、可選的條件,以及可選的效果。效果會設定旗標、啟動戰鬥,或移動玩家。如果你從沒撰寫過,先從三個節點和一個條件開始——「若 has_sword 為真,說 X,否則說 Y」。這個單一模式就能撐起多數早期的 RPG 對話。

戰鬥

戰鬥是一個跑在 3D 場景之上的回合制狀態機。當遭遇觸發時,世界暫停,戰鬥介面掛載,回合以固定順序結算。你透過定義參戰者(屬性、招式、HP)、遭遇群組,以及啟動它們的觸發器來撰寫戰鬥。數學很單純:damage = move_power * attacker_stat / defender_defense,向下取整,最小值為 1。如果你想要不同的數學,公式是開放可改的。

RPG 建構器對比 RPG Maker 對比引擎

這三個詞經常被混用,但它們的意思並不相同。實務上的差別在於:你的成果存在哪裡,以及你得安裝什麼才能看到它。

RPG 建構器是瀏覽器工具:你描述、你看見成果、你就地編輯。RPG Maker 是具備固定編輯器的桌面應用程式——你在它的視窗裡工作,而成果是一個你匯出的建置檔。引擎則是一種通用執行環境,大致上你得自己打造編輯器。這三者沒有哪一個絕對更好。它們以不同的方式失敗。當你需要某個它未開放的功能時,建構器會失敗。當你的遊戲不符合它的類型假設時,Maker 會失敗。當你在第一個可玩版本出現前,先花三週在基礎設施上時,引擎會失敗。

Neta 屬於建構器這一欄。這是刻意的定位。交換條件是:你在幾秒內得到一個可暢玩的場景,但放棄了安裝任意外掛的能力。如果你的專案需要特定的著色器函式庫或連線外掛,建構器就是錯誤的工具,而你應該在開始之前就知道這一點。

RPG 建構器(Neta)RPG Maker(桌面)引擎
你如何打造以文字描述,編輯產出的場景樹在固定編輯器中拖曳圖塊與事件撰寫程式碼與指令稿;自行打造工具鏈
你要安裝什麼什麼都不用——在瀏覽器中運行桌面應用程式及其執行環境引擎、SDK,再加上編輯器外掛
建構時能否看到成果可以——在同一個分頁中即時看場景通常需要一個試玩視窗只有在建置後或編輯器遊玩模式下才能
成本為何免費開始;免安裝依版本而定,可能是一次性授權或免費方案免費下載;成本是你的時間

四步做出一款 RPG

這個循環刻意設計得很小。描述、調整、加入角色、加入任務、加入戰鬥。每一步都有一個可核對的結果——如果你看不到變化,就代表這一步沒成功,你不該繼續往下走。

順序不如檢查來得重要。人們常常在世界還不能行走之前就急著加入戰鬥,然後除錯就變得不可能,因為你分不清問題出在碰撞體還是觸發器。先讓世界可以行走。其他一切都要附著在一個能運作的世界之上。

1

01

描述世界。寫一句話,指名一個地點、一個氛圍關鍵字,以及任何你想出現的物件。按下建構。檢查:你能向前走五秒而不會穿過地板掉下去,而且攝影機不會穿牆。

2

02

加入角色。放置兩個 NPC,各給一個含三個節點、帶一個旗標條件的對話圖。檢查:走進 NPC 的互動半徑會開啟對話框,而第二個節點會依旗標而改變。

3

03

加入任務。建立一個任務旗標(例如 has_sword),以及一個在玩家進入時將它設為真的觸發體積。檢查:旗標在除錯面板中翻轉,而 NPC 的對話在下一次互動時改變。

4

04

加入戰鬥。定義一個參戰者、一個遭遇群組,以及一個遭遇區。把該區放在任務觸發器之後。檢查:踏進該區會暫停世界、掛載戰鬥介面,並在一秒內結算一個回合。

免費、線上、免下載

免費方案讓你在瀏覽器中打造並暢玩一個世界,不需安裝任何東西,也不需建立帳號。這是誠實的版本。它不會給你無限的已發布欄位,也不會給你素材庫裡的每一項素材。那些是有上限的部分。如果你只是在評估這個工具,你不需要它們。如果你要正式發布,你會撞到上限,而那時就是你決定升級是否值得的時刻。

這裡的「線上」指的是編輯器與執行環境都在瀏覽器分頁裡。你的編輯與預覽之間沒有雲端同步延遲——編輯會套用到記憶體中的場景圖,下一個影格就會顯示出來。「免下載」指的是沒有安裝程式、沒有 SDK、沒有執行環境套件。它並不代表這個工具能離線運作;分頁在第一次載入執行環境時需要網路連線。

唯一真正的摩擦點是初次載入。執行環境是一個 Three.js 打包檔,在正常連線下,第一次冷載入需要幾秒鐘。之後就會被快取。如果你在慢速連線上,第一次載入就會是最糟的一次,之後不會更差。

用它做出的遊戲

證明一個建構器是真實的,最有力的證據不是功能清單——而是一組你能打開並在裡面走動的已發布世界。有三個值得點名,因為它們分別發揮執行環境的不同部分。Ashen Clash 是一款簡潔的回合制 RPG,圍繞一組小型遭遇打造;它最接近預設的戰鬥循環。The Cyclops' Island 是一個較大的探索世界,有一個多階段任務與一場頭目遭遇;它考驗任務旗標儲存與遭遇區觸發器。Neon County 是一個敘事主導的世界,有密集的 NPC 對話圖和極少的戰鬥;它考驗的反而是對話狀態機。

這三個之所以有用,正是因為它們的形狀各不相同。如果建構器只能產出一種世界,那麼發布三個不同的世界就只是一種行銷說法。能在瀏覽器中打開它們每一個,並看到不同的負載狀況,才是真正的證明。展示頁是這些世界的彙集處;那裡的每一個世界,都與本頁的試玩版跑在同一個執行環境上。

有一點值得直說:這些都不是四十小時的商業 RPG。它們是中型世界——可玩幾分鐘到幾小時不等,取決於玩家怎麼移動。這就是建構器目前擅長的規模。如果你的目標是一百小時的 RPG,對你來說這是原型工具,而不是發布工具。

RPG 產生器對比通用的遊戲製作工具

「做一款 RPG」和「做一款遊戲」不是同一個要求。通用的遊戲製作工具會給你一個場景、一個 Sprite,以及一個輸入處理器。它不會給你一個內部可行走的世界,不會給你一個有目標的角色,也不會給你一個獎勵你穿越世界的循環。這三樣才是 RPG 的本質,而通用的製作工具把三者全都留給你自己處理。

這在建構時之所以重要,是因為 RPG 擁有通用遊戲沒有的狀態。一款平台遊戲大多可以是無狀態的——玩家的位置與速度就是整個遊戲。RPG 則攜帶旗標、背包、HP、等級與任務進度,而這些每一項都必須能被世界層與戰鬥層兩邊讀取。如果你從通用製作工具開始,你的第一週會花在打造那個狀態層上。如果你從 RPG 產生器開始,狀態層已經在那裡,你第一天就能開始撰寫內容。

這個取捨是雙向的,而且真實。通用製作工具什麼都能產出;RPG 產生器把 RPG 做得很好,把非 RPG 做得很差。如果你想做一款賽車遊戲,不要用這個工具。如果你想做一款 RPG,這些針對類型而設的預設值,能替你省下那一週的基礎設施工作。

Little Ritual——一個由球體照明的小世界,裡頭有四名 NPC,各自發布一項任務。
The Cyclops' Island——一款等角 3D 遊戲,整個關卡都由一句口述目標驅動。

走進它所屬的那個世界

閱讀關於 RPG 產生器的內容,和走過它所打造的世界是兩回事。最後這一步是任何功能清單都無法偽造的:打開一個由書面句子打造出來的世界,並在其中走動。本站的一切都是以這種方式打造,並以帶有連結的頁面發布。

回到 3D 遊戲建構器

全部 31 個完成的 3D 世界、遊戲與場景都放在同一個頁面上——每一個都能暢玩。

平台:Neta Studio頁面:RPG 產生器接著閱讀:/explore/tool/ai-rpg-generator · /explore/guide/how-to-make-an-rpg · /explore/tool/rpg-sprite-maker
×