如何製作並發行你夢想的遊戲,避免在過程中狗帶!

本文系Godot引擎的Juan Linietsky所寫。

在油管翻教程的時候看到了一個視頻是借這篇文章聊遊戲開發的事情,好像在Reddit也有不少人討論這個話題,就去找了原文來看,感覺很不錯,希望大家喜歡

原文地址:HOW TO MAKE YOUR DREAM GAME, PUBLISH IT AND NOT DIE IN THE PROCESS

Godot是一款多平台開源遊戲引擎,IndieNova有介紹:Godot引擎


寫作初衷

今天我用於開發的電腦正在重做系統,所以沒法繼續編寫代碼。因為編譯Godot所耗費的時間越來越久,所以我想著重裝一個乾淨的系統會快一些,也能給Godot的開發提提速

今天之所以會寫這一篇文章,是因為有太多開發者都問過我這個問題。而我除了主導研發Godot之外,還擁有近20年的遊戲開發和發行經驗,以及十年左右的技術顧問經驗。

總體而言,我的主要工作是程序編碼和項目管理,但我大部分的時間都是技術總監或顧問的角色。

同時我也開過幾家公司,並曾在一些業務上向他人給予過幫助。因此我相信我對遊戲製作這件事的整體流程有著足夠清晰的了解和畫像。(絕不是失敗的經驗)

當然,我沒有通過製作遊戲而發大財(只是「還」沒有而已:D),但我在這個過程中學到了很多……如今我十分享受開發Godot的過程,更甚於其他任何事情。

我相信在此之前已經有很多人都寫過這個話題,但本文基於我的個人經驗,也希望對大家有所啟發。

自從Godot發布以來,我見過很多開發者用它做出了很棒的遊戲項目。這正是Godot最強大的地方,由於它獨特的設計理念,開發者可以不用憂心遊戲體系結構就可以著手編碼工作(且十分易於擴展成大型項目)。很多遊戲最終發布了,但有更多項目被放棄了。

我嘗試聯繫了許多開發者,詢問他們為何如此,大多數情況下,項目終止並非由於技術問題,而是項目管理遇到了麻煩。

製作遊戲非常有趣,但也十分艱難

製作遊戲的確不容易,過程中會涉及大量其它門類的知識,但切勿深陷其中。

從藝術性和創新性的角度而言,藝術家們(畫師、作曲、寫手)通常會選擇抽象一些概念,然後慢慢向其中添加內容以豐富其深度。而在遊戲開發中,你最初設想的玩法往往會被否定,需要反覆迭代修正才能提升品質。而很多時候,除非你真正意識到你必須捨棄掉一些你中意的元素,否則遊戲無法完成。

而從技術角度而言,在學校里學到的那套也許就不太奏效了。軟體工程是基於需求和用例清單來進行研發工作的,並藉此指導交互設計,而在遊戲開發中並非如此,因為你會更重視玩家的體驗感受,而非簡單的交互操作。

設計模式及其它

而就算選用最標準的設計模式,依然無法保證一切順利。我在顧問過程中曾反覆遇見過這樣一種情況,許多工程師都會自欺欺人覺得已經在遊戲中使用了MVC架構。另外一種人則相反,認為自己不用OOP設計模式也能搞定(其實他們還是用了,只是自己並未意識到)。我見過太多這樣的例子,不勝枚舉。

隨之而來我還發現了另一個問題,許多程序員總是太過在意「用正確的方式做事」和「良好的編碼習慣」。這種行為往往導致代碼過度封裝,這導致當你遇到問題需要修改代碼庫時變得異常痛苦。

如果你正在製作一款遊戲,要盡量用最簡單最迅速的方式實現它。不要糾結於設計模式,要避免為設計而設計、為封裝而封裝。為了效率哪怕代碼臟一點也不要緊,能跑起來就行。如果你計劃重構代碼以使代碼變得更加乾淨,最好是在現有的代碼無法負荷時才去做這件事,否則千萬別碰它。

許多人都說這是為了便於團隊協作,通常領導們會要求代碼更有條理和組織,因為「我們中的任何人都有可能隨時離開或被替換,因此代碼需要具備可讀性便於維護」,儘管這麼做會拖慢開發的進度。而事實上,這會導致周期變長,長遠來看幾乎無法降低任何成本。

