microStudio 替代方案 — 免費的瀏覽器遊戲引擎,不必寫程式碼
打造你自己的 microStudio 替代方案
microStudio 是一款免費的 2D 線上引擎,你得在其中撰寫 microScript。Neta 則能用一句話打造出一個你可以走動的 3D 世界 — 不必寫程式碼、不必安裝,而且免費。
如果你正在尋找 microStudio 替代方案,有兩件事實會在你比較任何其他東西之前就決定你的選擇。microStudio 是 2D 的:精靈圖、磚塊地圖、平面的 x 與 y 座標。而它的主要介面是 microScript,一種你得在編輯器面板裡撰寫的真正指令碼語言。Neta Studio 的 3D 遊戲建造工具則是另一種完全不同的形態:主要介面是一段寫下來的句子,而輸出是一個你可以走動的 3D 場所。兩者都在瀏覽器分頁中運行,兩者都能免費開始使用,而這兩件事實所衍生的一切也都由此而來 — 編輯器的版面、匯出所產生的東西,以及要花多久才能做出會動的成果。
本頁並不主張哪一個工具更好。它會從六件你可以自行查核的事情來比較兩者:在哪裡運行、你輸入什麼、你得到幾個維度、你在做什麼、輸出的實際內容是什麼,以及要花多久才能做出你能互動的東西。接著它會描述一個用一句話打造出來的小型 3D 世界,讓「撰寫 microScript」與「描述一個場所」之間的差別不再抽象。
快速解答
microStudio 是一款貨真價實免費、貨真價實運行於瀏覽器中的遊戲引擎 — 而它是 2D 的,而且得寫指令碼。有兩件事實決定了選擇。第一,microScript 就是介面本身:如果玩家拿到鑰匙時門就該打開,那這個條件和狀態的改變都得由你自己寫。第二,這個世界是平的:磚塊上的精靈圖、x 與 y,沒有深度、沒有光照模型,也沒有可以放到角色身後並轉動的相機。如果這兩者之中有任何一項符合你要的,那 microStudio 就是正確的工具,而大多數 microStudio 替代方案反而會讓人覺得是降級,因為很少有工具能同時結合瀏覽器編輯器、一門真正的語言,以及一條不需要該工具就能運行的匯出路徑。反過來說,如果你想要的是一個你可以走動、而且你寧願描述它、不想為它寫程式的 3D 場所,那麼這就是在比較指令碼引擎與世界建造工具,而這個比較就是本頁其餘的內容。
microStudio 擅長的地方
請給它一個公平的聆聽機會,因為它做的很多事都做得很好。它移除的第一件事就是安裝。你打開一個瀏覽器分頁,程式碼編輯器、精靈圖編輯器、地圖編輯器,以及一個執行按鈕,全都在同一個視窗裡。沒有要設定的工具鏈、沒有要等待的建置步驟,也沒有得在兩台機器之間保持同步的專案檔。執行按鈕就在編輯處一次點擊之遙,而這個短迴圈正是這款工具讓人樂意坐上一個小時的原因。
microScript 是一門真正的語言,而不是穿著程式碼外衣的拖放玩具。它有變數、條件判斷、迴圈與函式,還有一條逐影格更新的路徑,所以這些概念可以遷移:隨時間變動的狀態、輸入事件、碰撞檢查。它附有一份手寫的說明手冊,列出各種指令,而不只是帶你走一遍教學,這在第二個小時就很重要了 — 當教學已經結束,而你需要知道某個指令能接受哪些參數的時候。
匯出功能比 microStudio 通常獲得的評價還要強大。HTML5 匯出會產生一份建置,你可以把它放到任何靜態主機上並在瀏覽器中開啟,運行與編輯器中一模一樣的程式碼。桌面匯出則會產生一個你以檔案形式散布的應用程式。匯出的建置中沒有任何東西仰賴 microStudio 保持開啟,這對一款坦然承認自己是教學引擎的工具來說,是一條真正可行的發佈路徑。
microStudio 替代方案必須比得上的地方
在離開之前,有四件事值得查核。它是否不需安裝任何東西就能運行?核心是否免費?你能不能以一種不需要該工具就能運行的格式,把你的作品帶出來?以及,有沒有一份你可以查東西的參考資料?缺少最後一項的工具,正是人們在第二週、當問題開始出現而教學也用完時,會放棄的那些。
- 免費,且在瀏覽器中引擎在一個分頁中運行。從打開它到運行你的第一行 microScript 之間,沒有任何授權步驟。
- 匯出為 HTML5HTML5 建置是靜態的。把它放到主機上、打開頁面,遊戲就會運行。它放在哪裡由你決定。
- 匯出為桌面應用程式桌面建置會產生一個你可以檔案形式交出去的應用程式,所以完成的作品不會被困在一個分頁裡。
- microScript 與一份手冊一門附有指令參考的小型指令碼語言。小到可以記在腦子裡,有文件到可以查東西。
- 程式碼旁邊的素材編輯器精靈圖與地圖編輯器就坐在程式碼面板旁邊,這讓編輯與執行的迴圈保持簡短。
- 坦然承認自己是教學引擎它的存在是為了透過做出會動的東西來教程式設計。那是它的目的,不是它要為之道歉的限制。
microStudio 停步的地方
這些限制是結構性的,而且很容易列出。microStudio 是一款 2D 引擎。你放置的一切都是地圖上的精靈圖或磚塊,座標是 x 與 y。它沒有深度緩衝區、沒有帶轉換階層的場景圖、沒有光照模型,也沒有你可以走在後面的透視相機。你可以用縮放、分層與視差來暗示深度,而對固定的視角來說這效果很好 — 但那是一種繪圖技巧,不是渲染器,一旦相機需要轉動就撐不住了。
第二項限制是介面。行為就是程式碼。如果玩家拿到鑰匙時門就該打開,你得寫下那個條件、儲存鑰匙的變數,以及消耗它的狀態改變。沒有哪個欄位是你描述那扇門、就得到一扇會打開的門。這份工作就是寫程式,而迴圈是:寫、執行、讀錯誤、修錯誤、再執行。
請把這個差別說成種類之別,而不是缺陷。microStudio 是一款指令碼引擎:你創作的成品是一個會描繪出世界的程式。Neta Studio 的 3D 遊戲建造工具則是一個你可以走動的世界:你創作的成品是一個場所,而行為就是這個場所要能被走動所需要的一切。兩者都合情合理。它們在不同的地方失敗 — 當你想要一個會轉動的相機時,microStudio 會失敗;而當你想要建造工具並未建模的運算時,由描述驅動的建造工具會失敗。
設計上就是 2D:精靈圖、磚塊、平面座標
深度是假的,而一旦視角轉動,偽造深度就會讓你付出代價。如果你的專案是一款平台遊戲、一款俯視角射擊遊戲、一個解謎方格,或任何在單一固定平面上讀起來很順的東西,這根本算不上限制。它是這個問題的正確形狀,而一款 3D 引擎只會增加成本,卻不會增加任何你看得見的東西。
程式碼優先:microScript 就是介面,不是選項
素材編輯器幫你做出圖像與地圖。它們不會讓任何東西動起來。移動、碰撞、計分、敵人行為與選單流程,全都得透過 microScript,從第一個精靈圖到最後一個畫面。
microStudio 對比瀏覽器世界建造工具
這張表從六件會改變你一個下午的事情來比較這兩條路徑:在哪裡運行、你輸入什麼、你得到幾個維度、你在做什麼、最後產出什麼,以及要花多久才能做出你能互動的東西。
請先讀最後一列。兩款工具都很快,但它們快在不同的地方。microStudio 快到第一行程式碼 — 打開分頁幾分鐘內,一個精靈圖就會出現並移動,接著剩下的工作就是遊戲本身。3D 遊戲建造工具則快到一個可走動的場所 — 在你還沒寫下任何東西之前,世界就已經存在,而剩下的工作是你想在裡面放什麼。哪一個感覺更快,取決於你想看到的東西是一個正在運行的程式,還是一個矗立著的場所。
| microStudio | Neta Studio 3D 遊戲建造工具 | |
|---|---|---|
| 在哪裡運行 | 一個瀏覽器分頁 | 一個瀏覽器分頁 |
| 你寫什麼 | microScript,寫在瀏覽器內的程式碼編輯器中 | 在文字欄位中描述世界的一句話 |
| 維度 | 2D — 精靈圖、磚塊地圖、x 與 y 座標 | 3D — 一個 Three.js 場景,附有你可走在後面的相機 |
| 你產出什麼 | 一款遊戲:以程式碼定義的規則、關卡與行為 | 一個場所:地形、物件、一個角色,以及一個出生點 |
| 輸出的內容是什麼 | 一份由你架設或散布的 HTML5 建置或桌面應用程式 | 一個已發佈的頁面,附有一個你可以送出的連結 |
| 做出可玩成果所需的時間 | 幾分鐘就能有會動的精靈圖;完成一款遊戲則要更久 | 一句話就能得到一個你已經可以在其中走動的世界 |
走進一個 Mini World
Mini World 從一句話開始:一座有小燈塔、幾棵棕櫚樹,以及一片你從那裡出發的海灘的小島。回傳的是一個場景,不是一份指令碼。有帶海岸線的地形、一個水面平面、位於較高地上的一座燈塔、在它周圍擺放的棕櫚樹,以及沙地上的一個出生點。你從海灘上、面向燈塔的位置開始。移動是標準的第一人稱行走,相機跟著你的角色。沒有任何東西被輸入到程式碼面板中。那句話就是原始檔。
要在 microStudio 裡打造同一座島,你得做一份形狀不同的實際工作。你得打開精靈圖編輯器,畫出燈塔、沙地磚塊、水面磚塊,以及一棵棕櫚樹。你得一格一格地塗出地圖。接著你得打開 microScript,寫下玩家位置、輸入處理、阻止你穿過燈塔的碰撞,以及跟著你的相機。這些全都學得會,而且動手做能教會你一些描述路徑完全不會教的事。它只是通往一張島嶼圖像的更長路徑。
以同樣方式打造、規模更大的範例是 The Cyclops' Island — 一個擁有地形、角色與可互動物件的完整 3D 世界,是透過 3D 遊戲建造工具做出來的,而不是用打字的,角色美術則由 Agent Sprite Forge 操刀。這些失敗模式值得一一點名,這樣你才不會期待奇蹟。一句包含兩個互相矛盾指示的長句子,會解析成其中一個。非常巨大的世界會在內建顯示晶片上撞上繪製距離與影格率的問題。而需要建造工具並未建模的運算的機制 — 例如帶重量的物品欄、回合制戰鬥結算 — 則是你要嘛繞過建造工具、要嘛接受它給你的東西的地方。
如果你是在學寫程式
如果目標是學習寫程式,microScript 是更好的老師,而且差距不小。你打下一行、執行它、讀取錯誤、修正它。這個迴圈就是寫程式。變數、條件判斷、迴圈,以及會在影格之間改變的狀態,全都存在、全都看得見,因為是你寫的。由描述驅動的建造工具則把那整個層次完全藏了起來:世界出現了,而那些本來會是你的程式碼的機制並不在畫面上供你檢視。
如果目標是一個 3D 場所 — 一個你這星期就能帶著朋友走一遍的地方 — 那描述路徑更快,假裝不是的話只會浪費你一個下午。你跳過語法、作用域、影格迴圈與碰撞數學,然後得到一個場所。這筆交易是雙向的:你對寫程式學到的更少,而且你繼承的是建造工具的限制,而不是自己訂下的限制。
兩款工具都不是錯的答案。它們回答的是不同的問題。如果你想了解這東西是怎麼運作的,就選 microStudio。如果你想讓這東西存在,就選 3D 遊戲建造工具。如果你兩者都有時間,最能教你東西的順序是先玩建造工具,看看成果的形狀,然後再玩 microScript,弄清楚要親手打造出那個成果需要付出什麼。
查核某個 microStudio 替代方案是否契合你的目標
兩個問題就能拍板。你是想寫下規則,還是想在規則裡四處走動?還有,一個月後你還會繼續做這個嗎 — 因為如果答案是會,那麼一款能持續教你的工具,通常值得你忍受慢一點的第一個小時。
匯出與分享
microStudio 交給你一個由你自己架設的專案。HTML5 匯出會產生一份你上傳到靜態主機的建置;同一組檔案在任何主機上都能運作,因為沒有伺服器端元件。桌面匯出則會產生一個由你自己散布的應用程式。位置、版本,以及何時更新,都由你掌控。你同時也扛下了這份工作:在你發佈之前,什麼都不會被發佈;而如果建置壞了,修復的責任在你這邊。
3D 遊戲建造工具則交給你一個頁面。當你描述完,這個世界就已經被提供出去了,而分享就是一個連結 — 任何有瀏覽器的人,都能在手上拿的任何裝置打開它,同一個連結之後在筆電上也能用。這筆交易與 microStudio 的恰好對稱:你跳過了架設主機的步驟,而作為交換,執行環境屬於平台,而不是屬於你。如果我們改變了世界被提供的方式,你的連結也會跟著改變。
- microStudio HTML5 匯出一份你上傳到自己主機的靜態建置。它不需安裝 microStudio 就能運行,在任何有瀏覽器的機器上都一樣。
- microStudio 桌面匯出一個你以檔案形式、而非連結形式交出去的應用程式,這有時正是學校或離線場地所需要的。
- Neta Studio 分享連結一個已發佈的頁面。把連結送出;收件者在瀏覽器中打開它,什麼都不需要安裝。
- 誰在運行伺服器microStudio:你,在你的主機上。Neta Studio:我們。光是這一項差別,就解釋了本節大部分的內容。
走進它所屬的世界
你可以閱讀一份比較,也可以實際走進其中一邊。打開一個用一句話描述、並發佈成頁面的世界,不需指令碼語言,也不需安裝任何東西。那就是整個差別,一次點擊。
FAQ
microStudio 是免費的嗎? +
是的。引擎在瀏覽器分頁中運行,而指令碼語言、素材編輯器與匯出功能都不在付費牆後面。之後才會出現的成本不是花在引擎上 — 而是花在架設 HTML5 建置或購買網域上,而這兩者都是可選的。
使用 microStudio 需要寫程式嗎? +
實際上,是的。microScript 就是介面。精靈圖與地圖編輯器讓你畫出圖像,但移動、碰撞、計分與敵人行為都是你得寫的程式碼,所以這款工具假定你願意打字。
microStudio 能做 3D 遊戲嗎? +
在真正要緊的意義上,不行。它是一款 2D 引擎:平面座標上的精靈圖與磚塊。你可以用縮放、分層與視差來偽造深度,但沒有透視相機、也沒有光照模型,所以一旦視角需要轉動,這個錯覺就會破功。
哪一個更適合學習寫程式? +
如果目標是寫程式,那就是 microStudio。你寫下程式碼、執行它、讀取錯誤,概念就是這樣才記得住。由描述驅動的 3D 建造工具教會你一個世界需要什麼,而不是教你怎麼自己寫出邏輯。
我可以發佈我做的東西嗎? +
可以,兩種方式都行。microStudio 專案會匯出成一份由你自己架設或散布的 HTML5 建置或桌面應用程式。Neta Studio 的世界則是以頁面形式發佈,所以分享它就是送出一條連結。
Neta Studio 3D 遊戲建造工具是 microStudio 的替代品嗎? +
只有在你想要的原來是一個 3D 場所、而不是一個程式時才是。如果你想用 microScript 寫遊戲邏輯並發佈一款 2D 遊戲,那 microStudio 就是正確的工具,而改用由描述驅動的建造工具只會奪走你的能力。
回到 3D 遊戲建造工具
全部 31 個完成的 3D 世界、遊戲與場景都在同一頁上 — 每一個都能玩。