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
相关推荐
牙膏上的小苏打233316 小时前
Unity Surround开关后导致获取主显示器分辨率错误
unity·主屏幕
Unity大海18 小时前
诠视科技Unity SDK开发环境配置、项目设置、apk打包。
科技·unity·游戏引擎
浅陌sss1 天前
Unity中 粒子系统使用整理(一)
unity·游戏引擎
维度攻城狮1 天前
实现在Unity3D中仿真汽车,而且还能使用ros2控制
python·unity·docker·汽车·ros2·rviz2
为你写首诗ge1 天前
【Unity网络编程知识】FTP学习
网络·unity
神码编程1 天前
【Unity】 HTFramework框架(六十四)SaveDataRuntime运行时保存组件参数、预制体
unity·编辑器·游戏引擎
菲fay1 天前
Unity 单例模式写法
unity·单例模式
火一线1 天前
【Framework-Client系列】UIGenerate介绍
游戏·unity
ZKY_242 天前
【工具】Json在线解析工具
unity·json
ZKY_242 天前
【Unity】处理文字显示不全的问题
unity·游戏引擎