其實只要給每一個程序員都明確分配好角色和責任範圍即可。然後就可以讓他們按照自己喜歡的方式去幹活兒,只要夠快,哪怕臟一點兒,但是一定要確保他們的API介面是足夠清晰明確的,這樣才能便於其他人來調用。為此你可能丟掉了一個有序的組織架構,但你的開發速度將贏得幾何級數的增長

當我在管理Godot的研發時,我會確保設計和架構上儘可能完美無缺。但當我製作遊戲時,我會希望儘快完成所有的工作。

說到這一點,很多讀者可能會意識到Godot出現的意義,就是為了能用這種方式來製作遊戲的。Godot鼓勵生產力高於一切的設計模式。場景系統的工作原理使得你可以化整為零,逐步完成遊戲的開發(而不用去關心諸如MVC、細分組件等無意義的事情)。而GDScript也足夠簡潔,你只需要編寫整段能夠「正常工作」的代碼,然後就再也不用去管了。這種「剛好夠用」的感覺,在Godot開源前,我和Ariel Manzur就如此合作許多年了。

這也是我們花費這麼多精力來研發Godot的原因,儘管目前還有許多不足之處,但我們知道我們擁有許多前人沒有做過的特點。

只有引擎是不夠的,態度更為重要

在社交網路上出現最多的一個問題是「我想做一個X類型的遊戲,用什麼引擎最合適?」。有太多引擎都有其針對的特性,而事實上,能否成功取決於你如何執行你的開發計劃。

大部分開發者犯的第一個錯誤是用精美的畫面實現了一個簡單的遊戲原型,然後打算用同樣的模式去完成剩下部分的遊戲內容。而隨著時間的推移,各種情況接踵而至:

  • 遊戲素材都很棒,但遊戲性很糟糕。總覺得該重新來過,又實在太費時間而叫人灰心。
  • 遊戲本身沒有問題,但是又覺得素材可以做的更好來匹配這個遊戲,重製素材的過程讓人沮喪。
  • 遊戲很棒,但總覺得還可以加入更多的元素,對應大量的素材準備工作又成了攔路虎,很不爽。
  • 還有一些遊戲因為低估了複雜度,需要額外的投資才能繼續

以上這些都是一些常見的問題和項目失敗的原因。我相信其中有不少你都耳熟能詳。讓我們重新開始梳理這整個流程,從構思概念到最終發行的各個環節!

從頭開始,這個遊戲有市場嗎?

等一下,不是應該先做原型嗎?想到了一個好點子,下一步當然是做一個原型啊……

顯然不是的,這就是99.99%的獨立開發者和工作室犯的最嚴重的錯誤。

你要知道,製作原型與遊戲的可行性無關。我知道你讀過許多文章,他們都說製作一款成功的遊戲應當以較小的規模來試錯從而規避風險。這種沒經驗的說法很糟糕,千萬不要學。這個世界上不冒風險何來收穫,關鍵在於要如何去理解甚至管理這種風險。

只做你想做的領域,隨著開發的推進你的長處和局限性都會表露無遺,千萬不要太早折斷自己的翅膀,有野心才有機會獲得成功。

在製作遊戲原型以前,你應該仔細考慮以下四個問題:

  • 什麼樣的人會玩這款遊戲?
  • 如何才能找到這些人?
  • 開發經費如何籌措?
  • 你的遊戲有何獨到之處?

具體如下:

什麼樣的人會玩這款遊戲?

這個問題是你最先需要考慮的,在腦海中勾畫一下這款遊戲玩家的畫像,比如下面這樣的:

  • 所有人——比如說:這是一個解謎遊戲、塔防或休閒遊戲等
  • 主流玩家——比如RPG、FPS或戰略遊戲等
  • 非主流玩家——比如冒險遊戲或回合制策略遊戲等
  • 獨立遊戲玩家——比如那些喜歡找一些冷門小遊戲的人,無論什麼類型皆可
  • 等等

在進入下一個問題之前務必把這個問題先想清楚,下一個問題是:

如何找到這些人?

