獨立遊戲極簡入門

什麼是獨立遊戲

在開始之前,讓我們來看看什麼是獨立遊戲:

  • 獨立遊戲(Indie Game)目前沒有明確的定義,更多的是指具有獨立精神的遊戲
  • 獨立精神則是指勇於表達自我,展現不一樣的想法與創意,其出發點更多是在表達而不是盈利。

奇怪的是,一些用愛發電的獨立遊戲開發者,不想賺錢,卻把錢賺了。

獨立遊戲開發者,沒有公司給他們發工資,他們自己給自己發薪水,必須用愛發電,獨立負擔開發過程中的所有花費。

相對的,他們可以可以決定遊戲的走向,做自己想做的遊戲,往往可以推出嶄新觀點的作品,而不用受制於遊戲公司或市場。

我們在市面上也經常看到一些遊戲打着獨立遊戲的旗號,其實背後是幾十人的團隊,幾百幾千人的公司。他們只是打着獨立遊戲的旗號進行營銷博取關注的商業化遊戲。他們不會像獨立遊戲一週五六次更新,不會在遊戲發行5年10年後,還免費推出新的遊戲機制,更多隻是收割一波就再無後話了。

下圖是三款著名的獨立遊戲《環世界》、《我的世界》、《星露穀物語》。

星露穀物語全平臺賣了2000萬份,作者花了五年時間製作,一個人自學了編程/美工/音樂。期間沒有其他收入。

大家可以看到這些遊戲很多采用了像素風,這些本來是程序員處於成本考慮的美工上的削減。因爲你不能要求程序員是萬能的嘛,不過呢,在很多懷舊的眼裏看來,這些風格有另外一種美感。

而且獨立遊戲重在玩法,所以美術風格上大家一半都能給一定的寬容,更何況,你賺了錢了,還可以請專業美工不是。

獨立遊戲的美術,也突出了一個出奇制勝

獨立遊戲製作人的故事

提到獨立遊戲,必定要提到《獨立遊戲大電影》,講了三個獨立遊戲背後製作人的故事。

如果要做創造世界的神,就要忍受背後的孤獨。

獨立遊戲製作者,他們是自己遊戲的神,他們創造了遊戲的世界,遊戲的NPC長什麼樣,什麼性格,要經歷什麼樣的生活,都是他們說了算。然而他們卻也要忍受制作獨立遊戲過程中的孤獨,要耐得住寂寞。

第一個製作人的故事

超級食肉男孩是一個平臺跳躍遊戲,在許多超級變態的機關裏,找出一條道營救自己的繃帶公主。主角會被電鋸一次次碾碎,但也會迅速在原點重生。

其實可以看到這個遊戲無論是畫風,還是遊戲本身都有點暴力,獵奇。因爲作者本身就是這樣的人,他小時候就喜歡畫一些怪物,他坦言自己體內藏着怪物,在生命中遇到無數無法理解自己的人。

小時候老師建議他父母帶他去看心理醫生。後來他找到了一個合理的宣泄獵奇慾望的窗口,把自己的奇怪想法畫出來,做成遊戲。

現實世界中的作者也有支持着他走完獨立遊戲製作之路的“繃帶妹”,他們在一次次的挫折中互相鼓勵,重新站起,在遊戲發佈後抱在一起哭泣。

第二個製作人的故事

比起程序員,時空幻境的作者更像一個哲學家,他對遊戲和人生都有自己的理解。站在編程和遊戲設計頂端的這個男人的演講也大多是理念和思想,並不常講技術。

他認爲遊戲裏的瑕疵在所難免,因爲有個性的東西必定是有瑕疵的。完美是完成的敵人。遊戲成本增加,大多數大型遊戲更注重迎合大衆、循規蹈矩,磨去棱角的同時也不再有太多的新意。而他就是要追求這份新意。

他把遊戲推向平臺,大獲成功,好評如潮。他逐條翻看這些熱評,卻很失望。因爲他覺得沒有找到那條連接。遊戲裏,時間是可以反轉的。玩家可以在冒險的過程中隨意使用時光倒流的能力,讓主角回到過去的位置,這個機制被媒體和玩家大吹特吹,然而這卻不是作者想要的讚美。他要的是作者能體會自己在遊戲中所表達的那層意思。這個遊戲探索了時間的雙向性。

有人說《時空幻境》中,提姆實際上指代的是原子彈之父奧本海默,而所謂的公主則是他一生的成就——原子彈。

當你將猛虎放出了籠子,這隻猛虎便不再受你的控制。此時,能做的並不是活在無盡的悔恨當中,而是着眼於當下,去發現和尋求新的解決之道。畢竟,真實的世界中,是沒有後悔藥可以喫的。

