2021年,開發一款遊戲到底有多難?

開篇語:北京的夏季是炎熱的。5月30日下午,“Unity技術開放日”北京站正式開啟,此次活動報名人數突破了800人,這遠遠超出了Unity官方的預期。為了符合防疫要求並讓所有來現場的開發者們都有所收穫,工作人員臨時“包下了隔壁會場”,8位演講嘉賓以AB廳的方式在兩個會場同時開講,也就是說每位嘉賓當天需要連續講兩次。即使是這樣兩場仍然爆滿,很多找不到座位的觀眾就乾脆站在後排聽完了全程。在炎炎烈日的北京,開發者求知的熱情,釋放出了比烈日更耀眼的光芒。

在早期做遊戲的時候,並沒有專門的遊戲引擎,直到開發者們發現很多遊戲中的模組可以通用,才慢慢出現了專業的引擎,近十幾年來,遊戲開發技術每隔幾年就帶來翻天覆地的變化。更高的效率、更穩定的執行、更精緻的遊戲畫面以及讓更多的愛好者可以加入到遊戲開發的隊伍中,這就是引擎給整個行業帶來的改變。

時間轉眼到了2021年,遊戲已經成為人們生活中最熟悉的娛樂專案,行業發展如此之快,玩家對遊戲的品質需求也越來越高,所有遊戲公司都感受到了精品遊戲開發的空前壓力。在這樣的大環境下,行業內卷也隨之而來,遊戲開發成本居高不下,高階人才競爭異常激烈。有些團隊資金充足,卻無法聚攏高階人才,有些團隊人才濟濟卻難以維繫高昂的運營成本。如今,一款遊戲的製作對於任何體量的團隊來說都是非常艱難並且龐大的工程,那麼如何從技術上解決這些問題,讓遊戲開發變得更簡單一點?這是整個行業都在探討的問題。

同時,這也是記者對本次Unity技術開放日饒有興致的原因。據瞭解,目前Unity除了引擎之外,還推出了大量遊戲開發及運營的解決方案,其目的就是為了幫助開發團隊更高效的解決技術問題。所以,在開放日當天,記者很早的就趕到了現場,認真聽講了每一個嘉賓的分享,因為我們很想知道,在問世16年後,如今的Unity除了作為遊戲引擎,還能為開發者解決哪些問題?

2021年,開發一款遊戲到底有多難?

2020年爆火的《糖豆人》

讓小團隊開發者看到了更多可能

在開放日大會現場,最先引起遊戲客棧記者興趣的分享主題是“Unity多人聯機實時對戰技術”,提到多人聯機的實時對戰遊戲,很多人都會先想到《王者榮耀》《使命召喚手遊》這種長期霸榜的爆款產品,它們能夠取得優秀的業績,和開發商資本雄厚、遊戲質量高是分不開的,而對於中小開發者來說,想要做多人聯網遊戲存在諸多困難。

但去年橫空出世的《糖豆人》打破了這個局面,這款遊戲由二十幾人組成的團隊打造,上線首月僅PC銷量就超過12億人民幣,成為全球性的爆款遊戲。能取得這樣的成功,在技術開發層面上,Unity功不可沒。

2021年,開發一款遊戲到底有多難?

(圖:小團隊製作的《糖豆人》上線後即成爆款)

Unity遊戲雲業務拓展經理吳毅敏在演講時表示,《糖豆人》除了使用Unity做遊戲客戶端之外,這款遊戲最大的難題就是做網路層,對這種需要將每一個玩家的每一個行為和狀態都進行實時同步的遊戲,這一環節中存在諸多工作。包括低階的序列化、分片、防篡改、重連、加密等功能,中階的插值、壓縮、優先順序控制等功能,以及高階的延遲補償、預測演算法、隨機數同步、輸入驗證、鎖定步進演算法等功能。

在這一部分,可以考慮由專門的C++或者GO程式設計師去做,但對技術要求較高,開發週期也會較長;《糖豆人》則採取直接用Unity做遊戲伺服器的思路,利用伺服器端模擬遊戲狀態和結果同步到客戶端的狀態同步,做到跨平臺物理的一致性。由於Unity引擎裡很多遊戲的功能演算法都已經在客戶端做過一遍,只需要稍作修改就能作為遊戲伺服器,壓縮了工作量,節省了大量時間。

2021年,開發一款遊戲到底有多難?