這個問題開始就變得複雜起來了,讓我們繼續用上面那些例子:

休閒遊戲

簡單的休閒遊戲(如憤怒的小鳥、2048、跑酷等)是幾乎所有人都會玩一下的。沒錯,這個市場巨大,數十億玩家都是你的潛在玩家……所以你只用把遊戲做出來然後發布出去……就夠了?顯然並不是,應用商店中有大量這種遊戲,你發布的遊戲會在瞬間被淹沒,無影無蹤。

討論手機遊戲有些超出這個問題範疇了,因為這實在太貴了。你當然可以找到遊戲發行商,但其中絕大部分都是騙子,如果他們告訴你他們十分樂於發行你的遊戲,千萬不要相信!他們會在你的遊戲中植入大量的廣告來交叉推廣他們自己的遊戲。沒錯,他們會發行你的遊戲,但只為自己攫取利潤,而不是為你。

靠譜的手游發行商都會問你這樣的問題:「你的遊戲KPI指標是什麼?」或者是「你預期的遊戲轉化率和留存率有多少?」。這樣的才是像樣的手游發行商,他們會為你的遊戲投入更多資金心血。

不幸的是,這些問題並不容易回答。讓我來告訴你一點,現在手機遊戲中最流行的盈利模式是「F2P」(免費遊戲內購付費)模式。其它任何模式都不奏效。付費遊戲(免費或有價值的內容)幾乎掙不到錢,廣告收入也不足以維持你的生活(即使是有百萬級下載的遊戲)。沒錯,唯一能賺錢的方式就是「F2P」,這意味著遊戲的下載完全免費但是遊戲中提供兩種內購內容給玩家

  1. 降低遊戲難度
  2. 獲得更酷炫的皮膚

這個問題非常複雜,這篇文章無法詳細解釋,但是在這種免費遊戲模式的浪潮下,「玩家」(或「用戶」)是要花錢買的。對於一些公司而言,願意付出5美元來贏得一個用戶下載並啟動自己的遊戲。這絕不是笑話,均價可能會更貴。其中大部分玩家在遊戲里半毛錢都不花,但有一小部分(國外叫「鯨魚」,國內稱「大R」)的花費將大大超過5美元,這將會極大拉高用戶的平均付費水平。

「轉化率」是指你在每個用戶身上的平均「產出/投入」比,如果你平均花費5美元獲得一個用戶,而平均從沒個用戶身上能得到8美元,那你的正向轉化率就有1.6,一旦你實現了這種正向轉化,你的遊戲就變成了一台真正意義上的印鈔機。

即便你找到發行商願意為你的「UA」(獲取用戶「User Acquisition」縮寫)投入資金(哪怕只是其中的一部分)。無須多言,要想達到盈虧平衡點也是十分困難的,甚至有許多遊戲在其中耗費了數年時光才勉強扭虧為盈。

我們長話短說,在休閒遊戲中要想取得成功的機會非常小。除非因為興趣或學習,不要嘗試進入這個領域。

營銷專家們總會跟你說的一句話是——與常識相反,市場越大越難做。

主流遊戲

這類遊戲需要投入大量的資金用於宣傳,才能吸引用戶(這會花掉很多錢)。如果你有足夠的遊戲開發經驗,還是可以嘗試一下。

非主流遊戲

非主流遊戲的玩家通常比較容易找到,他們都有專門的網站、論壇和FB專頁。並且每種類型的遊戲都會有一些專頁的發行商(回合策略、冒險等),只要你想了解他們會告訴你這個市場的相關數據。

獨立或實驗性質的遊戲

Steam和GOG等依然是很好的平台,只要你的遊戲足夠有趣(在問題4中會細說)。請記住:大多數遊戲要麼賣得很好,要麼銷量慘淡,幾乎沒有你嚮往的中間地帶。

開發經費如何籌措?

你需要考慮遊戲如何獲得投資,下面我會說明一些常見的渠道和方法:

發行商

只要你按照正確的步驟操作,一般都不難從發行商手中獲得資金,但很少有人做得到,我下面會稍加說明。

通常而言發行商都會協助你銷售遊戲然後從中獲取分成,你只有當發行商收回自己的投資後才能看到屬於你的收益(這是最常見的方案)。

