和手遊開發者聊一聊 iPhone
Apple 生態依然是綜合實力最好的移動遊戲平臺。
可以毫不客氣地說,正如懶人推動了科技發展一樣,原本只是作為移動裝置娛樂輔助的手遊,卻以越來越高品質的畫面效果訴求,不斷在榨乾移動端 CPU 的運算能力,逼著晶片廠商們一代一代地不停迭代,把移動裝置的運算核心推向一個又一個高峰。在這樣一個不斷衝擊高峰的過程中,手遊絕對扮演了舉重若輕的地位。
試想若是還停留在《貪吃蛇》的時代,哪需要 GHz 級別的 CPU 來跑這個?但自從蘋果的 iPhone 從 2007 年開始拉開現代智慧手機的大幕之後,在近十年的發展過程中,手遊走到了今天可以越來越接近單主機的水準 —— 當然我說的是遊戲品質,而不只是盈利能力,顯然在後者上手遊已經完成了後來居上的超越。
蘋果的 A14 仿生晶片是 A 系列家族目前最頂級的一代產品
從最經典的 iPhone 4 開始,蘋果第一次使用了 A 系列晶片,由此這枚 ARM 架構的移動 CPU 成為 iPhone 系列的「傳家寶」,直到最新的 iPhone 12 手機所採用的 A14 仿生晶片。作為全球第一款採用 5 奈米制程的晶片,A14 晶片不僅僅是在運算速度上達到了移動晶片的巔峰,同時也大幅度降低了功耗,削減了電池的消耗,確保了 iPhone 12 的續航能力。同時「仿生架構」的效能也有所提升,讓機器學習的表現有了巨大的飛躍。
但我們依然會有一個疑問,就是在 PC 端運算核心早已是算力過剩的情況下,移動端的 CPU 是一個什麼樣的狀態。單純從資料上來看,移動端 CPU 早就跑步進入了多核心高頻率的時代,那麼究竟什麼樣的手遊可以用到甚至榨乾這些 CPU 的算力?在蘋果公司的安排下,我和幾位當下最熱門國產手遊的開發者以及科技博主聊了聊相關的話題。
《原神》是 2020 年 iOS 平臺的年度最佳遊戲,這款遊戲無論從畫面品質還是開放世界的流暢性來說,都是行業當前的領先者。知名的科技博主「極客灣」在評測最新蘋果硬體裝置時,以《原神》作為考驗硬體效能的基準軟體,評測結果顯示 iPhone 12 能以相對較低的功耗來實現優異的效能,尤其在遊戲幀數這種關鍵資料上,iPhone 12 能在儘可能控制發熱量的情況下,將遊戲幀數在最高畫質下穩定在每秒 50 幀左右(最高可達 60 幀),這種表現幾乎只能在 iPhone 平臺才能達到。
《原神》的開放世界設計對手機效能提出了不小的挑戰
《原神》的戰鬥場景,尤其在多人聯機的情況下,會有多名玩家同時釋放具有華麗效果的大招,這對 A14 晶片的處理能力帶來了極大的壓力。而遊戲的開放世界則具有深遠遼闊的景色和風光,當玩家在遊戲中四處遊走時,A14 晶片在處理場景實時演算的同時,還要兼顧場景資料的存取,以保證玩家「零讀盤」的暢遊體驗。另外在野外也有很多小怪隨時會觸發即時戰鬥,這些都在隨時隨地考驗 A14 晶片能否保證玩家穩定流暢體驗的多核心處理能力。
由網易發行的《王牌競速》是一款賽車競速遊戲,以真實世界的車輛為基礎,加入了例如氮氣加速和高速甩尾等略誇張的元素,是一款在移動平臺上達到接近主機平臺同類遊戲畫質水準的遊戲。該遊戲的製作人江宇源談到,在遊戲開發過程中,對於競速最重要的幀數穩定表現來說,A14 晶片能讓遊戲在最高畫質的選項下保持在每秒 60 幀的穩定發揮。「同時 iPhone 12 的超視網膜XDR 螢幕也給玩家帶來了更加細膩的特效和色彩光影,例如我們在給賽車建模時用到了與真車塗漆的雙層上漆效果,在底層顏色之上再覆蓋一層炫光塗料,讓賽車在光線的照耀下呈現出接近真車塗漆效果的表現,玩家在 XDR 螢幕下能獲得更加清晰明銳,擁有更多細節的畫面表現,而同時這種運算處理和 A14 晶片擁有的強大效能也息息相關。」
賽車遊戲需要在高速中展現精美的畫面,《王牌競速》做到了這一點
《鬼泣》是一款主機遊戲平臺知名的動作遊戲,經由版權方日本遊戲大廠 CAPCOM 授權,由雲暢遊戲負責開發的《鬼泣 - 巔峰之戰》是在手機平臺實現了對主機平臺玩法復現的系列新作。作為一款全 3D 場景的動作遊戲,製作人高雲崢在談到遊戲開發難度時表示,「以往手機平臺很多動作遊戲都只有 X 和 Y 兩個軸的表現方式,簡單說就是比較平面化,人物角色侷限在一個二維的畫面裡,可操作的空間只有上下左右。但是這款《鬼泣 - 巔峰之戰》所不同的就是加入 Z 軸也就是場景有了縱深的概念,這就讓場景的運算量多了好幾倍,但 A14 晶片的運算能力足以讓我們完成打造全 3D 場景。」
作為動作遊戲同樣對遊戲幀數有著非常苛刻的要求,iPhone 12 平臺也提供了非常穩定的保證。在更重要的遊戲操作手感方面,因為目前 iOS 已通過藍芽支援包括 Xbox 和 PlayStation 在內的遊戲手柄操作,「所以《鬼泣 - 巔峰之戰》也充分利用了這一特性,讓遊戲原生支援手柄操作模式,只要藍芽連上手柄,遊戲手柄配置中就有預設的按鍵設定,確保玩家可以立刻上手。同時在通過手柄進行操作時,遊戲介面會隱去螢幕上的虛擬按鍵,保持一個純淨的 UI 以供玩家進行遊戲體驗。」
《鬼泣 - 巔峰之戰》在手機上實現了複雜操作的動作遊戲
另一款目前備受矚目的手遊大作《英雄聯盟手遊》,其 PC 版《英雄聯盟》是目前世界上玩家數量最多的 MOBA 類遊戲,非常多玩家都很期待它在 iPhone 平臺的表現。該遊戲的國內製作人夏丹談到,「將這款非常考驗玩家操作水平的 PC 遊戲移植到手機平臺,從各個維度上都是一次對遊戲開發的極限挑戰,尤其在 PC 版本已經有著非常優質表現的情況下,很多人會預設手機版本一定有所『縮水』,我們當然是希望能竭盡所能讓玩家感覺不到這種『縮水』,而我們也確實在iPhone 12 上做到了這一點。」
「首先從畫面表現上來說,為了保證影像品質與 PC 版本維持同樣水準,我們幾乎是毫不妥協地保留了很多場景細節的特效,甚至在很多可以取巧的地方我們也沒有偷懶。比如你現在看到場景裡的河流,當角色走過帶起水面漣漪的時候,這個效果是實時演算的,而不是通過貼圖動畫來實現,這種細節的呈現讓我們開發團隊也感到特別自豪。」
作為 MOBA 類遊戲,遊戲對於「微操」的要求非常高,在 PC 平臺可以通過滑鼠和鍵盤的組合進行精準控制,而移植到手機平臺後只能通過螢幕上的虛擬按鍵來操作。不僅如此,這類遊戲對操作的延遲反饋同樣苛刻,如果玩家的操作指令不能即時地在遊戲中得到釋放和反饋,那幾乎可以毀掉這款遊戲的基礎體驗。「iPhone 平臺在這方面給我們提供了非常穩定的保障, iPhone 12 這塊精度極高的視網膜 XDR 螢幕,不僅能提供最優質的畫面色彩表現力,對於觸控操作的反應也非常及時。」
即時戰鬥以及最激烈的「團戰」會經常發生在遊戲中,這對 A14 的運算能力也增加了很多壓力,夏丹通過一段「團戰」從觸發到結束的戰鬥過程視訊給我講解了 A14 晶片如何遊刃有餘地處理這一段運算的過程。「這種『團戰』的發生往往是在轉瞬之間,因為遊戲的隨機性,兩邊的團隊經常會在不經意間聚集到遊戲中的某個區域,從而引發十位角色的同時戰鬥。在這個過程中,CPU 既要運算每個角色釋放大招的特效,又要運算每個大招對不同角色產生的數值影響,而這一切要最終反饋到玩家看到的畫面上,這是一個難以想象的海量資料集中爆發式處理的過程。經過我們的反覆測試,最終 A14 晶片扛住了這種壓力,能將PC 平臺上這樣精彩『團戰』的每一個細節完美再現於手機平臺。」
《英雄聯盟手遊》不只是將 PC 版移植到手機上,更針對手機特性進行了全方位的適配
而除了畫面這種本地運算的要求外,《英雄聯盟手遊》作為一款聯網遊戲,由於有著極強的競技性,對於網路速度的連線穩定性也有著高於一般遊戲的要求,尤其是玩家在室外活動的情況下。針對這個問題,夏丹對於系列首次支援 5G 訊號的 iPhone 12 也非常滿意,「雖說我們對遊戲聯網要求的優化,在 4G 網路下已經可以滿足要求,但如果有更好的 5G 連線無疑是能更加保證遊戲聯網穩定,5G 網路延遲更低,網路擁堵也更少,特別適合《英雄聯盟手遊》這樣對網路延遲要求較高的多人聯機遊戲。」
手機遊戲從使用者的角度來說,有著其他遊戲平臺無可比擬的便利性,這也是手遊能以極短的速度發展到今日產業規模的原因。但從開發的角度來說,還存在著諸如硬體規格不夠統一、適配環境複雜、以及受到客觀硬體條件(效能、續航等)限制的因素。而蘋果的 iOS 和軟硬體生態無疑能給手遊開發者在一定程度上減輕很多負擔,讓開發者能將更多精力投入到遊戲本身的研發上去,不斷提高手遊行業的品質水準,而最終無論是玩家開始開發者都能從中受益。
來源:IGN中國
地址:https://www.ign.com.cn/iphone/33638/opinion/he-shou-you-kai-fa-zhe-liao-yi-liao-iphone
相關文章
- 聊一聊前端業務開發前端
- 聊一聊裝飾者模式模式
- 聊一聊session和cookieSessionCookie
- 聊一聊遊戲的壓測遊戲
- 聊一聊遊戲版本運營遊戲
- 聊一聊我對測試開發的看法
- 聊一聊手遊付費史中月卡的變遷
- 聊一聊 RestTemplateREST
- 聊一聊時序資料庫和TimescaleDB資料庫
- 聊一聊chkrookit的誤信和誤用
- 聊一聊 JAR 檔案和 MANIFEST.MFJAR
- 聊一聊遊戲分級制度的前世今生遊戲
- 聊一聊 TLS/SSLTLS
- 龍蜥開發者說:聊一聊我技術生涯的“三次迭代” | 第 3 期
- 聊一聊 EventBus 原始碼和設計之禪原始碼
- 聊一聊前端換膚前端
- 聊一聊Greenplum與PostgreSQLSQL
- 聊一聊模板方法模式模式
- 聊一聊 JVM 的 GCJVMGC
- 聊一聊測試流程
- 聊一聊解謎遊戲的設計(四):事件鎖鏈和劇情遊戲事件
- Nginx-01-聊一聊 nginxNginx
- 聊一聊介面卡模式模式
- 聊一聊 Javascript 中的 ASTJavaScriptAST
- 聊一聊隨機數安全隨機
- 聊一聊SQL最佳化SQL
- 聊一聊系統重構
- 聊一聊過度設計!
- 聊一聊責任鏈模式模式
- 聊一聊容器暫停退出
- 聊一聊圖資料庫的發展現狀資料庫
- 聊一聊高併發高可用那些事 - Kafka篇Kafka
- 多位開發者聊電影IP對免費模式手機遊戲的推動價值模式遊戲
- 聊一聊cc的變化偵測和hook實現Hook
- 聊一聊中臺和DDD(領域驅動設計)
- 龍蜥開發者說:眾人拾柴火焰高!聊一聊我在社群的所思所想 | 第 14期
- 聊一聊Javascript中的Promise物件JavaScriptPromise物件
- 簡單聊一聊Vuex的原理Vue