歡迎光臨
每天分享高質量文章

快速開發游戲的十個關鍵 | Linux 中國

根據我在游戲開發和游戲開發方面的經驗,這裡有 10 條關於游戲引擎、編碼和快速游戲開發的經驗教訓。

— Ryan Estes

 

十月初,由 Opensource.com 贊助的首屆 Open Jam[1] 吸引了來自世界各地的團隊的 45 個參賽專案。這些隊伍只用了三天時間就用開源軟體製作出一個游戲來參與角逐,有三支隊伍取得了勝利[2]

我們在我們的大學為每一位願意參與的人舉辦了我們自己的 Open Jam 活動。我們預留了周末的計算機實驗室,並教大家使用開源軟體來創建游戲和游戲素材:游戲引擎:Godot[3]、音樂:LMMS[4]、2D 素材:GIMP[5]、3D 素材:Blender[6]。我們的活動產出了三個游戲:Loathsome[7]Lost Artist[8] 和 Paint Rider[9](我做的)。

根據我在游戲開發和游戲開發方面的經驗,這裡有 10 條關於游戲引擎、編碼和快速游戲開發的經驗教訓。

1、限定規模

很容易想要去做一個規模宏大的冒險游戲或者可以比擬你最喜歡的游戲的東西。如果你有一些經驗,追求超乎游戲 Jam 活動的東西可能很酷,但不要高估自己擁有的時間。我欣賞游戲 Jam 活動的一點是它強制你快速將一個游戲從概念階段變成最終產品,因為你的時間非常有限。這也就是限定規模如此重要的原因。

這個 Open Jam 的主題是“留下痕跡”,題目一齣來,我和朋友就開始討論什麼樣的游戲適合該主題。一個想法就是做玩家能在敵人身上留下傷痕的 3D 拳擊游戲。我幾乎沒有做 3D 游戲的經驗,我想做好的話,在我甚至還沒發掘出可玩性之前,就得花太多時間在學習如何讓痕跡合理和打擊有效。

2、儘早可玩

這是我對游戲 Jam 活動最中肯的建議。試著做出核心機制,快速寫出代碼,這樣你就可以測試並決定它是否值得做成一個完整的游戲。不應該只剩幾個小時截止了,你的游戲才可玩。像 Open Jam 這樣的三天的活動,不應該花費幾個小時以上來做一個可以運行的演示。

3、保持簡單

你想加入的每個特性都會延長整個開發時間。因為你不能迅速使之運行,所以無從得知提交一個新特性是否會消耗大量時間。街機風格的高分作品往往會在游戲 Jam 活動中表現良好,它們天生就很簡單。一旦核心部分完成,你可以開始加入特性並潤色,無需擔心最後游戲是否功能正常。

4、從其他游戲獲取靈感

可能你想做出完全原創的作品,但有個可以基於它開發的原型極其有用。這將節省重覆勞動的時間,因為你已經知道什麼有趣。告訴自己實踐的經驗越多,越容易做出包含自己想法的大型游戲,所以你也能從再創作其他人的作品中得到很好地練習。

考慮到 Open Jam 的“留下痕跡”主題,我覺得創作一個玩的時候可以留下顏料痕跡的游戲會很有趣,這樣也可以看到你留下的標記。我記得有款老式動畫游戲 Line Rider 2 Beta[10] (後來叫 Paint Rider),而且知道玩的時候按住 Control 鍵可以畫出痕跡的彩蛋。我簡化了這個概念,甚至只需要一個按鍵來垂直移動。(更像老式飛機游戲)。進入到 Jam 活動大概一兩個小時後,我就有了基本模型,可以用一個按鈕上下移動和留下小黑圈的痕跡。

5、不要忽視可得性

確保盡可能多的人能玩你的游戲。某個提交到 Open Jam 的游戲是虛擬現實游戲。儘管那很酷,但幾乎沒有人可以玩,因為擁有 VR 設備的人不多。所幸它的開發者並不期望取得好名次,只是想練手。但如果你想和人們分享你的游戲(或者贏得游戲 Jam 活動),註意可得性是很重要的。