第三個製作人的故事

FEZ的製作者的故事,其實完全可以獨立出一部好萊塢式的文藝片。他的獨立遊戲製作之路充滿了大起大落,無盡的黑暗的掙扎。

他對細節和完美的執著,讓他把遊戲一再推翻重做,毫無限制的提升美術細節。身邊很多人逐漸離他而去,合夥人離開,父親患白血病,父母離婚,女朋友甩了他。

美國的法律,讓他沒有前合夥人的許可,不可以參加遊戲展。眼看着遊戲展出館要開門了,他冒着可能被告的風險,把遊戲展出了。

然而展出並不順利,因爲焦慮,對自己作品不夠好的焦慮,他展出前夜通宵加入了很多新特性,沒有嚴格測試完。結果很多人剛看完動畫,玩不了一會兒,遊戲就崩潰了,需要打開鎖好的櫃檯重啓才能玩,但是好在遊玩者表示有興趣重啓後繼續玩。

他站在玩家附近,觀察玩家的反應,他會因爲玩家露出這遊戲一般的神色,深深失落。他坦言自己會被別人的看法影響,自己也被這個深深困擾。

"每次掛掉都像是我個人的失敗,非常嚴重的失敗"。

然而,根本沒有退路,他坦言,如果遊戲不成功,我就去死。

三個故事的總結

三個遊戲最後都獲得了成功,三個人都獲得了財富自由。

不過呢,不容樂觀的是,他們只是千千萬萬的製作人中的一人,更多製作人的作品石沉大海,幾年的光陰心血付之東流,有些人可能選擇再戰,更多的人會選擇重新迴歸之前的路。

孤注一擲的獨立遊戲製作人更容易變成像FEZ作者這樣的情況,陷入生活和情感的雙向困境中,這時候能不能像超級食肉男孩那樣百折不撓,將作品完成,這就是一個很大的考驗。

超級食肉男孩製作者說他已經失去了正常的生活,沒有社交,憂鬱,各種不同類型的憂鬱。最後銷售量超出預想的時候,他只是說,很累,真的很累。

其實我覺得對於中國的獨立遊戲製作人來說,最好的方式,是利用業餘時間做做,社交是重要的,另外畢竟誰還不要還房貸啊。

三個人的故事,以影片中非常打動我的一段話來結尾

我們在老去有了歲月的痕跡,
也難免讓人有些意志消沉。
你就會情不自禁地想,
或許我永遠不會像我當初以爲的那樣,
去做我想做的事情了。

然後有一天我就想,
我要去做一件事,
而且一定做到底,
於是就有了《時空幻境》

在我看來,最重要的是保留心裏那份悸動,不要變得日漸消沉,老氣橫秋。

“看看周圍,看看身邊所發生的一切,究竟有幾個人能把年少時的夢想堅持到最後,低物質,低社交,犧牲很多東西作爲底線,只是爲了讓更多的人分享這份‘天真’。真TMD的太帥氣了。”

推薦一本書《DOOM啓世錄》,一個合格的獨立遊戲製作人,案頭都應該放一本它。Carmack在當年性能有限的機器上製作出滾動卷軸遊戲,製作出2d渲3d效果的極客精神和想象力,DOOM團隊裏小夥子們的熱情你把手放在封面上就能感受到。

遊戲製作

前面講了那麼關於獨立遊戲的故事,不知道有沒有讓大夥心中燃起了一點想做獨立遊戲的火苗呢?下面介紹一些遊戲製作方面的東西。

爲啥會有遊戲引擎

做遊戲離不開遊戲引擎,自己從0做起只適合Carmack這樣的超級極客。然而世界上只有一個Carmack。

我們先來說說遊戲引擎。

任天堂的程序員先開發了一款遊戲叫做孫喜剛,以當時特別火的金剛爲原型。後來他又要做一款遊戲叫做超級瑪麗,程序眼發現主角跳來跳去,上下攀爬這些操作是類似的,這樣的遊戲都可以稱作是平臺跳躍遊戲,就是platformer game,那不如把這些類似的公共部分提取出來好了。於是就有了遊戲引擎。

製作孫喜剛花了個把月,製作超級瑪麗可能就只要一週了。

這時候的遊戲引擎稱之爲內部引擎,要是任天堂把引擎開放出來,誰用我的引擎,我收取一部分授權費。那就成爲了開放的商業引擎了,比如他給卡普空的程序員用,卡普空也開發出一款平臺跳躍遊戲,比如諾克人。

當然了,現實世界裏,任天堂沒有開放他的引擎,我只是舉個例子。

遊戲引擎的層級

