帧同步入门
ECS入门
最近在做帧同步,搞了个开源的,第一步就卡住了,所以先得搞个ECS,分享一下(用了一个月,还发现此ECS有"内存泄露“问题,真是日常踩到狗屎)
理论就不在这里多说了,因为我”不懂“
哥年初时,曾经也基于UNITY2019.3,做过一个ECS项目,真的是官方说的高效,可扩展的优点没尝到,卡爆,卡EDITOR,版本不兼容的缺点到是先踩到了,那个项目实在太烂也没在这里分享
(针无两头利,这些年OOP凭借可扩展性,可重用性,可阅读性,但肯定是不高效的,也经过广大程序员实践,卖相对象现在实实在在的站稳了C位,有点高处不胜寒,居然被一个失败的暴雪公司,失败的游戏《暴雪FPS》鼓吹一下,就让很多程序员“动摇”了??)
其实想用ECS前,真的要问自己,这到底是一个模式?一个框架?一个系统?还是一个什么东东
现在这里分享一个基于非官方的Entitas的简单项目
有几点,还是得多说一下
1.纯的面向对象不存在,纯的MVC也不存在,所以纯的ECS也不会存在
2.ECS肯定和面向对象不同,所以肯定就必须和原来GameObject, Inspector,EditorWindow要完全切割
3.和MVC一样,ECS要写的好,必须先命名好(因为他是松耦合的)
4.由于原因3,所以很多VISUAL STUDIO的特性和代码定位,用不了,代码阅读习惯也要改
5.由于原因4,所以要用好ECS需要“很高”的程序素养
6.由于原因5,虚幻4是牛逼,但是请不到人啊,所以你也别想很容易请到ECS的人
====================================================================
帧同步Demo整体结构
看了这么多,如果你还是想为了用而用,可以下载这个项目看看
项目里,用到了基本component, system, systems, (其实entity真没用到)
还最好必须掌握的C#知识点(大部分没实现,后续开发会补上,但如果真能全掌握,就无所谓什么ECS了,无论什么结构,什么框架,主城还是第三方公司写的代码你都能搞定,C#的客户端还是服务器也都能搞定)
- 多线程
- LINQ
- Service
- 继承和多态和接口实现
- Entitas.Game标签
项目的关键是,Entitas框架提供的Editor工具,新建,或新定义Component后,记得用ENTITAS提供的代码自动生成工具,Generate一下,
(这个和tolua相同,而且和tolua一样,如果ECS用不好,该有的死循环会有,该有的各种松耦合报错也不少)
**突然想到。。。。TOLUA能热梗,这个ECS的pro版本囧膜热更???
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0TRU1EerRVYyYkMMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL1EzMzQzMwEDM2AjNwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
** 最终的一些非官方”视图“也是有莫有样,官方的实在不敢恭维。。。。。但最终又绕来绕去,回原点???
反正ECS就是入门点有点难找,而且易学难精
项目源码分享
暂不能分享, 框架,插件太多,目标不明确,无工期约束,整个项目真的有点悬
计划,预估工期:2020/6 ~ 2020/10
(从下面完成时间,其实明显看的出,模式或者工具,是最快能完成的,UI插件也是,但是UI扩展或者特效|效果等等就难完成了,方案的实现和落地才是最磨人的。。。。。。。是的,我明显的在黑某些人或者某些不如意的工作)
1)自动构建AutoTools (方便2个客户端联调)
2)服务器开发(无自动断线,但目前比较稳定)——完成于2020/05/28
3)网络Dll封装(你懂得)
4)没打算用protobuf协议(同样,你懂的)——完成于2020/06/11
5)“效能”监控工具【SRMonitor】
6)自定义UI系统 ——完成于2020/07/1
7)重开发C# MVC模式 ——完成于2020/07/1
8)ECS模式(和MVC使用的测试Scene不同)——完成于2020/06/20
9)大地图方案
10)动作方案
11)支持AStart和NavMesh两种寻路
12)C#热更方案
13)场景特效方案(雨雪等天气系统)
。。。。
以上种种,好像,确实和多人同步无线性关联
细节真心无法把握,心中也只有一个模糊的影像,但不要忘了前进的方向,并保持前行
才能到达彼岸
项目下载地址:
。。。