網遊引擎與單機遊戲引擎技術上的主要差別是什麼?

網遊引擎主要弱在哪裡?有哪些單機引擎有的,網遊上沒有實現?


簡單來說,網遊引擎比單機引擎多一個「伺服器端」。如果再簡單一點兒來說,伺服器端引擎負責遊戲的交互,客戶端引擎負責遊戲的表現。

在客戶端層面,網遊引擎並不弱,UNREAL引擎也被應用於網路遊戲之上(雖然這玩意兒的伺服器端引擎到現在都不太好使),如果說網遊畫面不如那些「絕世巨作」,主要原因是出於用戶群體的考慮。


網路遊戲的3D引擎完全可以使用單機遊戲的引擎,比如 Unreal、CE,因此,從這一點說,兩者並沒有不同。

但大部分的單機遊戲引擎是以FPS(第一人稱射擊)類型出現,而網遊大多是MMO(多人角色扮演)遊戲類型,因此網遊在直接使用單機遊戲引擎上存在先天不足。

MMO網路遊戲由於同步範圍內有可能出現大量玩家,因此,對效率的要求比單機遊戲要高(單機遊戲的同屏角色數是確定的)。因此,即使是使用同樣的3D引擎看起來網路遊戲的效果也比單機遊戲要差一些,主要目的是留出足夠的CPU和GPU給大量玩家出現時的計算。

由於網路遊戲要保證玩家公平,防止外掛,因此,會謹慎的處理跟玩家運動相關的信息,因此,在網遊引擎的物理計算上運用相當不足。比如單機遊戲可以出現的影響遊戲邏輯的物理計算(比如《三位一體》中的疊箱子)在網路遊戲中很難實現,因為伺服器沒有3D數據,無法計算物理運動的結果,而單靠客戶端的計算結果為依據太容易出現外掛。

因此,簡單的回答你的問題:網遊引擎的高級渲染效果比單機遊戲要少,主要目的是留出大量玩家的同步計算空間及擴大目標用戶群體。除了高級渲染效果,物理模擬計算方面網遊也比單機要弱,這主要是出於防外掛的考慮。


知道延遲么?

那就是網路引擎特有的~~ = =


首先,玩網遊的人對畫面要求由於客觀上的要求對畫面要求不會太高。你能想像在下副本的時候突然卡一下的感覺么?因此,網遊首先保證的是遊戲的流暢性,在保證了遊戲流暢性之後才是提高遊戲畫面。再者說,網遊經常性會出現一屏幾百人的畫面,在高網路io,高圖形繪製的情況下,保證遊戲不卡才是第一要務。而單機遊戲在這方面就沒有這種顧慮。就算那種有聯網功能的單機遊戲(戰地3(霜凍2),質量效應3(虛幻3))等遊戲也能夠控制在同一屏幕出現的人物數量(人物對於顯卡就是一個噩夢般的物體,表面平面多,且貼圖數量巨大)。FYI, 在u管上有戰地3滿屏c4的視頻,結果也是卡的一比。

其次,兩者間開發成本就不一樣。網路遊戲有很大一部分是伺服器端的開發成本。如何保證眾多玩家同時在線時不卡,如何做分散式等。如lss所說,網遊很大的計算量是在伺服器端完成的。計算機中只是負責渲染這一部分。而單機遊戲開發就沒有這麼多顧慮。因此能將更多心思放到更好的故事情節,更唯美的動畫,這樣才能賣的出去更多。像cod系列,居然存在一個導演的職位,每次cod系列出新作的時候,我都會用1天的時間完成整個遊戲,那個感覺就跟自己的動作片一般。

因此,不同的市場定位,不同的營銷策略導致了不同的遊戲風格。


KBEngine

什麼是KBEngine?

一款開源的遊戲服務端引擎,使用簡單的約定協議就能夠使客戶端與服務端進行交互,
使用KBEngine插件能夠快速與(Unity3D, OGRE, Cocos2d-x, HTML5, 等等)技術結合形成一個完整的客戶端。

服務端底層框架使用C++編寫,遊戲邏輯層使用Python(支持熱更新),開發者無需重複的實現一些遊戲服務端通用的底層技術,
將精力真正集中到遊戲開發層面上來,快速的打造各種網路遊戲。

(經常被問到承載上限,kbengine底層架構被設計為多進程分散式動態負載均衡方案,
理論上只需要不斷擴展硬體就能夠不斷增加承載上限,單台機器的承載上限取決於遊戲邏輯本身的複雜度。)


單機引擎有的,網遊上都可以有

簡單的說網遊就是加了一些與伺服器通信的代碼,把原來單機的存檔文件放到伺服器了


做網遊引擎 要求不是很高 和主流的單機引擎 幾乎都不是一個量級的東西

韓國那些網遊有用虛幻3 做出來稍微還算有點誠意

國內就不用去想了


推薦閱讀:

TAG:遊戲 | 網路遊戲 | 遊戲設計 | 遊戲開發 | 單機遊戲 | 編程 | 遊戲引擎 |