Godot (和其他大多數游戲引擎)允許你在所有主流平臺發佈游戲。提交游戲時,特別是在 Itch.io[11],有個瀏覽器版本就可以支持大多數人玩。但盡你所能去發佈在更多的平臺和操作系統上。我甚至試著在移動端發佈 Paint Rider,但技術有限。

6、不要做得太難

如果游戲需要花費過多精力去學或者玩,你將失去一部分玩家。要保持簡單和限定規模,這在游戲計劃階段非常重要。再次重申,想出一個需要花上十天半個月開發的宏大的游戲創意很容易;難的是做出好玩、簡單的游戲。

給我的媽媽介紹了 Paint Rider 之後,她很快開始玩起來,我認為不需要跟她說明更多。

7、不用太整潔

如果你習慣於花時間在設計樣式上和確保代碼可復用、可適應,試著放鬆一點。如果你花太多時間考慮設計,當你最後到了可以玩游戲的時候,你可能發現游戲不是很有趣,那時候就來不及修改了。

這過程也適用於簡化更嚴格的游戲:快速碼出驗證概念性展示模型,直到找出值得做成完整游戲的,然後你可以潛心建立完美的代碼來支持它。為游戲 Jame 活動創作的游戲就像是個快速開發一個可驗證的模型一樣。

8、但也不要太隨意

另一方面, 意大利面式代碼[12] 容易失控,即使游戲開發沒有大量代碼。還好大多是游戲引擎都考慮到了設計樣式。就拿 Godot 的信號[13] 功能來說,節點可以發送資料信息給它們“連上了”的節點 —— 這是你的設計自動成型的觀察者樣式[14]。只要你知道如何利用這種游戲引擎的特性的優勢,就可以快速寫代碼,你的代碼也不會特別難讀。

9、取得反饋

向人們展示你正在做的。讓他們試一試並看看他們說些啥。看看他們如何玩你的游戲,找找他們有沒有發現你預料之外的事。如果游戲 Jam 活動有 Discord[15] 頻道或者類似的,把你的游戲放上去,人們會反饋給你想法。Paint Rider 的一個確定的功能是畫布迴圈,所以你可以看到之前留下來的畫。在有人問我為什麼這個游戲沒有之前,我甚至沒有考慮那個機制。

團隊協作的話,確保有可以傳遞周圍反饋的人參與這個開發。

而且不要忘了用相同的方式幫助其他人;如果你在玩其他人游戲的時候發現了有助於你游戲的東西,這就是雙贏。

10、哪裡找資源

做出所有你自己的資源真的會拖你後腿。Open Jam 期間,當我忙於組裝新特性和修漏洞時,我註意到 Loathsome 的開發者花了大量時間在繪製主要角色上。你可以簡化游戲的藝術風格創作並且用一些視聽效果尚可的東西,但這裡還有其他選擇。試著尋找 Creative Commons[16] 許可的或免費音樂站點(比如 Anttis Instrumentals[17])的資源。或者,可行的話,組建一個有專門藝術家、作家或者音樂家的團隊。

其他你可能覺得有用的軟體有 Krita[18],這是一款適合數字繪畫的開源 2D 圖像生成軟體,特別是如果你有一塊繪圖板的話;還有 sfxr[19],這是一款游戲音效生成軟體,很多引數可以調,但正如它的開發者所說:“它的基本用法包括了按下隨機按鈕。”(Paint Rider 的所有音效都是用 Sfxr 做的。)你也可以試試 Calinou[20] 的眾多但有序的開源游戲開發軟體串列。

你參加 Open Jam 或者其他游戲 Jam 並有別的建議嗎?對我未提及的有問題嗎?有的話,請在評論中分享。


via: https://opensource.com/article/17/12/10-keys-rapid-open-source-game-development

作者:Ryan Estes[22] 譯者:XYenChi 校對:wxy

赞(0)

分享創造快樂