開發回顧《人類群星閃耀時》


3樓貓 發佈時間:2025-05-24 00:32:34 作者:blackhand Language

大家好我是Natia~(不是

寫點兒啥?

這次講一個本來想參加BOOOM主題“奉獻”,但是沒趕上的遊戲的誕生過程,以及在製作中產生的一系列思考,本文是我寫的,所以也僅僅是我的一些個人觀點,沒有什麼太高深的技術技巧分享,都是一些普通的踩坑和流水賬。
特別聲明:遊戲的點子來自於遊戲策劃,也是機核用戶“季姜”,本人只是做出了整個設計中非常基礎的一部分。
雖然這個遊戲只有我和策劃2人,但是基本上開發就是我一個人,所以遊戲最終呈現出來的完成度也是低的嚇人。即便如此,遊戲是可以正常遊玩,通關,以及表達出來了我個人想要表達的東西,所以我實際上對這個遊戲,是基本滿意的。
回到BOOOM開題的時間,實際上在這個時間點之前,大家其實就討論過有沒有什麼想做的東西,如果主題跟本身想做的東西一致的話,那豈不美哉?也許有人會非常嚴格的判定,就算是構思押題,也是預製菜!但是人的想法本來就存在於腦海之中,如果題目就跟自己腦內素材庫的某種東西匹配,那也是沒辦法的事情吧。
當然,最終我們並沒有任何一位中獎,我想做的用體素拉大便的超級設計,也被“奉獻”二字,徹底幹碎,只能扔到腦內素材庫,有緣再見了。

怎麼來的?

回顧聊天記錄的時候,發現白天的討論階段其實還有一個CallBack我之前想的那個拉大便遊戲,太叛逆了。
1 / 2
就在討論了一段時間之後,策劃兄弟就拋出了那個我為之著迷的點子,人類的堆疊。
1 / 4
到這裡我還只是,有點喜歡,單純覺得用人類堆疊來表現一代又一代人的奉獻,推動時代的進步,既嚴肅又瘋狂,而且有點無厘頭,應該挺樂的。
但是策劃兄弟接下來設計的大結局直接給我震住了,這個想象力,以及價值觀,還有浪漫,讓我覺得這就是我想要的答案了,關於這次比賽的答案!(劇透警告,沒打過的人可以打完再來看)
1 / 3
但是……非常可惜的是,這個案子並沒有通過大家的投票表決,其實第一次投票的時候應該是贏了的,但是後來似乎有人改變了主意,最終團隊得出的結論是另一款平臺跳躍解謎,以情感傳遞和敘事為主要玩法的遊戲。

比賽期間幹啥了?

這次我在團隊中準備扮演的角色是輔助,因為之前已經體會過SOLO,主力程序,帶隊程序,這次想抱著學習的心態來參加一個團隊,學習一下團隊協作的方式。因為上次帶隊的時候感覺表現很差,整體制作流程也亂七八糟的,雖然我有在燃燒的感覺,但是大家似乎對我做的東西興致一般。
但這次的團隊協作,我的表現仍然很差……一開始的時候光是熟悉Git的操作流程就花費了好久,但這也只能歸咎於我個人能力的不足,GameJam是一場遭遇戰,沒有時間準備太多,基本上都是使用參與者已經具備的技能,互相取長補短。
另一方面,大家的現實生活中,總有各種各樣的事情,特別是在團隊協作中,每個人拿出來的精力比例,在量化之後都是不同的,這種溫度差是不可避免的。BOOOM的活動安排,其實我覺得已經是很友好的了,3個禮拜,對社畜來說,足夠擠出業餘時間,做出來點差不多的東西了,更別說活動期間,還覆蓋了五一黃金週,用來做項目最後的收尾衝刺,再合適不過了。
然而,我的五一要陪家人,回到老家,身邊沒有電腦,項目分配的任務雖然基本早早就完成,但是也沒能承擔更多的職責,多虧同組的隊員們力挽狂瀾,最終總算趕上了截止時間。假期結束回來,有電腦了,比賽提交也結束了——除了一個鏡頭跟隨和背景捲動之外,我基本上沒做出什麼貢獻。
在五一的時候,其實我嘗試過在隨身的SteamDeck上試著把《人類群星閃耀時》做一些,之前我就在這個平臺上嘗試過了,但是那次使用的Unity自帶的 Plastic SCM ,用不明白,這次用Git至少能做到項目的多平臺協同了,但是這個小小的掌機性能實在太差,打開Unity就很吃力了,基本上幹不了什麼工作。
所以我只能去想。
這個遊戲該怎麼做,要有什麼,現在還缺什麼。想象力,很神奇吧。
1 / 4
五一歸來,我撫摸著我的大PC,心中一陣酸楚,不行,我果然還是想做!

咋做的呢?

東市查資料,西市找素材,南市選音樂,北市畫UI。
雖然比賽結束了,但是無所謂!一個好的點子,不要捨不得做!“等到自己有更強的能力,有更多的本事,可以做的更好的時候,再來做”這種想法,雖然不是不行,但是大多數時候,這是一種無盡的等待,想做就趕緊做,人生苦短,必須性感。
1 / 2
最早的時候,只是簡單驗證了一下如何計算一個圖片對另一個圖片的覆蓋百分比,雖然遊戲的大結局才是那一碟醋,但是沒有基本玩法作為餃子來支撐,也無法構成一個遊戲。
尋求解決方案,在這一點上,AI是一個非常好的選擇,實際在開發過程中,遇到困難,藉由AI來搜索辦法,是一種非常高效的行為。因為現在的搜索引擎已經被汙染了……直接使用搜索引擎來搜尋資料,會優先看到大量重複劣化的干擾信息,雖然有一些有用的信息混在其中,但是篩選過程就會花費太多時間。把AI當成一個搜索引擎,搜索一些可以快速驗證的東西,我認為這就是當前階段AI比較恰當地運用方式。
在AI給出的幾個解決方案裡,我選擇了Clipper庫來處理多邊形交叉,重疊,面積計算,從而實現了基本玩法。這裡基本就可以確定,這遊戲能做。
但我還是想得太天真了,遊戲實際開發中總會遇到各種各樣的問題,立項不謹慎,踩坑徒傷悲。當我開始鋪關卡的時候,埃及人直接在第四關就給了我當頭一棒,差點把這個項目直接踹開線了。
我本來還想的是,按照人類歷史的進程,建築規模逐漸增大增高這麼一個難度曲線,然後看到在公元2560年埃及人就造出來150M左右的金字塔……這比前面和後面的建築高度都要高好多了!
沒有事兒,沒有事兒,我對著天空笑一笑,就當是一個小BOSS了,反正到了近代,就會出現更高的建築物,波動的難度曲線會讓玩家有起伏感,而且金字塔就是個大石頭堆,也不需要磊太高,嗯,沒有問題!自我催眠成功!
但是代碼報錯的時候,我實在是笑不出來了,Clipper庫有一個座標範圍限制,當我進行到金字塔這一關的關卡編輯時,初始化主要建築多邊形的時候,直接超出了限制。雪上加霜的是,2D小人的大量創建也帶來了巨大的性能,每個小人都具有物理碰撞,導致小人數量級剛剛達到200左右的時候就開始瘋狂掉幀。即使我對座標範圍進行捨棄精度的縮放能解決第一個問題,性能優化這一部分一直都是我的弱點,第二個問題我覺得自己也沒辦法短時間搞定。比賽已經結束了,按理說並沒有嚴格的結束時間了,但我還是想按照比賽的規格來製作,一旦拖下去,很可能就會變成無限的拖延。
花了一天時間探索無果,只能帶著彆扭的心態,重新規劃關卡的設計,把單關的通關數量大概控制在100個小人之內。實際體驗下來,不得不說,這樣的感覺似乎更合適一些。如果小人數量很多,點擊放置,或者說拋下小人的行為就必須足夠快,那樣就像是潑水一樣,基本沒有操作空間了,至少在當前的設計下是沒有的。
經驗之談:最好能夠在製作前期就驗證一下製作規模的極限情況是否能夠順利運作。
但減少了小人數量,意味著每一個小人的狀態會變得更加重要,這樣在堆疊相對較高的現代建築時,就需要更謹慎細緻的操作,我自己在測試的時候對這部分還挺上頭的。

怎麼才算難?

這裡插一句題外話,對於遊戲的難度,我個人是傾向於要有足夠的挑戰。至於多難才能算是有足夠的挑戰,沒有絕對的判斷標準。也許比較有經驗的數值策劃,會有一些更嚴謹的做法,比如明確受眾,儘可能正確估計玩家的平均水平,反覆測試,讓結果儘可能逼近理想的數據。但操作空間越大,這個數據的波動就越大,可能還是要按照實際的遊玩體驗來進行細微調整,才能達到最終想要的效果,這是一個水磨工夫。我就只遵循一條標準,開發者能打通自己的遊戲就算基本過關。

實際玩起來感覺如何?

在測試的時候,我還領悟到了很多莫名其妙的感想。這些感想跟策劃兄弟在策劃案中預想的玩家體驗基本是相符的。
比如最開始的關卡,如果人跟人之間縫隙過大,會導致圖像填充不充分,就算有多出來的人手,也無法彌補底層的間隙,悟了,人們需要更加緊密團結。再比如巴黎聖母院,愛丁堡,宏偉的建築都是有人用血肉鑄造而成的,看到小人倒塌滾落到兩側,悟了,實際的消耗可能比想象的還要多。而滾落到兩側的小人也並非完全無用,他們組成了堤壩,避免建築橫向坍塌,悟了,他們也作出了貢獻,每個人都是必要的。
當建築到了現代的時候,因為控制關卡規模的問題,細長的建築反而需要的人數更少了,我又悟了。這是因為科技的進步,建造一個規模上數倍於舊時代建築的消耗,反而比以前還要更少。但是豎長的建築結構,意味著我要縱向搭一個高臺,這個事在物理遊戲裡是非常困難的一件事情,所以在玩的時候,我的建築瘋狂坍塌。玩著玩著,我又悟了,只有地基足夠堅固,上層才能不易傾斜倒塌,萬丈高樓平地起。怎麼加固地基呢?可以故意先在兩側製造不規則的斜坡,然後讓小人撞擊斜坡之後彈向中央,把微小的縫隙給捶打得更加緊密結實!悟了悟了,我悟了,這就是操作技巧!
不得不說,這段感受實在妙極。漸入佳境,一口氣把關卡全部配完,這樣餃子就全都包完了。剩下就差那碟醋了。

幹嘛來的?

接下來就是遊戲大結局的部分,再次進行一次劇透警告。
這部分是如此的重要,讓我為了它,耗費了上面諸多功夫。其實就是一句話,我想讓大家都飛起來,飛上天,到宇宙裡去,那就是人類的下一個階段。
“地球是人類的搖籃,但人類不會永遠生活在搖籃裡。開始他將小心翼翼地穿出大氣層,然後便去征服整個太陽系。” —— 科·埃·齊奧爾科夫斯基
最早在對最終關的想象的時候,我的腦子裡就已經決定好了BGM,也就是女武神的騎行。
這是一首很有段落感的音樂,在主旋律一次又一次地循環之中,節奏越來越強烈,這個明顯的節奏也適合我做切割,如果玩家不做任何操作,那麼遊戲將會始終循環當前高度所處的那段BGM旋律,當操作達到一定範圍,便會進入最終關的自動演出流程,最終達到高潮,在燦爛的星河之中,迎接遊戲的結局。這便是我想要獻給玩家的通關獎勵。

我想說點啥?

最後,是一些我的個人觀點。
為什麼要做這樣一個遊戲呢?或者說為什麼要做遊戲呢?在或者說,為什麼要在BOOOMJAM這種活動做遊戲呢?每個人做什麼應該都有自己的理由,那麼我們身為遊戲開發者,是為什麼而做遊戲呢?
請注意,我在這裡說的是,遊戲開發者,不是獨立遊戲作者,也不是遊戲工作者,是所有在進行遊戲開發的人。
這些問題可能沒有唯一的答案,但每個人總得有一個屬於自己的答案。
因為要做出自己的表達。因為我覺得遊戲是最棒的載體。因為BOOOMJAM所屬在機核這個社區,讓我覺得我跟玩家的距離,跟開發者的距離,都非常近。身為一個開發者,我覺得我的遊戲應該推動這個世界,朝著我認為的更加理想的方向前進。
當然,我很清楚,這些理想主義的大話空話,可能對於寄希望於遊戲大賣,才能獲得生活保障的朋友們,似乎聽起來有點站著說話不腰疼了。活下去當然非常重要,但是生活還有很多別的東西吧。
遊戲是娛樂,是商品,是消費。
是嗎?對不同的人而言應該是不一樣的吧。對我來說,遊戲已經是生活中不可缺少的一部分了,排解壓力,維繫社交,有時是新知識獲取的渠道,有時能鍛鍊某種堅韌不拔的意志。我會用遊戲邏輯來思考生活中的問題,我會用遊戲中常見的情景來類比各種各樣現實中的事情。我無法想象沒有遊戲我的生活會是怎麼樣的。它就是如此重要。
那麼遊戲開發者們!咱們責任重大啊!沒準哪個將來可能改變世界的人,現在就在玩我們的遊戲呢!
那麼,你的答案是什麼呢?

© 2022 3樓貓 下載APP 站點地圖 廣告合作:asmrly666@gmail.com