打造好玩鏈遊!Web3遊戲分析系列(二):技術與美術製作

文章探討 Web3 遊戲的工業化生產,涵蓋前後端程式開發技術與遊戲引擎的選擇與應用。

web3-game-development-production-technology


前言

由於不同研發公司採用的架構(採用項目 + 中台組織架構)不一樣,對項目和中台組織的側重點不同,有些是強項目,弱中台,有些是強中台,弱項目。因此本系列文章主要按照遊戲研發涉及的職能與流程分析。基於此,本系列的第二篇文章主要針對 Web3 Gaming 的工業化生產與製作(美術與技術)方面分析。在遊戲立項後,遊戲的策劃人員已確定核心玩法與可玩性等細節,包括角色成長、玩家行為引導、地圖與劇情等。因此,遊戲策劃需與美術與技術溝通,將 Web3 遊戲開發推進到設計與開發階段。

打造好玩鏈遊!Web3遊戲分析系列(二):技術與美術製作
圖源:公開市場資訊
打造好玩鏈遊!Web3遊戲分析系列(二):技術與美術製作
圖源:不鳴科技


工業化生產與製作:技術部分概覽

當策劃明確需求後,遊戲的前端和後端技術等技術程式團隊需實現策劃部門提出的遊戲設計,編寫遊戲程式碼,確保遊戲的技術實現。在具體的執行過程中,可以分為前端程式和後端程式。主程需要管理技術的全流程,包括但不限於確定主要技術執行方案、各類性能的優化及指導底層架構的搭建等。

  • 前端程式:覆蓋顯示、優化與邏輯相關等,包括聲音文件、圖像文件及文本文件的處理。
  • 後端程式:覆蓋伺服器端,包括但不限於數據庫結構、數據傳輸、校驗、儲存和通訊方式等等

下圖為 Web3 Gaming 在前端程式和後端程式各部分的展示。後文會詳細對兩部分詳細分析。

打造好玩鏈遊!Web3遊戲分析系列(二):技術與美術製作
圖源:游鯊遊戲圈;Jake 整理


工業化生產與製作:技術前端

遊戲的前端程式開發關注遊戲界面、互動和使用者體驗。在互動性與使用者體驗方面,需要重點關注遊戲的互動性和使用者體驗,這包括遊戲界面(UI)的設計與實現、使用者互動(UI)系統的開發以及動畫和視覺效果的創造。此外,前端工程師還要確保遊戲在不同平台上擁有一致的使用者體驗,包括桌面和移動設備等。而在實現遊戲邏輯方面,開發者需關注遊戲中角色的行為、遊戲規則的執行、分數與進度的管理以及遊戲內的事件響應機制。開發者需要編寫高效、無縫的程式碼,保證遊戲玩法順暢、公平且具備挑戰性。