雖然上面我說了遊戲引擎這個詞,但其實那只是泛泛的概念,現實世界裏的引擎,可以定義爲三個層級:從下到上可以爲多媒體庫/遊戲框架/遊戲引擎。

從下到上,功能越來越豐富製作遊戲越來越省心。從上到下,越來越硬核。

遊戲引擎,包含遊戲分發,不要認爲這些功能好像是添頭。遊戲可能一開始只發端側,比如pc上的steam,但是一款成功的遊戲一般都會分發多渠道的,比如安卓/ios平臺,甚至ps4和任天堂的平臺。把遊戲打包成各個平臺的包絕地夠咱喫一壺。用遊戲框架也能做各種平臺的打包,但是整合各種工具是特別麻煩的,爲啥不用別人幫我們做好的東西呢?

獨立遊戲開發者容易陷入誤區,開發遊戲變成開發引擎,而開發引擎又比開發遊戲勸退很多,最終遊戲和引擎都沒開發出來。

咱們必須要清楚,咱們是在寫遊戲,還是在寫引擎。

不用引擎的最站得住腳的原因就是,我想對遊戲所有地方做全方位把控,不希望有些代碼是引擎生成的,腦子上沒有把控,心裏就沒有安全感。
不過就連這一點,有些引擎也考慮到了,讓你基本不用那些自動生成的代碼。

其實,煩惱是多餘的,不管如何,你也無法把控每一行代碼的,用了遊戲框架,你還覺得多媒體渲染層不靠譜呢,手擼sdl嗎?用了sdl,再手擼操作系統嗎?

適可而止把。

遊戲框架推薦

個人不推薦使用遊戲框架。喜歡硬核,就是喜歡把控每一行代碼人可以無視我的建議。

MonoGame

MonoGame引擎採用的腳本語言C#是一門很好學的語言,雖然這門語言現在的市場份額越來越小了。
不過這個引擎做出了《星露穀物語》《蔚藍》兩款偉大的遊戲。

LibGDX

誰說Java不能做遊戲?我這麼擅長寫Java,就是不想學其他語言怎麼辦?用LibGDX!

大賣的卡牌構築遊戲《殺戮尖塔》就是LibGDX做的。更讚的是,Github上有兩款完整開源,下載後就能編譯發佈到其他平臺的商業遊戲:

  • 《Mindustry》: 一款在外星球建工廠順便打打小怪獸的種地+塔防遊戲。
  • 《Shattered Pixel Dungeon》:一款隨機生成地牢的探險遊戲。

你可以把他們的代碼二次開發後,發佈盈利,只要你也能遵守約定開源自己的項目。

PixiJS/PhaserJS

學點Javascript就能寫H5遊戲,找好打包工具,就能發佈到Steam/微信,這種好事,只要你用PixiJS/PhaserJS就你那個達到。

Ebitengine

這裏提一嘴它,主要因爲筆者我是寫Go的,然而,這個引擎,現在還不成熟,不好用。成熟的商業作品,基本沒有。

遊戲引擎推薦

Unity

大部分情況下,你可以無腦選擇Unity引擎作爲你的第一款(很有可能是最後一款)引擎。
鼎鼎有名的《王者榮耀》、《刺激戰場》(新版本改爲Unreal了)、《元神》都是用他做的。

不要誤會,這個引擎做2d遊戲也是很專業的,《保衛蘿蔔》也是unity做的。

Unity的優勢很多:

  • 強大的素材商店:我作爲程序員,不會畫畫,不會做3d模型,不會寫音樂,不會做UI,甚至,我都不是個程序員,代碼都不會寫,怎麼辦?
    直接去Unity的素材商店裏買素材,你要的都有。什麼RPG/RTS/FPS遊戲整個框架都有,拖拖拽拽就能把項目做出來。
  • 教程超多:再好的武功,沒人會傳授也不行啊。媽媽再也不用擔心我的遊戲引擎學習啦。
  • 社區活躍:有些問題,文檔沒有?甚至是對自己的遊戲製作沒信心了?活躍的社區會給你指一條明路。

Godot

我有沒有和你說遊戲引擎其實是要收費的?那現在告訴你吧,Unity引擎要收錢的,如果你一年營收超過10W美刀的話。

不過,一個不知道是好消息還是壞消息的事情是,很多獨立遊戲開發者一年根本賺不到那麼多錢。

當你的遊戲盈利很多的時候,你就得好好考慮這個問題了,畢竟扣去這些錢後,你還要扣去30%的平臺分成(比如steam),還有你不會全能到能開發遊戲還能發行遊戲吧,發行商之類的也要分成,還有扣稅。這麼多環節裏,能控制成本的軟柿子,似乎就是這個授權費了。