在尋找發行商的時候,請先尋找那些跟你類似的遊戲,看看是誰發行了這些遊戲,通常來說他們會更了解這個市場,也能更好的評估遊戲發行風險。

眾籌

目前想從Kickstarter、Indiegogo或Patreon之類的網站上獲取資金越來越難了(下一個問題會幫你解決這個問題)。常見的策略上降低期望的資金額度(並回報一個小遊戲),之後如果募資成功,再去找發行商或私人投資者,向他們展示你的成果(基本上,這些人會對你的遊戲比較有興趣),這樣你就可以得到剩餘的資金了。

政策補貼

留意一下你所在的地區是否有相關條款,很多國家都想發展遊戲產業,就會提供相關的補貼和產業基金。

投資商

有一些投資商專門從事遊戲投資,但通常他們對公司的股權和知識產權更感興趣,最常見的是天使投資人。

預售結合社群開發

在我看來這是最好的一種形式,但必須做好每一步工作。這樣可以在你開發遊戲的過程中形成一個忠誠度很高的社群,你必須很好的管理這個群體,在開發的過程中也要注意傾聽他們的意見。隨著社群的擴張,會有越來越多的人來預購你的遊戲直到最終完成。你的社群也會幫忙宣傳你的遊戲,因此它會自發增長。

最後,也是最重要、最難回答的一個問題

你的遊戲有何獨到之處?

如果你的遊戲與市面上的遊戲沒什麼不同(非常明顯的差異),那它就很容易失敗。人們不會去玩,發行商也不會有太大的興趣,更不可能圍繞這個遊戲形成獨有的社群。

更糟糕的是,這種差異必須能被輕鬆傳達給玩家,一句話、一張圖或一個十幾秒的短片。必須與眾不同。

這種差異可以是創新的遊戲設定、或是既往的遊戲不曾使用過的美術風格。獨特的角色設計也能讓人產生興趣,而對於優秀的RPG或冒險遊戲來說,故事性和藝術性缺一不可

製作原型

如果你對以上問題的答案都瞭然於胸,那麼現在就是時候製作遊戲原型了。這個原型的目的是證明你的遊戲創意行之有效,你的藝術風格(美術、聲音等)也都恰如其分。

我見過許多設計師在自己的想法中投入大量金錢,而其實他們原本可以在原型階段就預見到失敗。永遠不要跳過這個步驟。

在此階段,你的美術風格(或聲音)都不是最終效果,代碼也可能非常粗糙。這都不是問題,最重要的是「遊戲體驗」要到位,可用性強,要在遊戲性上接近你的最終成品。務必要能很好地傳達出你的遊戲創意。

在這個階段中反覆迭代是至關重要的,測試時不要漏掉任何一個核心功能,務必反覆修改直到體驗上足夠完美

這個過程中任何沒有解決的核心問題,都會成為後續工作中的攔路虎。這意味著操作反饋需要足夠順滑,即點即現。

在此時需要儘可能尋求各方面的反饋!

至於錢,在原型階段能找到天使投資肯定是最好的。這類投資人會給你提供足夠的資金來開發一個細節場景作為半成品DEMO(下一段會說),並可能向你要求最終收入的很大一部分(通常在30%~40%左右)

這些天使投資人的出發點是,將金錢投入到少量未經證實(能獲得成功)的高風險項目,一旦其中有一個成了,就能賺到很多錢。

製作半成品DEMO

如果你是自己在業餘時間做遊戲,或者已經有現成的資金來源,可能沒必要做這一步。否則,這可能是確保你的遊戲能獲得足以完成開發(或Alpha版本)投資的關鍵步驟。

這個半成品就像是從你最終的成品中剝離出來的一個片段,其質量和完成度必須達到最終成品的效果。

舉個例子,如果你的遊戲一共有30關(任務、場景、地點等等),你可以製作其中的2、3個,這幾個演示關卡必須達到最終品質,甚至通往其它關卡的入口也應該是可見的,哪怕暫未開放。

這DEMO並不一定要遊戲的開頭部分,可以是任意的內容(一個好的介紹場景縱然很加分,但想實現也殊為不易)。