解決了網路層的問題後,《糖豆人》還需要對匹配、開房間等內容伺服器進行管理,遊戲選擇了Unity Matchmaking這個大規模對戰匹配解決方案,它基於C#的可完全自定義匹配規則引擎,具有自動彈性伸縮的特點,開發者只需要聚焦自己的匹配邏輯,寫好匹配函式上傳,在遊戲大廳裡呼叫API就能快速接入,不用擔心遊戲線上人數暴漲後匹配功能無法順暢執行,可以為開發者節省大量的開發時間。

完成匹配後,玩家需要在專門的伺服器上進行對戰,《糖豆人》用了Unity的Multiplay服務,這是跨越全球的混合雲架構,幫助開發者管理遊戲伺服器在全球所有物理機和雲主機上面自動分配和彈性伸縮,這種混合雲架構具有成本低、覆蓋面廣的特點,可以用物理機來承載穩定可預測的使用者量,玩家暴增時自動彈性擴充套件到公有云,同時享受物理機的低價和公有云的彈性,最大化節約成本,並利用Multiplay在全球有一百多個物理機房的特點,匹配之後根據玩家所在的位置把戰鬥服務開到最近的機房,將網路延遲壓到最低。

2021年,開發一款遊戲到底有多難?

最後,實時對戰中的實時語音也是Unity的一大亮點,利用遊戲內建的即時通訊服務Vivox,即可完成跨多端的高質量語音通訊,像《英雄聯盟》《魔獸世界》《堡壘之夜》,以及曾在Steam上衝到前五名、同時線上達到十幾萬人的網易遊戲《永劫無間》,都使用了Vivox的語音服務。記者在此前曾參加過《永劫無間》的測試,當時遊戲的全球玩家語音同步效果給記者留下了深刻的印象。另外值得一提的是,Multiplay和Vivox都是不限平臺、不限引擎的,幾乎適用於所有遊戲開發團隊。

2021年,開發一款遊戲到底有多難?

中小開發者“前狼後虎”的窘境,

正在被慢慢改變

從《糖豆人》這樣一款需要實時對戰技術方案的遊戲上,Unity已經提供了一整套端到端的完整方案,從網路到匹配到伺服器到語音完全了全方位的支援,這對中小開發者來說具有非同凡響的意義。

近十年來,手遊行業得以飛速地擴張發展,但遊戲開發者群體並沒有出現明顯的“百花齊放”狀態,究其原因主要在於資金和人力,一方面手遊宣傳很長時間裡都是渠道為王,中小開發者很難與掌握資源的巨頭競爭;另一方面中小開發者也很難憑藉十幾個乃至幾個人的團隊完善地處理開發過程中遇到的種種問題,往往出現好創意被埋沒,有潛力的團隊被迫解散的結局。

比如說,像《糖豆人》這款遊戲,開發者想出了玩家化身糖豆在賽道上進行令人捧腹的大亂鬥這樣一個創意,但如果後端開發能力和後端工程師資源不足,遊戲的核心玩法“即時對戰”就可能受到網路同步不佳、玩家匹配不合理、伺服器延遲,以及線上人數驟增後的伺服器崩潰等問題的影響,導致一蹶不振。

2021年,開發一款遊戲到底有多難?

(圖:起到了伺服器“託管”作用的Unity讓《糖豆人》的開發運營順風順水)

而Unity可以幫助中小開發者解決這些問題,讓他們能跳出被技術不足(體現在人力物力上)束縛的圈子,將更多精力聚焦在遊戲玩法等核心內容上,而將技術問題交給Unity全家桶來包辦。也就是說,對資本更雄厚的大型遊戲廠商來說,Unity是可靠優質的工具,而對中小開發者來說,它更是強大可靠的合作伙伴,改善了“前狼後虎”的局面。

從開發到運營,

解讀Unity提供的一站式解決方案

目前全世界的遊戲引擎數量有數百款,但Unity是其中市佔率最高的,從2005年問世到今天,經過不斷進化,逐步發展為現在的一整套工具。Unity大中華區平臺技術總監楊棟在現場說的一句話讓記者印象深刻:引擎的意義就在於將開發遊戲變為“工業化”,透過引擎賦予的功能來讓更多開發者做出精品遊戲。

2021年,開發一款遊戲到底有多難?

從這張圖上可以看到,Unity的專業技術服務及支援服務提供了遊戲創作、DevOps服務、通用後端服務、實時對戰服務、遊戲分發服務、遊戲大資料服務、市場推廣服務等從創意到開發再到變現的一站式解決方案,在遊戲生命週期的每一個階段都為遊戲開發者提供工具和服務,幫助開發者降本增效,獲得更大收益。