所以,完全沒有授權費的Godot來了。

Unreal

也是鼎鼎有名,不過剛入門獨立遊戲,又不打算做3A大作的你,真的要選擇用C++來寫遊戲代碼嗎?

很多人會嚷嚷,爲啥不推薦我用Unreal?爲啥不讓我寫3A遊戲。殘酷的事實是,極極極極極大部分人一輩子都不可能寫出3A遊戲。

RPG Maker

小時候玩過英雄傳說沒?如果我告訴你,你可以用一下午時間學習一個遊戲引擎,然後稍微熬熬夜,就能做出一款這樣的遊戲來,你不會以爲我在騙你吧?

順便提一嘴,Unity引擎差不多學習一週可以出作品。

然而我是認真的呢,甚至小學生都可以用RPG Maker掌握遊戲開發。
Steam上許多日式RPG(典型特點卡通形象回合制),美少女戀愛遊戲都是用它做的。

如此之地的門檻,也導致這個引擎產出了一大堆粗製濫造的垃圾遊戲。

大部分情況下,一行代碼都不用寫。

RPG Maker看上去最不像一款遊戲引擎,更像是小孩子的桃木劍玩具,不像是我們成年人要的鋼鐵洪流,但是落到一個有着好idea的主人手裏,一樣可以降妖伏魔。

Cocos Creator

最近羊了個羊很火,這樣一款微信小遊戲,用Cocos Creator可再合適不過了。對性能要求不高,玩法簡單,還要輕鬆發佈到微信平臺。別想了,就用它吧。

況且,他的開發流程和Unity簡直如出一轍,學有所成後,轉戰Unity也是很輕鬆。

第一款該做啥遊戲?

看了這麼多,也有想要嘗試的遊戲引擎了,我該怎麼着手做第一款遊戲練練手呢?

它山之石可以攻玉

你當然可以選擇復現小時候玩的《超級瑪麗》《90坦克》,不過我們還有更多選擇,更多靈感來源,去看看Github上開源的遊戲怎麼做吧?

https://github.com/leereilly/games

Roguelike瞭解下

玩過《暗黑破壞神》嗎?隨機生成的地牢,隨機參數的武器裝備,甚至英雄模式下,角色死了就直接沒了。

這些都是Roguelike的主要設定。

發揮一下你的想象力,@是主角,d是怪物,.是地板,>是下樓,<是上樓,大白框是房間的牆體。

看看這樣的黑框框遊戲,在命令行下也能玩,DOS下產生的遊戲,在畫面上做到極簡,在遊戲性上做到超級豐富。
多種交互,敲門,偷聽,炸開牆壁,這些行爲都可以。自由度超高。

roguelike的優勢

一般的遊戲,都會有關卡設置,每個關卡,每個節點都是精心設計的,可能第一遍玩的時候特別好玩,但是玩多了,就可以背板了,每個地方,什麼樣,什麼時候出現什麼怪物,大家都知道了。遊戲就變得無聊了,大家就不願意再次打開了。

如果讓關卡隨機生成就解決了這樣的問題。

讓遊戲更鮮活一點

上面那個黑框框的畫面可能會勸退很多人,所以很多新的Roguelike遊戲在畫面上做了美化,變得更加富有變現力。仔細對比上圖和黑色小框框,你應該能看出其實都表現了一個房間裏的怪物和寶物分佈。

遊戲Roguelike死了就消檔的設定過於硬核,後來推出了簡化版,roguelite,保留每一盤都各不相同的設定,但是對死亡後的懲罰進行舒緩。允許失誤,甚至允許你重開後,通過一定方法,找回上盤失去的東西,比如《饑荒》。

這些遊戲現在很熱門,而且一些核心機制,在github上都有開源的實現。你要做的就是對在遊戲設定上再玩出點花樣。

寫在最後

本來想給大家講講遊戲引擎的一些基礎概念和遊戲製作流程的,但是想想時間不夠,而且也不想給大家造成太大心智負擔。

畢竟前面講得這些還是趣味爲主,堆砌太多技術細節,對不感興趣的人來說是煎熬,所以,還是留給感興趣的人自己去了解吧。bilibili是寶藏網站!

還有很多主題我都沒講,比如美術素材怎麼搞,遊戲怎麼上架。但是這些都不是大問題,一旦有興趣,寫下第一行獨立遊戲代碼,你就會被推着去了解一個個主題,這些東西網上都很多。最重要的不是爲什麼,而是行動力,就是現在,馬上,就去做。

種一棵樹的最佳時機是十年前,第二好的時機,就是現在。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章