為什麼這一點會這麼重要?原因如下:

降低投資人的風險

投資是有風險的,風險越低,獲得投資的機會就越高。如果通過原型能表現出遊戲的可行性,那麼這個DEMO就足以表明你有能力完成整個遊戲。

可以更好的預估研發成本

到此為止,你應該很清楚自己花了多少成本,包括投入的金錢和時間。

那就可以簡單推導一下:如果製作10%的遊戲內容(這個DEMO在整個遊戲中的佔比)花費了2萬美元,那麼最終(完全版遊戲)的成本可能要在20萬左右。

便於調整預算

有很多發行商和投資人可能沒法提供足夠的資金來完成你最初設想的遊戲長度和內容。這個DEMO可以讓你估算需要砍掉多少內容以確保在預算範圍內完成遊戲。

持續研發完成Alpha版本

這是大部分開發者很容易犯的另一個致命錯誤。在完成Alpha版本的開發工作以前,千萬不要在此過程中去增補任何最終遊戲素材(美術、音頻等),全部用臨時素材替代即可,唯一的例外是某些遊戲類型中必須的關鍵動畫素材等(比如格鬥遊戲)。

整個遊戲,務必全部用臨時素材來完成開發(或草圖、方塊圖形等)。

我知道這麼做非常令人沮喪,因為看到整體愈發完善會讓人感覺更好。但是,請務必抵制住這種誘惑。

這麼干是有原因的:

遊戲性是最高優先順序

決定你的遊戲是不是好遊戲的關鍵因素是遊戲性,在這一點上必須精益求精追求最好,因此首先需要確保所有功能都被實現,遊戲可以從頭到尾完整進行,操控感和用戶體驗必須優秀。

在此期間使用臨時素材就會便宜得多,因為不需要因為遊戲調整而去重新製作遊戲素材。

Alpha版本更易獲得投資

當開發進入Alpha階段以後,你就獲得了跟投資商和發行商談判的最大籌碼。這是因為:

  • 你可以更清楚展示出完成遊戲還需要多少素材和資源,以及需要多長時間能完成(這都虧了之前做的DEMO)
  • 你可以全面展示出遊戲內容,你可以當場演示出遊戲中的趣味性,對投資而言風險更低,因為成品至少比這個Alpha版更強
  • 你沒有為此花費太多金錢,投入基本都在程序員和個別美術/動畫師/遊戲設計師身上
  • 後續的投資都將用於後續僱傭相關的工作人員(動畫師、圖形師、作曲、音效等等),借他們之力完成整個遊戲

因此,投資以上這些開發工作的風險是較低的,那就更容易談到一個合適的價碼。

完善遊戲素材向Beta版邁進

Beta版基本上就是整個遊戲的完成形態了(除了有一些BUG,也許還會有微調),只是在遊戲素材質量上還有所欠缺。

其實這個階段是非常有成就感的,但這過程同樣不易。無論是大型的3A公司還是獨立開發者,完善遊戲素材都是在開發末期才進行的。

對於獨立開發者而言,在這個時候可以考慮找外包來輔助完成美術、音樂、聲效等工作。因為此時需求(和遊戲本身)基本不會發生任何變化,這樣你可以省一點錢。你可以提出精確的預算要求,並簽署相關服務內容的合同以保障這一切。

這麼做可以避免長期僱傭一名專職的工作人員所帶來的花費,畢竟開發過程往往比你的預期要久得多。

要從Alpha版進化成為Beta版,通常除了遊戲的素材之外,還有一些工作諸如多地區的文本翻譯、宣傳影片、錄音工作等等。

完全版

當遊戲中的各種BUG和問題都被修復以後,能夠穩定的運行時就基本意味著遊戲已經完成了。這個過程可能需要很長一段時間,有很多工作室在遊戲穩定之前就提前發布遊戲,然後在後續的過程中通過更新來修復遊戲中的問題。我想說這不是個好習慣,但這個行業已經習以為常。

發行版

就我個人的遊戲發行經驗來看,發行商在選擇遊戲時其實類似賭博下注,他們會為許多項目提供資金,但是只為銷售情況良好的那些提供大力支持(推廣),而那些得不到支持的遊戲只能靜待死亡,這是自然規律。