因此,根據以上目標,前端開發者需要利用相關的程式語言(如 C#、C++ 等),使用遊戲引擎(如 Unreal、Unity、圖源 和 CryEngine 等)創建遊戲界面,調整動畫實現效果與音效表達效果等。市場上有許多遊戲引擎工具供開發者使用,需根據開發人員的具體需求選擇具體的遊戲引擎工具。不同遊戲引擎對於開發者社群的支持側重點不同,以下為遊戲技術研發對遊戲引擎選擇的偏好與需求:

  • 項目需求:不同類型的遊戲對引擎的選擇要求各異。例如,對於強調視覺效果的 AAA 級遊戲,Unreal Engine 或 CryEngine 可能更加合適;而針對移動平台的小型遊戲,Unity 可能是更優的選擇。
  • 學習曲線與社群支持:一個易於掌握和使用的引擎能顯著降低開發難度。此外,活躍的社群能夠提供豐富的資源和支持,使開發者在遇到問題時能迅速找到解決方案。
  • 性能與優化:引擎的性能和優化能力對遊戲的運行效果至關重要。
  • 成本與授權:某些引擎可能需要付費使用或有特定的授權要求。開發者需根據預算和項目需求進行權衡取捨。
  • 擴充功能性與客製性:隨著遊戲產業的持續發展,遊戲引擎必須能夠適應新的技術趨勢和需求。瞭解引擎的擴充功能性和客製能力能幫助開發者更好地應對未來的變化。

基於以上需求分析,以下便針對兩款代表性的遊戲引擎 Unity 和 Unreal Engine 淺要介紹和分析。

  • Unity 是一款支持多個主流平台的遊戲引擎,如 Windows、Mac、iOS、Android 等。Unity 具有高度的可客製性,允許開發者使用 C# 或 JavaScript 編寫腳本。並且,Unity 提供豐富的資源商店,開發者可以在其中購買和下載各種擴充應用程式、模型和音效。Unity 的主要優點包括社群活躍、優秀的跨平台兼容性、相對容易上手的開發環境及大量第三方包。開發者們可以自己創立功能包放到 Unity 的官方商店去銷售。目前每月超過 150 萬開發者瀏覽商店,共有超過 56,000 個包可以使用。在商業化與變現的角度看,Unity 會更多元化,商業化路徑渠道包括 Monetization SDK、Unity 遊戲雲端一站式聯網遊戲服務、Vivox 遊戲語音服務、Multiplay 海外伺服器託管服務、Unity 內容分發平台(UDP)、Unity 雲端構建等多樣化的服務。其中,Monetization SDK 供開發者接入,由 Unity 直接擔任廣告分發門戶去分發廣告,目前這項服務已經代替引擎商業授權變成了 Unity 的主要收入來源。《逃離塔克夫》《Temtem》《使命召喚》手游以及《爐石傳說》等全球知名遊戲均證明 Unity 是市面上最優秀遊戲引擎之一。然而,Unity 的性能優化相對較差,對於大規模場景和高精度模型的處理能力較為有限。Unity 在 UI 上體驗遜於 Unreal,所以開發者必須加入許多第三方包去完善引擎的功能。並且在程式撰寫上,Unity 採用了 C# 和 JavaScript 導致了在 Unity 開發過程中會產生部分適應性問題。在 2020 年 3 月,Unity 正式推出了其最新的 2019.3 版本,包括了高清渲染管線 HDRP(High Definition Render Pipeline)和通用渲染管線 URP(Universal Render Pipeline)這兩個功能,增強了視覺效果和優化能力。同時增加了特效視圖編輯器,即時光纖追蹤系統等,讓其能夠更加適應現在市場的需求並且應用於大型遊戲的製作中。
  • Unreal Engine 是一款全開源高性能的遊戲引擎,以其出色的畫面效果和物理引擎而聞名。它支持 C++ 和藍圖可視化程式撰寫,提供了強大的材質編輯器和光照系統,可以實現逼真的遊戲畫面。針對開發者,Unreal 不僅可以免費使用,也可以讓其研究程式碼進一步提升開發效率。並且,Unreal 引擎自帶藍圖,所以即使不是技術開發人員,也可以通過點對點的可視化界面完成對遊戲的設計。此外,Unreal Engine 具備跨平台兼容性和高度可客製的 UI 系統。在收費上,Unreal 採取了傳統的引擎商業模式。第一種收費模式是針對遊戲總收入超過 100 萬美元的部分收取 5% 的固定提成;而另一種收費模式是在商城售賣官方素材或第三方素材,從中抽取 12% 的收益。在遊戲產出與知名度方面,《無主之地》《蝙蝠俠:阿卡姆瘋人院》和《最終幻想 7 重製版》等全球知名遊戲均採用了 Unreal 引擎。然而,Unreal Engine 的學習曲線較陡峭,容易上手卻不易精通,需要一定的時間和經驗方能熟練掌握。

據 Medium 與競核的數據分析,2021 年 Unity 全球市佔率達 49.5%,Unreal 全球市佔率 9.7%,二者形成雙寡頭壟斷競爭格局。另外一份市場研究報告顯示,在 2023 年,Unity 和 Unreal Engine 二者的市佔率分別為 48% 和 13%。下表為二者在圖形、特徵、程式碼和表現等方面的對比分析。

打造好玩鏈遊!Web3遊戲分析系列(二):技術與美術製作
圖源:Incredibuild;Jake 整體分析

在視覺與圖像效果層面上,Unreal Engine 能夠實現的效果會略優於 Unity,但差距十分微小。從上手角度而言,Unity 對於初學者更易上手,且 Unity 需要的 C# 通常可以實現更快的編譯速度和較短的迭代時間;而 Unreal Engine 在動畫與圖形處理而言,對初學者難度較大。在實際使用過程中,在 Unreal Engine 希望可以實現和達成的效果,同樣可以通過 Unity 實現。兩款軟體均可以通過調用 API 或工具以實現更優質與更高效的圖形表現效果。根據統計,在實際操作中,程式碼工程人員會更偏好 Unity,而對圖形與表達要求更高的技術美術師更偏好使用 Unreal Engine。

Unity 實操界面展示
圖源:公開市場資訊Unity 實操界面展示
Unreal Engine 實操界面展示
圖源:公開市場資訊Unreal Engine 實操界面展示

同樣,針對前端技術開發人員,除 Unity 和 Unreal 外,有其它的遊戲引擎可以選擇,以下為幾款常用的遊戲引擎供前端技術人員參考:

  • CryEngine 以高品質的畫面效果和強大的物理引擎為人所熟知。它提供了即時全局光照和高品質的模型與材質,為開發者提供了創建真實世界級遊戲的可能性。然而, CryEngine 的文檔和社群資源相對較少,對於新手來說,可能會有一定的學習難度。
  • GameMaker Studio 2 是一個遊戲開發工具, 可用於製作 2D 或 3D 遊戲。有許多工具和編輯器能幫助實現開發者的遊戲想法,將最終項目從同樣的初始基礎資源移植到多個平台上。GameMaker Studio 2 提供了一個直觀且易用的拖放(Drag and Drop,簡稱 DnD™) 動作界面圖標,允使使用虛擬的程式碼邏輯創建遊戲。同時可以使用腳本語言 GML 創建遊戲,甚至可以結合兩者,使用 DnD™ 動作調用函數。
  • Godot Engine 是一款多功能、跨平台的 2D 與 3D 開源遊戲引擎,可運行於 Windows、macOS、Linux 等多種作業系統。而其創建的遊戲可運行於 PC、Android、iOS、HTML5 等平台。通過基於節點的架構來設計遊戲,3D 渲染器設計可以增強 3D 遊戲的畫面。具有內置工具的 2D 遊戲功能以像素坐標工作,可以掌控 2D 遊戲效果。

不管選用哪一款遊戲引擎,前端遊戲技術開發人員均需考慮在實際操作中的使用情況。由於 Web3 遊戲是消費品,多樣的玩法機制(如專注、共情和想像)和沈浸式情感互動體驗(如愉悅、恐懼、渴望、成長,悠閒、輕鬆和驚喜等)是讓消費者持續消費的重要前提。下面以遊戲過程中的物理模擬與繪制系統(渲染系統 / 渲染器)為例,分析前端技術人員在使用遊戲引擎時需要考慮的技術細節與使用者體驗問題等。

如果沒有精准的物理效果模擬,即使再華麗的遊戲也會顯得靜態而沈悶呆板。遊戲中的多樣化場景均涉及物理原理和物理引擎。物理引擎是一個組件,將遊戲世界對象賦予現實世界物理屬性(如重量和形狀等),並抽象為剛體模型(包括滑輪和繩索等),使得遊戲物體在力的作用下,仿真現實世界的運動及其之間的碰撞過程。即在牛頓經典力學模型基礎之上,通過簡單的 API 計算遊戲物體的運動、旋轉和碰撞,現實的運動與碰撞的效果。在計算過程中,應用到運動學和動力學等多個學科的理論和計算。

  • 運動學:從幾何的角度(指不涉及物體本身的物理性質和加在物體上的力 ) 描述和研究物體位置隨時間的變化規律的力學分支。點的運動學研究點的運動方程、軌跡、位移、速度、加速度等運動特徵,以及在不同空間中的變換。運動學是理論力學的一個分支學科,它是運用幾何學的方法來研究物體的運動。在工作過程中,前端技術需考慮增加假設前提,盡可能貼近實際物理規則的同時,可以降低計算複雜度。常見的假設前提包括:不考慮外部力作用下的運動、將一個物體作為幾何部件,抽象為質點運動模型、僅考慮物體的屬性(如位置、速度、角度等)。
  • 動力學:主要研究作用於物體的力與物體運動的關係。動力學的研究對象是運動速度遠小於光速的總體經濟物體。在遊戲物理引擎中,主要是涉及剛體動力學方面,包括質點系動力學的基本定理,由動量定理、動量矩定理、動能定理以及由這三個基本定理推導出來的其它一些定理。其中,動量、動量矩和動能是描述質點、質點系和剛體運動的基本物理量。在工作和計算工程中,需要考慮到的因素與假設前提包括:外部力對物體運動的影響、力的作用(重力、阻力和摩擦力等力作用在物體的重量和形狀,甚至包括彈性物體)、剛體物體的假設前提及遊戲中的物體貼近其在現實世界中的運動等。

使用物理引擎,遊戲開發者僅需考慮給遊戲物體賦予形狀(假設為均勻分布)和力,在遊戲引擎驅動下自動完成運動與碰撞的計算。並且基於以上對物理引擎的分析,前端技術團隊無需探究複雜的運動學知識和碰撞計算與優化,只需在物理引擎輸入參數即可。但需要注意的是,為能夠高效利用物理引擎,前端技術團隊不僅需理解物理運動的基本知識,而且需要洞悉遊戲離散仿真產生的特殊現象,以避免遊戲失真。有經驗的前端技術人員還需要考慮遊戲流暢性,思考遊戲運行性能等方面問題。

在構建遊戲內剛體運動模型前,需考慮如下諸多因素:

  • 其設置的模型是否為剛體,其受力後的彈性形變程度;
  • 其在運動中或受力作用後,形狀與大小是否會發生改變;
  • 其在運動中或受力作用後,物體內部各點的相對位置是否有改變;

因此,基於以上的分析,技術前端團隊需設置物體的中心、形狀、品質與初始運動方向及軌跡。而且,針對物體重力與運動的情況,物體需重點設置其質心,假設物體模型是勻質且中心與質心重合。在設置物體運動時,需考慮將作用於物體上的力分解為作用中心點上的力與圍繞中心點旋轉的力矩。其參數設置需符合玩家對物體及運動的認知,以產生沈浸感,否則玩家在遊戲過程中會出戲,難以產生沈浸的情緒。下圖為力與力矩的分解示意圖:

打造好玩鏈遊!Web3遊戲分析系列(二):技術與美術製作
圖源:公開市場資訊

為了實現逼真的物理行為,遊戲中的物體需要正確地加速(即符合人類的認知),並受到碰撞、重力等力的作用。首先要注意的是,在設置 3D 物體模型運動時,必須判斷物體模型是否為凸物體,即在其任意兩個頂點間繪制的線不會離開該物體的表面。儘管大多數現實中的物體並非凸的,但在物理模擬中,凸物體常常是理想的近似。物理引擎在計算和模擬碰撞時,凸物體可以更精確地生成被動行為,如碰撞和跌落等。凸碰撞形狀在原始碰撞形狀和凹碰撞形狀之間取得了平衡,能夠表示任何複雜形狀。通過腳本控制物理,可以為對象提供車輛、機器甚至布料的動態特性。當然,輸入的網格可以是凹的,物理引擎會計算其凸部分。根據對象的複雜性,使用多個凸面形狀通常比使用凹面碰撞形狀能獲得更好的性能。Godot 引擎允許通過凸分解生成與空心對象大致匹配的凸形狀,但此性能優勢在凸面形狀數量過多時會減弱。對於大型複雜對象,如整個關卡,建議使用凹形。在建模物體形狀時,常用的引用類型有球(SPHERE)、立方體(BOX)、膠囊型(CAPSULE)、圓柱體(CYLINDER)和凸包(CONVEX_HULL)等,可以加入中心點、旋轉角度、尺寸等參數,供技術前端使用。

在模擬物體運動時,需要額外的計算過程。導入模型時添加物理引擎可能會失效,因此可以給物體包一個簡單的 Mesh,讓物體的姿態跟隨 Mesh。使用 Babylon 創建的 Mesh 可以直接添加物理屬性,也可以自定義 Shader 來創建。儘管自定義 Shader 較為複雜,但實現效果更好。在編輯器的實際操作中,選擇網格實例並使用 3D 視口頂部的 Mesh 菜單,可以生成一個或多個凸面碰撞形狀。編輯器提供了兩種生成模式:

  • 創建單凸面碰撞使用 Quickhull 演算法,使用自動生成的凸碰撞形狀創建一個 ColisionShape 節點。由於只生成單一形狀,因此性能較好,適合小型物體模型。
  • Create Multiple Convex Collision Siblings 使用 V-HACD 演算法,可以創建了幾個 ColisionShape 節點,每個節點都有一個凸面形狀。由於生成多種形狀,因此以性能為代價對凹面物體更準確。對於中等複雜度的對象,可能比使用單個凹面碰撞形狀更快。

而對於凹面碰撞形狀,凹形是最慢的選項,但在 Godot 中也是最準確的。只能在 StaticBodies 中使用凹面形狀。除非剛體的模式為靜態,否則它們不能與 KinematicBodies 或 RigidBody 一起使用。當不使用 GridMaps 進行關卡設計時,凹形是關卡碰撞的最佳方法。同時可以在 3D 建模器中構建一個簡化的碰撞網格,並讓 Godot 自動為其生成碰撞形狀。可以通過選擇 Meshlnstance 並使用 3D 視口頂部的 Mesh 菜單從編輯器生成凹面碰撞形狀。編輯器公開了兩個選項:

  • Create Trimesh Static Body 創建一個包含與網格幾何體相匹配的凹形的 StaticBody。
  • Create Trimesh Collision Sibling 創建一個 CollisionShape 節點,其凹面形狀與網格的幾何形狀相匹配。

需要提醒的是,建議保持盡可能少的形狀數量以提高性能,尤其是對於 RigidBodies 和 KinematicBodies 等動態對象;避免平移、旋轉或縮放 CollisionShapes 以從物理引擎的內部優化中受益。在 StaticBody 中使用單個未轉換的碰撞形狀時,引擎的寬相位演算法可以丟棄不活動的 PhysicsBodies。如果遇到性能問題,必須在準確性方面進行權衡。大多數遊戲都沒有 100% 準確的碰撞,遊戲均找到了創造性的方法來隱藏它或以其它方式使其在正常遊戲過程中不顯眼。

打造好玩鏈遊!Web3遊戲分析系列(二):技術與美術製作
圖源:公開市場資訊
打造好玩鏈遊!Web3遊戲分析系列(二):技術與美術製作
圖源:公開市場資訊

以上內容是以物理模擬部分為案例分析了前端開發者需完成和注意的內容;而下面將以繪制系統(渲染系統 / 渲染器)為例,分析前端開發者需要完成的事項。繪制系統也是整個遊戲引擎中最高和最難的部分之一。在理論上,渲染需要解決兩個方面的問題,分別為數學(數學、物理和演算法上的正確性)和繪制效果(光照、立體角度、散射、折射和反射等)的準確性,以此讓使用者產生對遊戲的沈浸感。在執行和實踐的過程中,需要解決以下四方面的實際問題:

  • 場景複雜:單一場景的多物體在多角度方面的渲染,並在生成每一幀遊戲畫面時,均需重復多次運算;而多個場景下,多物體在多角度下的渲染會更為複雜;
  • 硬體設備深度適配:PC、手機等硬體設備的能力影響了演算法的運行及輸出。針對硬體設備,需處理各種耗時的紋理採樣工作及較為複雜的數學計算,如正弦、余弦、指數和對數等超越函數運算等。此外,底層執行運算的硬體設備單元對混合精度運算的支持也是硬體設備深度適配重點的考慮問題之一;
  • 性能預算:不管遊戲畫面要求有多高,遊戲引擎均需確保遊戲畫面在 33 毫秒(即 1/30 秒)內完成計算。對於大型深度沈浸的遊戲,在較短時間內,遊戲畫面可能變化較大,但計算時間要求不能縮短。並且,隨著遊戲產業的發展,遊戲在精細程度的要求越來越高,對遊戲畫面的幀率要求和畫幅要求越來越高。每幀的時間預算越來越少,但同時對畫質的要求卻越來越高;
  • 每幀遊戲畫面的時間預算分配:在顯卡性能的佔比方面,GPU 可以比 CPU 的佔比更多。圖形的渲染演算法不能佔用超額的 CPU 計算資源,計算資源需分配給系統內其它模塊。
打造好玩鏈遊!Web3遊戲分析系列(二):技術與美術製作
圖源:不鳴科技
打造好玩鏈遊!Web3遊戲分析系列(二):技術與美術製作
圖源:不鳴科技

根據以上分析,計算是繪制與渲染系統的最重要的核心職能之一,即在數以千萬計的頂點與像素、邏輯運算單元及紋理執行運算操作。簡單來講,在具體操作中,三角形構建的多個平面進過投影矩陣後,被投影到螢幕空間上;通過光柵化將頂點數據轉換為片元,片元中的每一個元素對應於幀緩衝區中的一個像素,此過程將圖轉化為柵格組成的二維圖像。在著色與繪制過程中,在每個小像素點上,去計算像素點對應的材質和紋理,將像素點渲染成對應的顏色。並且,為了增加沈浸感與真實感,需根據實際情況調整光照及物體的花紋等資訊,並渲染出最終的效果,之後將頂點緩衝區和索引緩衝區構建好,再將網格數據傳入顯卡。以上「投影 - 光柵化 - 著色與繪制 - 後處理與光照運算」的過程即為繪制的過程。

打造好玩鏈遊!Web3遊戲分析系列(二):技術與美術製作
圖源:不鳴科技

詳細來講,需渲染的物體與場景具備多樣的幾何形體、材質、花紋和應用場景等,因此物體與場景在實際渲染的操作中需要具體情況具體分析。一般情況下,模型文件中需保存多個頂點,包含頂點位置、頂點處的法線朝向、頂點的 UV 坐標及其它屬性的數據。大部分情況下,計算出每個模型的三角形朝向,然後使用鄰近的幾個三角形的法向量進行平均,可以得到該頂點的法向量朝向;在實際執行過程中,用索引數據和頂點數據描述模型文件的三角形,將所有的頂點放在一個數組中,只儲存了三個頂點的索引位置資訊,可以將儲存量節約至原儲存量的 1/6。

紋理是材質非常重要的一種表達方式。而對於材質類型的感知,很多時候並不是由材質的參數決定的,而是由其紋理所決定的。例如,光滑的金屬表面和生鏽的非金屬表面的視覺表現的區分是通過粗糙度的紋理區分的。在著色與繪制的過程中,紋理採樣的性能消耗巨大且複雜,進行一次紋理採樣,需要採樣 2 x 4,共計 8 個像素點的數據,並且需要 7 次插值運算。值得注意的是,紋理採樣需要避免走樣等相關問題,避免視角變化導致出現的畫面抖動與錯位等現象;因此採樣時,需取四個點,並對四個點進行插值,同時兩層紋理上按照比例採樣工作也是必不可少的。

在著色與繪制時,需將各類元素拼接與組合,此時引擎生成的 Shader 程式碼會被編譯成一個二進制的數據塊,即一個 Block,其會和網路儲存在一起。多樣化的網格和 Shader 程式碼組合後會形成多樣的遊戲世界。針對同一模型的不同材質,可以分別在各自的子網格內使用各自的材質、紋理和 Shader 程式碼。由於每個子網格只使用了部分數據,因此只需儲存索引緩衝區中的起始位置和結束位置的偏移值。而且,在著色與繪制的實際操作中,為了節約空間,可以共用同一份資源池(如網格池、紋理池等)。值得注意的是,在實例化渲染的過程中,共享一份頂點數據,極大程度上降低顯存的使用率,並降低顯存帶寬。同時,對於要求較高的遊戲,實例化的使用需要做其它額外的技術處理,比如單個物體的選擇操作等。

而在後處理與光照運算的過程中,需考慮光照強度、光照角度、使用者視角、散射與折射、材質對光的吸收程度等多個維度的問題。例如,在 Unity 的 Built-in 管線下,想要完成後處理效果,可以使用後處理擴充應用程式 Post Processing Stack 實現此目標,也可以使用 OnRenderlmage() 配合 Shader 的方法自定義。此種方法實現對場景使用想要的後處理效果,並且自由度很高,可以隨時修改和擴充功能。在遊戲引擎中,光照處理的計算過程較為複雜,可以參考下圖對於光照的分析與方程表達,感興趣的讀者可以調參自行嘗試。隨著遊戲產業精細化方面的發展,光照表現有一種成為遊戲產業高層次表現的重要趨勢,相關渲染技術同樣可被運用於動畫、電影、虛擬實境等諸多產業。

打造好玩鏈遊!Web3遊戲分析系列(二):技術與美術製作
圖源:不鳴科技
打造好玩鏈遊!Web3遊戲分析系列(二):技術與美術製作
圖源:不鳴科技

需要補充的是,遊戲引擎繪制系統是一類計算機工程科學,需要對顯卡的架構、性能、能耗、速度與限制等方面深入理解方能完全發揮出引擎的效果。並且, GPU 擁有極強的高速並行處理能力,可以用低廉的成本形成一組遮擋物的深度圖,然後剔除掉部分模型物體,可以優化複雜場景的處理能力。


工業化生產與製作:技術後端

後端主要工作覆蓋伺服器端邏輯與數據處理、網路通訊與同步等技術解決方案。在伺服器的邏輯方面,後端開發者需要負責處理伺服器端的邏輯和遊戲數據的儲存,包括玩家帳戶的管理、遊戲世界的狀態同步及多玩家互動的支持等。並且,開發者需設計並實現高效的數據庫架構,用於儲存遊戲進度、玩家成就、虛擬物品等資訊。此外,後端系統還需要處理來自遊戲客戶端的請求,包括玩家之間的互動、玩家的使用者數數據、角色的升級和資源的購買等資訊請求。Web3 遊戲可以參考下圖的遊戲後端架構。受到傳輸速度、結算時間等因素的影響,基於目前的通訊和加密技術水準,目前大型的 Web3 遊戲的後端架構尚未能完全搭建在鏈上。

打造好玩鏈遊!Web3遊戲分析系列(二):技術與美術製作
圖源:公開市場資訊

而在遊戲的後端開發網路通訊與同步方面,後端開發者使用各類型的網路協議,如 TCP/IP、HTTP 及 WebSocket 等,建立穩定的客戶端與伺服器之間的通訊鏈路。在此開發的過程中,需設計和實現網路協議以支持高頻率的數據交換和即時的遊戲狀態更新。有效的網路通訊策略和同步機制,能夠減少延遲,確保所有玩家在遊戲世界中看到一致的狀態。尤其是在網路遊戲中,即時數據的傳輸和同步是保證良好使用者體驗的核心。

在後端研發時,需注意提升整體的拓展性、穩定性和表現情況。在表現情況方面,後端不僅僅需要在緩存方面做到低延遲和快速計算回饋,而且要求能夠在 HTTP 協議方面能夠和伺服器盡力做到即時溝通;在穩定性和效用方面,各伺服器需隔離,以避免單一伺服器出現問題而影響全部伺服器;而在高拓展性方面,開發者需關注計算容量和功能的拓展,用多個子伺服器的單一伺服器聯接,通過 TCP、IPC 等通道通訊,提高伺服器對於峰值期內的資訊和請求處理能力。下圖為技術後端的代表性整體結構示意圖,在儲存、服務及互動等方面均可參考。

打造好玩鏈遊!Web3遊戲分析系列(二):技術與美術製作
圖源:公開市場資訊

對於多使用者多場景的 Web3 遊戲,為保證遊戲使用者的體驗,降低短時間內大量訪問請求的壓力,開發者可設置多伺服器。在各伺服器中,多個世界模可組成群,以滿足大量使用者對遊戲的效用。同時,在多伺服器的設置中,可以支持大量使用者的即時操作,在眾多訪問和請求的過程中,盡力降低延時。下圖為多伺服器與世界的參考示意圖。

打造好玩鏈遊!Web3遊戲分析系列(二):技術與美術製作
圖源:公開市場資訊

Web3 遊戲的技術前端和後端也並不是完全割裂的狀態,在很多方面均需配合才能完成整體的技術支持。例如,在針對外掛方面,前後端技術均可發揮各自擁有的優勢,協同配合檢測外掛。在前後端技術整體支持的過程中,前端可發揮 Unity 等方面的優勢,而後端可發揮數據請求與寫入等方面的優勢,總體而言在以下方面協同配合:

  • 防加速:伺服器驗證,客戶端配合;
  • 內存數據加密:通過 Unity AssetStore 的擴充應用程式對客戶端內存加密,並降低對客戶端內所有數據的依賴程度;
  • 協議 CD:防止頻繁訪問某個協議。可以對訪問的頻率限制,如 300 毫秒至 1,000 毫秒只訪問一次;
  • 協議加密:協議頭增加位元組數;
  • 防止 WPE 重復發包:防重復領取與進入;
  • 監控非儲值渠道:監控非儲值渠道獲取貨幣與資產的情況;
  • 移動與操作防加速:檢測邏輯可以放在玩家進程與場景進程中;

以上用外掛舉例技術前端與後端配合的情況。通過對前端和後端在遊戲開發的過程深入瞭解,理解各自負責不同的任務,但又緊密相連,共同構成了一個完整的遊戲系統。一個精彩的遊戲體驗來源於前端的豐富互動與後端的強大支持。以上僅為部分 Web3 遊戲的技術簡單介紹,如有讀者對更多前後端技術感興趣,可以參考以下書籍學習更多:

  • Web3 遊戲程式的數學方面:《Foundations of Game Engine Development, Vol 1: Mathematics》《3D 遊戲與計算機圖形學中的數學方法》《3D Math Primer for Graphics and Game Development》《Essential Mathematics for Games and Interactive Applications》《Geometric Algebra for Computer Science》《計算機圖形學幾何工具演算法詳解》《Visualizing Quaternions》《散度、旋度、梯度釋義》、《計算幾何》
  • 遊戲程式撰寫:《Learning Unreal Engine Game Development》《Blueprints Visual Scripting for Unreal Engine》《Introduction to Game Design, Prototyping, and Development》《Unity 5 實戰》、《遊戲程式撰寫演算法與技巧》《遊戲程式撰寫模式》《Cross-Platform Game Programming》《Android NDK Game Development Cookbook》《Building an FPS Game with Unity》《Unity Virtual Reality Projects》《Augmented Reality》《Practical Augmented Reality》《Game Programming Golden Rules》《Best Game Programming Gems》、《Advanced Game Programming》
  • 遊戲引擎:《遊戲引擎架構》《3D Game Engine Architecture》《3D Game Engine Design》、《遊戲腳本高級程式撰寫》《程式語言實現模式》《垃圾回收演算法手冊:自動內存管理的藝術》《Video Game Optimization》《Unity 5 Game Optimization》《演算法心得:高效演算法的奧秘》《Modern X86 Assembly Language Programming》《GPU Programing for Games and Science》《Vector Games Math Processors》《Game Development Tools》《Designing the User Experience of Game Development Tools》
  • 計算機圖形學與渲染:《Real-Time 3D Rendering with DirectX and HLSL》《計算機圖形學》《計算機圖形學原理與實踐:C 語言描述》《Principles of Digital Image Synthesis》《數位圖像處理》《3D 遊戲程式撰寫大師技巧》、《即時陰影技術》《即時計算機圖形學》《Real-Time Volume Graphics》《光線追蹤演算法與技術》《Physically Based Rendering》《Graphics Programming Methods》《Practical Rendering and Computation with Direct3D》《圖形著色器》《OpenGL 著色語言》《OpenGL Insights》《Advanced Global Illumination》《Production Volume Rendering》《Texturing and Modeling》《Polygon Mesh Processing》《Level of Detail for 3D Graphics》、《3D Engine Design for Virtual Globes》《Non-Photorealistic Rendering》、《Isosurfaces》《The Magic of Computer Graphics》
  • 遊戲音效:《Game Audio Programming》
  • 遊戲物理與動畫:《程式碼本色:用程式撰寫模擬自然系統》《Computer Animation》《遊戲開發物理學》《Physics Modeling for Game Programers》《Physics Based Animation》《Real-Time Cameras》《Game Inverse Kinematics》《Fluid Engine Development》《Game Physics Pearls》《The Art 藕粉 Fluid Animation》《Fluid Simulation for Computer Graphics》《Collision Detection in Interactive 3D Environments》《即時碰撞檢測演算法技術》《遊戲物理引擎開發》
  • 遊戲人工智慧:《Artificial Intelligence for Games》《遊戲開發中的人工智慧》、《遊戲人工智慧程式撰寫案例精粹》《Unity 人工智慧遊戲開發》《Behavioral Mathematics for Game AI》
  • 多人遊戲程式撰寫:《Multiplayer Game Programming》《Massively Multiplayer Game Development》《POSIX 多線程程式設計》《大型線上遊戲開發》《TCP/IP 詳解卷 1-3》


工業化生產與製作:美術部分

受篇幅限制,本部分對 Web3 遊戲部分的美術簡要分析。美術在 Web3 遊戲中的地位十分重要。優秀的遊戲作品不僅僅是一款供人娛樂的遊戲,尤其到了 3A 水準,每個高水準的 3A 遊戲都是文以載道的藝術作品。針對美術表現形式,遊戲工作室會從多個方面提高 Web3 遊戲的藝術展現形式,如特效、互動、動畫和渲染等多個方面。下表從多個細分方向展示出 Web3 遊戲美術表現需考慮之處。由於遊戲類型、遊戲製作時常和遊戲目標人群的不同,Web3 遊戲工作室需綜合考慮如何在美術表現性方面平衡與取捨。

打造好玩鏈遊!Web3遊戲分析系列(二):技術與美術製作
圖源:游鯊遊戲圈;Jake 整理

整體而言,遊戲的美術風格需符合策劃設置的主題與背景,但美術表現的評估與分析相對主觀,以下可以用八個角度為例,分析與評估遊戲的美術表現:

  • 美術風格:符合背景與主題風格、獨特的藝術表現形式與特定的時間與科技展示;
  • 色彩運用:色彩的調和、象徵與對比;
  • 環境設計:環境中的場景細節與氛圍感、場景物件的互動性;
  • 角色設計:角色外觀、角色動畫、角色動作及角色與環境的融合情況;
  • UI/UX 設計:使用者介面設計、界面與美術風格的一致性及資訊呈現效果;
  • 動畫與特效:流暢性與遊戲的表現力、特效的視覺衝擊力、音效與視覺效果的融合;
  • 技術實現:現實的物理呈現效果、畫質與性能的平衡性;
  • 藝術表現與遊戲性:美術對於遊戲核心機制的支持、對於其背景與敘事的支持;

此外,Web3 遊戲皮膚是使用者最願意消費和購買的遊戲組件之一。從消費品的角度來看,皮膚、飾品及特效等美術表現是吸引使用者購買和消費的核心驅動力之一。差異化的藝術表現形式能夠讓使用者體驗到不同的心理感受,遊戲使用者願意購買額外的美術產品的心理可以從以下角度分析:

  • 遊戲內額外的資產效用:遊戲 NFT 資產可以在 Web3 遊戲中給玩家額外的增益效果,包括但不限於攻擊、防守、速度與收益加成等方面;
  • 遊戲內經濟:在一些 Web3 遊戲中,皮膚具有交易和交換的價值,使用者與套利者可以購買和交易皮膚,甚至通過這種方式獲利;
  • 社交因素:在多人線上遊戲中,擁有熱門或稀有皮膚會引起其它玩家的注意或羨慕,從而增強玩家的優越感與社交體驗;
  • 個性化和自我表達:皮膚可以實現客製化的角色外觀,通過選擇獨特的皮膚,玩家可以表達自我個性、風格和喜好;
  • 展示成就或地位:一些稀有或限量版皮膚往往只有在完成特定任務、活動或購買後才能獲得,擁有這些皮膚可以展示玩家的成就或遊戲中的地位;

截止 2024 年 Q2 的統計分析,不同地區的使用者玩家對美術的偏好不同。美國卡通、漫畫、寫實的流行比例為 51:5:44,卡通風格流行的原因可能是美式卡通、休閒品類的流行;日本卡通、漫畫、寫實的流行比例為 35<:44:942718482485764106>20,對「二次元」的傾向程度達到了八成。

打造好玩鏈遊!Web3遊戲分析系列(二):技術與美術製作
圖源:公開市場資訊

針對音頻與音效方向,目前遊戲工作室對音頻與音效表現的重視程度因多種因素而有所不同。對於預算充足的大型工作室來說,有能力和時間投入更多資源來完善音頻和音效的高品質表現,包括雇傭專業的音頻設計師、音樂作曲家和音效工程師,並使用先進的音頻技術和設備,以創建沈浸式的音頻體驗,增強遊戲的氛圍和情感共鳴。然而,對於預算有限的小型工作室,在音頻和音效方面的資源可能相對不足。由於資金和人員的限制,小型工作室可能不得不依賴於現成的音效庫或簡單的音頻設計工具來完成工作。部分小型遊戲工作室也採用外包音頻與音效的方式來完成。因此,可能導致音頻和音效表現的品質不如大型工作室。

同時,音頻也會和其它部門合作以提高遊戲品質,例如,在音頻和文案的合作過程中,音頻設計涉及到了 VO 的工作,音頻部門會和文案接觸多次,從幫助制定角色的演出、決定對話分支的走向,甚至到 VO 階段時一起協助配音,確保配音需要如何發音以及如何正確傳達文案所寫的台詞。而在音頻和地圖編輯、動畫及特效的配合過程中,其產出需要相互配合,如人物在地圖中移動時,需設置人物經過草叢的腳步聲,甚至觸發地圖內重要道具的特效。因此,需要多部門配合,需要大量交流以協調工作,並協商彼此對文件的訪問權限,以確保對相同的東西一起展開工作,確保產出內容的高品質。

此外,項目的規模和類型也對音頻與音效的投入產生影響。對於以視覺效果或劇情為核心的遊戲,音頻與音效可能被視為次要元素,投入相對較少。而在那些需要通過音效來增強氛圍、構建沈浸感的遊戲中,音頻設計的重要性則顯著提升。

本文是 Web3 遊戲分析系列的第二篇工業化生產與製作(技術和美術),敬請期待 Web3 遊戲分析系列的下一篇(三)測試與營運。

【免責聲明】市場有風險,投資需謹慎。本文不構成投資建議,使用者應考慮本文的任何意見、觀點或結論是否符合其特定狀況。據此投資,責任自負。

  • 本文經授權轉載自:《Foresight News》
  • 原文作者:Jake @ Antalpha Ventures, Blake @ Akedo Games, Jawker @ Cipherwave Capital

・ 本文未經同意請勿轉載

icon免責聲明

市場有風險,投資需謹慎。本文不構成投資建議,使用者應考慮本文的任何意見、觀點或結論是否符合其特定狀況。據此投資,責任自負。

crypto_city_linecrypto_city_threadscrypto_city_telegram

你可能想知道

即將開始下一篇upcoming

background
login_logo
logo

使用以下帳號繼續

繼續表示您已同意 服務條款與隱私政策

copy

打造好玩鏈遊!Web3遊戲分析系列(二):技術與美術製作