ET
烟雨迷离半世殇
战略转移到个人博客:lfzxb.top
展开
-
ET篇:做好准备工作并运行master分支的Demo
环境:Rider 2018.3.0 ET Master branch Unity 2018.3.1f1源码下载建议大家使用masterhttps://github.com/egametang/ET.git环境配置下载.NET Core2.2和.NET Framework 4.7.2https://dotnet.microsoft.com/download其实这个也...原创 2019-01-18 22:03:52 · 1782 阅读 · 0 评论 -
ET篇:ETBook笔记(5.4 Actor模型)
GitHub原文地址:Actor模型黑体字为作者(熊猫大佬)原创,红色为个人理解Actor介绍在讨论Actor模型之前先要讨论下ET的架构,游戏服务器为了利用多核一般有两种架构,单线程多进程跟单进程多线程架构。两种架构本质上其实区别不大,因为游戏逻辑开发都需要用单线程,即使是单进程多线程架构,也要用一定的方法保证单线程开发逻辑。ET采用的是单线程多进程的架构,而传统Actor模型一般是...原创 2019-04-11 20:22:30 · 2226 阅读 · 0 评论 -
ET篇:master项目结构梳理
我发现先把项目结构做个梳理有利于后面的学习,所以就整理了这篇笔记由于我能力有限,可能有些地方理解的不对,恳请各路大大指正,感激不尽使用Rider编译器打开项目,并把项目视图调整为Solution下面是更加详细的部分1.Book:没看过ET Book的小伙伴应该去看看,写的非常好,这些是示例代码,不在本篇笔记范围内2.Client:ET客户端代码1.Unity.Edito...原创 2019-03-15 19:24:37 · 2727 阅读 · 0 评论 -
ILRuntime篇:介绍并下载运行官方案例
学习环境Rider 2018.4.Net Framework 4.7.2Unity 2018.3ILRuntime地址:https://github.com/Ourpalm/ILRuntimeILRuntime_UnityDemo地址:https://github.com/Ourpalm/ILRuntimeU3DILRuntime官方教程地址:http://ourpalm....原创 2019-03-12 12:24:07 · 5717 阅读 · 0 评论 -
ILRuntime篇:前言
前言:2019.3.12更:我发现官网的UnityDemo注释十分完善,已经不需要再做教程了,如果还是看不懂,那边是C#功底不够扎实,所以本分类的文章主要是记录使用心得以及一些坑(如果有的话,哈哈)不要问ios能不能用某种热更方案,因为这世界上没有ios不能用的热更方案,除了ios,根本不需要任何热更方案就能直接热更ET和ILRuntime结合的太深,逃不掉的,只能硬着头皮上了,老规矩...原创 2019-03-12 19:29:53 · 1395 阅读 · 0 评论 -
ET篇:master客户端学习(框架初始化流程的介绍)
要学习一个Demo,不能漫无目的的乱看,看到哪是哪,要有条理,我习惯于从程序入口开始进入Init场景发现貌似只有一个Init脚本发挥着作用那我们就进入Init脚本这个便是入口了,他调用了StartAsync()函数,至于为什么后面加上Coroutine()(Coroutine是个空函数,并没有什么具体的作用)熊猫大大说是为了防止这种情况(好吧。。。)接下来我一...原创 2019-03-31 20:16:59 · 1993 阅读 · 2 评论 -
ET篇:master消息机制介绍(总结——更新中)
不同Session(服务器)相关名称及其含义Manager:连接客户端的外网和连接内部服务器的内网,对服务器进程进行管理,自动检测和启动服务器进程。加载有内网组件NetInnerComponent,外网组件NetOuterComponent,服务器进程管理组件。自动启动突然停止运行的服务器,保证此服务器管理的其它服务器崩溃后能及时自动启动运行。 Realm:对ActorMessage消息进行...原创 2019-04-10 17:06:02 · 932 阅读 · 1 评论 -
ET篇:master消息机制介绍(Actor消息的流转)
继续上一次的一般消息流转,那么这次,我们来走一遍ET的另一核心——Actor消息机制建议先看ETBook的Actor消息机制介绍,地址:https://blog.csdn.net/qq_15020543/article/details/88539225 https://blog.csdn.net/qq_15020543/article/details/89219390继续上次,我们回到...原创 2019-04-11 21:11:02 · 1898 阅读 · 0 评论 -
ET篇:master服务端学习(框架初始化流程的介绍)
讲过master客户端的框架初始化,再来说一下服务端的初始化流程吧,因为很多客户端代码在服务端是通用的,所以理解起来也不算困难,就像这样先来到程序入口然后就是框架的初始化了(因为很多细节在客户端那篇讲过了,所以就不在这赘述了,内部实现是一样的)//添加Model.dll到字典维护Game.EventSystem.Add(DLLType.Model, typeof(Game).A...原创 2019-04-08 15:46:11 · 1264 阅读 · 0 评论 -
ET篇:ETBook笔记(5.5 Actor Location)
GitHub原文地址:Actor Location黑体字为作者(熊猫大佬)原创,红色为个人理解Actor LocationActor模型只需要知道对方的InstanceId就能发送消息,十分方便,但是有时候我们可能无法知道对方的InstanceId,或者是一个Actor的InstanceId会发生变化。这种场景很常见,比如:很多游戏是分线的,一个玩家可能从1线换到2线,还有的游戏是分场...原创 2019-04-11 21:09:12 · 3647 阅读 · 0 评论 -
ET篇:master消息机制介绍(一般消息的流转)
终于到了核心部分之一了——消息机制既然讲到消息,我们要到消息的源头——客户端来到Unity.Hotfix的Init文件,并定位到这一句Game.EventSystem.Run(EventIdType.InitSceneStart);他会执行这里的Run代码(不知道为何的去复习ETBook的EventSystem哦)进入UILoginFactory,他是登录UI的工厂类,...原创 2019-04-09 09:10:16 · 1339 阅读 · 0 评论 -
ET篇:斗地主的流程(资源工作流)
有了master的学习经验,斗地主的学习将不会太多精细化,更多细节大家可以自行查看,本系列文章旨在帮助大家理解整个开发流程资源划分策略先来到Asset下的Bundles文件夹,这里是游戏内用到的所有的资源,都被打成ab包,正式发布时将会删除,从资源服务器下载文件IndependentCode 包含热更新模块的dll文件 Config 包含客户端的配置文件(连接配置,所用到的玩家...原创 2019-04-21 10:34:06 · 2525 阅读 · 0 评论 -
GameFramework篇:Network模块案例解读(一:准备工作)
前言过了那么久,我又回来了,因为我开始研习服务端了(欠的技术债总要还的),因为GF已经越来越熟练,并且使用过程中也十分稳定,所以我已经决定了,使用GF做客户端,至于服务端,因为对于中大型项目,服务端框架也必不可少,我选择了ET(另一个很强大的框架,是双端的链接:https://github.com/egametang/ET)。项目工程下载既然要学习,那就要一个案例,身为服务端小白,我是...原创 2019-03-09 15:05:24 · 3867 阅读 · 4 评论 -
ET篇:ETBook笔记(3.4 事件机制EventSystem)
GitHub原文地址:事件机制EventSystem黑体字为作者(熊猫大佬)原创,红色为个人理解ECS最重要的特性一是数据跟逻辑分离,二是数据驱动逻辑。什么是数据驱动逻辑呢?不太好理解,我们举个例子 一个moba游戏,英雄都有血条,血条会在人物头上显示,也会在左上方头像UI上显示。这时候服务端发来一个扣血消息。我们怎么处理这个消息?第一种方法,在消息处理函数中修改英雄的血数值,修改头像上血...原创 2019-03-05 21:01:54 · 1705 阅读 · 0 评论 -
ET框架个人笔记汇总
本博客永久停更,更新全在我个人网站,https://www.lfzxb.top欢迎大家加入我的Unity交流群:959572557本篇博客将记录所有的关于ET的笔记和教程。视频教程地址:https://www.bilibili.com/medialist/detail/ml759596845?type=1服务器基础知识学习笔记Google.Protobuf学习专栏 Socke...原创 2019-02-05 19:58:33 · 8426 阅读 · 2 评论 -
ET篇:前言
只有站在巨人的肩膀上才能站得更远,从今天起,我将以服务端小白的身份和大家一起学习ET这个强大的框架。我的教程地址汇总:https://blog.csdn.net/qq_15020543/article/details/86766326GitHub地址:https://github.com/egametang/ET.gitET里面比较重要的思想组件式设计:https://gi...原创 2019-02-05 20:06:04 · 827 阅读 · 1 评论 -
ET篇:斗地主学习笔记(一)运行Demo
一个Demo,首先要运行起来,才能让人打起学习钻研他的兴趣,So环境准备:下载斗地主Demohttps://github.com/Viagi/LandlordsCore.git准备2017.4.0版本的Unityhttps://unity3d.com/cn/get-unity/download/archive下载并配置MongoDB以及Studio 3TMongoD...原创 2019-02-05 20:55:36 · 3719 阅读 · 2 评论 -
ET篇:Google.Protobuf的学习(理解基本的使用流程)
据我目前所知,ET使用的数据交换协议是Google.Protobuf,所以今天就来学习一下,但是网上许多人都是以高下立判的方式讲解的,对新手小白很不友好,所以我今天就以纯小白的视角和大家一起学习学习环境:.NET Core2.2.NET Framework 4.7.2Riderprotobuf-csharp-3.7.0-rc-2Google.Protobuf简介prot...原创 2019-02-08 20:12:24 · 3296 阅读 · 0 评论 -
Google.Protobuf的学习(理解基本的使用流程)
上次我们提到了一个比较特殊的类,Addressbook,然后他开头第二行有这末个东西要编辑这个proto后缀的文件,需要用protoc来编辑https://github.com/protocolbuffers/protobuf/releases不要问我为什么不下载64位的,问就是64位的我不会搞为.exe文件设置环境变量这样做的好处是,在任何地方都可以运行.exe文件...原创 2019-02-08 21:58:25 · 9222 阅读 · 0 评论 -
ET篇:ETBook笔记(1.2 为什么使用C# .net core做服务端?)
GitHub原地址:为什么使用C# .net core做服务端?黑体字为作者(熊猫大佬)原创,红色为个人理解游戏服务端从早期的单服到分布式,开发越来越复杂,对稳定性,开发效率要求越来越高。开发语言的选择也逐步发生了变化,C 到 C++ 到 C++ + PYTHON 或者C++ + LUA 到现在 很多公司开始使用erlang,go,java,c#。目前是一个百花齐放的局面。但是如果是要...原创 2019-02-26 13:45:10 · 2141 阅读 · 0 评论 -
ET篇:ETBook笔记(2.1 CSharp的协程)
GitHub原地址:什么是协程黑体字为作者(熊猫大佬)原创,红色为个人理解什么是协程说到协程,我们先了解什么是异步,异步简单说来就是,我要发起一个调用,但是这个被调用方(可能是其它线程,也可能是IO)出结果需要一段时间,我不想让这个调用阻塞住调用方的整个线程,因此传给被调用方一个回调函数,被调用方运行完成后回调这个回调函数就能通知调用方继续往下执行。举个例子:下面的代码,主线程一直循...原创 2019-02-27 15:14:24 · 2156 阅读 · 1 评论 -
ET篇:ETBook笔记(2.2 更好的协程)
GitHub原地址:更好的协程黑体字为作者(熊猫大佬)原创,红色为个人理解更好的协程上文讲了一串回调就是协程,显然这样写代码,增加逻辑,插入逻辑非常容易出错。我们需要利用异步语法把这个异步回调的形式改成同步的形式,幸好C#已经帮我们设计好了,看代码 // example2_2 class Program { private static int l...原创 2019-02-27 18:27:59 · 2023 阅读 · 1 评论 -
ET篇:ETBook笔记(2.3 单线程异步)
GitHub原文地址:单线程异步黑体字为作者(熊猫大佬)原创,红色为个人理解单线程异步前面几个例子都是多线程实现的异步,但是异步显然不仅仅是多线程的。我们在之前的例子中使用了Sleep来实现时间的等待,每一个计时器都需要使用一个线程,会导致线程切换频繁,这个实现效率很低,平常是不会这样做的。一般游戏逻辑中会设计一个单线程的计时器,我们这里做一个简单的实现,用来讲解单线程异步。 ...原创 2019-02-27 18:52:57 · 993 阅读 · 0 评论 -
ET篇:ETBook笔记(3.2 强大的MongoBson库)
GitHub原地址:强大的MongoBson库黑体字为作者(熊猫大佬)原创,红色为个人理解后端开发,统计了一下大概有这些场景需要用到序列化:对象通过序列化反序列化clone 服务端数据库存储数据,二进制 分布式服务端,多进程间的消息,二进制 后端日志,文本格式 服务端的各种配置文件,文本格式C#序列化库有非常非常多了,protobuf,json等等。但是这些序列化库都无法应当...原创 2019-03-05 18:27:10 · 1357 阅读 · 0 评论 -
ET篇:ETBook笔记(3.3 一切皆组件)
GitHub原文地址:一切皆组件黑体字为作者(熊猫大佬)原创,红色为个人理解目前十分流行ECS设计,主要是守望先锋的成功,引爆了这种技术。守望先锋采用了状态帧这种网络技术,客户端会进行预测,预测不准需要进行回滚,由于组件式的设计,回滚可以只回滚某些组件即可。ECS最重要的设计是逻辑跟数据的完全分离。即EC是纯数据,System实际上就是逻辑,由数据驱动逻辑。数据驱动逻辑是什么意思呢?很简单...原创 2019-03-05 20:53:48 · 2822 阅读 · 0 评论 -
ET篇:ETBook笔记(5.6 数值组件设计)
GitHub原文地址:数值组件设计黑体字为作者(熊猫大佬)原创,红色为个人理解类似魔兽世界,moba这种技能极其复杂,灵活性要求极高的技能系统,必须需要一套及其灵活的数值结构来搭配。数值结构设计好了,实现技能系统就会非常简单,否则就是一场灾难。比如魔兽世界,一个人物的数值属性非常之多,移动速度,力量,怒气,能量,集中值,魔法值,血量,最大血量,物理攻击,物理防御,法术攻击,法术防御,等等多...原创 2019-04-19 14:19:03 · 1645 阅读 · 2 评论