正如我剛才所說的,即使你簽下了發行合同,也不能保證你能獲得足夠的營銷資金。而你得以跟發行商討價還價的唯一資本就是完成度足夠高的遊戲,至少也得是Alpha版。

最初,我對這種行徑非常憤怒,但如今我已經理解了他們這種做法。對於發行商而言,這是最自然不過的行為。畢竟他們是商業公司,而非慈善機構。

另外,也不要曲解我的意思。不同的發行商也千差萬別。有一些即便不投入資金去推廣營銷,他們也具備很多媒體資源,甚至有大量的粉絲(比如Atlus和Daedalic)會主動購買他們的遊戲。他們同樣知道自己的目標市場在哪,所以即便你的遊戲沒有大賣,也不代表發行商們花功夫去推廣。

通常情況下,你可以跟發行商進行談判,比如如果遊戲的收入低於一個值時,你可以要求他們把發行權返還給你……也許在別的地方還能找到新的希望。當然,如果你之前曾經從發行商那得到過投資,他們會在這種情況下要求你支付相關費用(這一點你可以嘗試跟新的發行商談一下)。

同時,就我個人經驗而言,如果遊戲賣的不好,想通過砸錢推廣的方式來提高銷售的機會也不太大。

至於遊戲引擎的問題,你可能聽說有的發行商會對開發引擎有特殊要求,比如指定使用Unity、Unreal或其它。這是徹頭徹尾的謊言,我用Godot開發並發行了許多遊戲,其中有面向桌面設備、移動設備等各種平台的遊戲,但從未有人質疑過這個問題。

你唯一需要注意的是如果受雇於第三方公司(比如迪士尼、樂高等)來外包製作遊戲時。他們在最後會要求你提供遊戲源代碼,以便於在沒有你的情況下他們也能自行維護遊戲內容。這取決於你們之間的協議。

自主發行

自主發行其實很難,即便你學會了其中各個環節,自己去做所有的推廣工作也會耗費很多時間和精力。我知道有一些較小的發行機構可以幫忙完成這些工作,他們通常會從銷售中提成(或按月結算)。但我覺得其中有很多都是騙子,記得要先去核實一下他們以前發行的遊戲數據表現如何。比如SteamSpy就是個很棒的參考工具。

結語

如你所見,製作遊戲的完整流程超乎尋常的複雜,而且即便走到終點並不意味著能夠收穫成功。希望這篇文章可以幫助你了解遊戲製作過程中的一些重要環節(也歡迎經驗更豐富的朋友提出更多寶貴意見)。

在當下的行業中,估計只有十分之一的遊戲能成功獲得投資,在這些遊戲中更只有少數能獲得足夠的回報(取決於資金的來源而異)。

但是,如果你做得夠好,起碼可以賴以為生。如果你能反覆重複以上所有步驟,只要嘗試足夠多,我相信你在有生之年非常有機會贏得真正的成功。

永不言棄!


  1. MVC模式(Model–view–controller)是軟體工程中的一種軟體架構模式,把軟體系統分為三個基本部分:模型(Model)、視圖(View)和控制器(Controller)。詳見: MVC
  2. OOP:面向對象程序設計(英語:Object-oriented programming,縮寫:OOP)是種具有對象概念的程序編程典範,同時也是一種程序開發的抽象方針。詳見:面向對象程序設計
  3. Atlus(株式會社アトラス)是日本一家電子遊戲開發和發行公司。著名的代表作品有真·女神轉生系列、女神異聞錄系列及世界樹迷宮等
  4. Daedalic Entertainment GmbH 是位於德國漢堡的一家遊戲開發及發行公司,其發行作品大多很有特色,諸如《影之策:將軍之刃》、《德波尼亞》等。詳見:Daedalic Entertainment、機核

推薦閱讀:

讓角色半透明:樹形結構(三)
KBEngine遊戲伺服器(一)——引擎環境配置
兩個平均年齡十一歲的小男孩,做了兩款遊戲
基礎1——遊戲物體和腳本——造一個鍾
KBEngine遊戲伺服器(二)——運行Unity的Demo

TAG:遊戲開發 | 獨立遊戲開發 |