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
来源:https://www.cnblogs.com/flamesky/p/18108555
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页:
[1]