除了在上文中提到的利用了Multiplay遊戲伺服器託管和Vivox實時遊戲語音功能,完成聯網功能開發的《糖豆人》《永劫無間》之外,還有無數遊戲產品都是Unity這一站式解決方案的受益者。

比如說,在前端開發階段,除了開發引擎外,Unity還提供ArtEngine材質處理工具,利用AI輔助美術創作,自動實現和加快將照片轉化為基於物理的渲染材質的過程,給遊戲增添華麗的寫實感。

2021年,開發一款遊戲到底有多難?

(圖:用AI輔助生成的樹皮材質十分逼真且大大提升效率)

在DevOps(協同測試)服務中,使用新一代的PlasticSCM版本控制系統,與Unity無縫整合,直接透過Hub建立、新增以及Clone Plastic專案,在Unity編輯器中進行版本管理,讓開發者清晰地檢視整個工程的開發分支和合並分支,確保專案開發的效率。像開發《深海迷航》的UW團隊就透過與Unity技術支援團隊合作,使用PlasticSCM優化了原始碼控制與工具流,在計劃時間內成功地將遊戲移植到了Switch上。

2021年,開發一款遊戲到底有多難?

(圖:《深海迷航》的精美畫面讓平臺移植問題更加複雜)

在遊戲分發服務中,Unity的雲端資源分發技術結合了革新性的可定址資源系統,讓開發者線上資源更新更加靈活順暢,並且能透過邊玩邊下的方式讓大型遊戲實現快速下載、即時啟動,保持了使用者的活躍度。對工程挑戰能力較弱的中小開發者來說,這幫助他們得到了更便捷的實施內容處理能力。比如說,在使用了Unity雲端資源分發技術後,一款原本包體超過200M的遊戲大部分內容都放在了雲端,實際安裝在遊戲裡的只有10M左右,因此只需幾秒鐘載入就能開始玩,但遊戲畫質和可玩性不會受到壓縮。

遊戲開發環節以外,Unity還能利用deltaDNA完成遊戲資料分析,幫助發行商和開發者更好地理解玩家行為,去針對性地定製個人化體驗,再加上Unity Ads在全球平均每月230億曝光量的廣告服務,為後續的市場推廣和變現也起到了良好的推動作用。

除了這一條完整的開發運營推廣工具鏈外,Unity還為開發者社群提供了包括前沿技術教程、技術人才培養和開發者支援計劃等一系列支援。

而在實現了一站式為開發者提供技術支援解決方案後,Unity仍在進化發展的路上前行。

追求高科技平民化,展望下一代遊戲引擎

未來,隨著一切事物都在變得更加智慧化,汽車、家用電器、廣告牌甚至更多大大小小的螢幕其實都可以被看做一部部“智慧手機”。Unity首先要做的事情就是在未來對各種智慧裝置提供背後的技術支援,例如在大會分享的上海外灘數字孿生,就是基於Unity打造專業的數字孿生解決方案,用來加速打造智慧城市的成果,同樣基於Unity打造的專業數字孿生解決方案的還有中國香港機場。

另一方面,Unity也會逐步解決資產的問題,將市場變得更智慧化,幫助開發者儘快獲得正版的高質量的素材。

同時,作為遊戲開發中的一款工具,Unity的終極追求就是“更方便”,雖然它目前提供的技術支援免去了開發者很多麻煩,但它仍然是提供給專業人士使用的,如果有一天,Unity能讓大多數非專業人群都能熟練地使用,那才是它真正達成使命的一刻。這個目標看似不夠現實,而演講嘉賓對未來的態度更加樂觀,他提出了全民創作虛擬世界的想法,就像Unity的Vivox語音服務一樣,雖然技術高階,但使用方法非常簡單,如果能將Unity保持高科技功能,又降低使用門檻將其平民化,變成所有人的創作工具,那麼Metaverse的元宇宙也就有可能實現了。

2021年,開發一款遊戲到底有多難?

結語:

曾幾何時,“自己做一款遊戲”是創意豐富卻苦於技術不足的遊戲愛好者們遙不可及的夢想,如今隨著Unity的發展,利用一站式工具就能解決從開發到運營的所有問題。也許有一天,我們能像玩抖音、玩一鍵處理圖片軟體那樣,只要有一個獨特的想法,就能看到屬於自己的新遊戲的誕生。那時,你還會認為開發一款遊戲很難嗎?

作者:芥末君&淘金鎮的精靈球