ET8.1(一)簡介

此係列文章逐個內容講解ET8.1的新特性。
ET8.1 發佈,帶來以下新特性:
1. 多線程多進程架構,架構更加靈活強大,多線程設計詳細內容請看多線程設計課程  
2. 抽象出纖程(Fiber)的概念,類似erlang的進程,非常輕鬆的創建多個纖程,利用多核,仍然是單線程開發的體驗  
3. 纖程調度: 主線程,線程池,每個纖程一個線程,3種調度方式  
4. Fiber間通信的Actor消息機制  
5. Entity方面,domain改成IScene,只要實現IScene接口,Entity就是domain,這樣定義domain更加自由  
6. 預測回滾的幀同步實現  想詳細瞭解可以看幀同步課程  
7. protobuf換成了memorypack,實現無gc的網絡  
8. 純C#版的kcp庫,性能非常強,由sj提交  
9. 熱更dll改成用ide編譯,更加方便,也可以Unity編輯器上按F6進行代碼編譯運行
10. sj利用source generater實現了代碼自動模板功能,目前可以自動生成System類,開發者只需要定義Awake Update靜態方法即可,特別方便  
11. sj開發了分析器,實現了EntitySystemOf,根據entity接口一鍵生成對應的system方法  
12. 客戶端利用fiber實現網絡獨立線程(demo已實現),甚至可以把邏輯跟表現使用獨立的纖程,更好的利用多核  
13. 幀同步demo直接利用纖程創建房間,更加方便  
14. 純c#版尋路dotrecast,至此ET已經完全C#化,沒有任何cpp代碼了  
15. kcp跟軟路由底層同時支持tcp跟websocket,當udp聯不通的情況下,可以切換成tcp Websocket,並且支持運行時動態切換,玩家不掉線!  
16. 集成了sj的非託管容器庫,性能爆炸  


選用ET開發遊戲的18個理由  
1. 多進程多線程Actor架構,客戶端跟服務端都可以輕鬆創建纖程(fiber)利用多核,比如客戶端網絡一個纖程,尋路一個纖程,幀同步邏輯層一個纖程,表現層一個纖程  
2. async await協程同步代碼編寫,避免回調地獄  
3. 0GC消耗,超強的MemoryPack序列化, 超強的網絡層性能  
4. kcp支持,網絡響應非常迅速,並且閃斷wifi 4g都不會導致掉線,做競技遊戲必備  
5. kcp底層可以使用tcp udp Websocket協議,當udp聯不通的情況下,可以切換成tcp Websocket,並且支持運行時動態切換,玩家不掉線!  
6. 軟路由防攻擊設計,買些垃圾主機就可以防住黑客攻擊,比買高防省錢多了,並且用戶不會掉線  
7. 雙端C#開發,前後端共享代碼,C#本身性能極強,僅次於CPP,不需要學一些亂起八糟的語言,很多獨立遊戲開發者,一個人就能用ET開發mmorpg遊戲  
8. 強大的編譯分析器,編譯器就能幫助大家寫出正確的ET風格的代碼  
9. 客戶端hybridclr熱更新支持  
10. 客戶端服務端均支持運行時熱重載,客戶端服務端不需要關閉進程就能修改代碼,大大提升了開發效率以及運營效率  
11. 完善的demo,源碼帶有狀態同步跟預測回滾的幀同步demo  
12. 完善的機器人開發機制,機器人直接共享客戶端邏輯代碼,減少95%機器人開發工作量,接入ai機器人非常輕鬆。大規模機器人壓測,輕而易舉  
13. 強大的ai開發機制,比行爲樹更加容易  
14. 強大的單元測試開發機制,每個單元測試都是整個遊戲環境,不用搞mock隔離,開發起來非常輕鬆  
15. 優美的程序結構,數據跟方法完全分離  
16. all in one的開發體驗,開發時只需要啓動unity,發佈的時候又可以單獨發佈服務端,並且可以跨windows跟linux平臺  
17. 客戶端服務端數據開發期完全可視化,開啓ENABLE_VIEW宏即可在Unity Hierarchy面板中看到客戶端跟服務端的所有的Entity對象以及字段的內容  
18. WebGL以及微信小遊戲支持,有ET8的webgl版本,開發體驗跟ET8完全一致,無縫對接ET8的服務器  
 
ET開源地址地址:egametang/ET: Unity3D Client And C# Server Framework (github.com)   qq羣:474643097
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章