ET介绍——数值组件设计 .NET技术

ET介绍——数值组件设计

类似魔兽世界,moba这种技能极其复杂,灵活性要求极高的技能系统,必须需要一套及其灵活的数值结构来搭配。数值结构设计好了,实现技能系统就会非常简单,否则就是一场灾难。比如魔兽世界,...
阅读全文
ET介绍——Actor Location .NET技术

ET介绍——Actor Location

Actor模型只需要知道对方的InstanceId就能发送消息,十分方便,但是有时候我们可能无法知道对方的InstanceId,或者是一个Actor的InstanceId会发生变化...
阅读全文
ET介绍——分布式Actor模型 .NET技术

ET介绍——分布式Actor模型

在讨论Actor模型之前先要讨论下ET的架构,游戏服务器为了利用多核一般有两种架构,单线程多进程跟单进程多线程架构。两种架构本质上其实区别不大,因为游戏逻辑开发都需要用单线程,即使...
阅读全文
ET介绍——事件机制EventSystem .NET技术

ET介绍——事件机制EventSystem

ECS最重要的特性一是数据跟逻辑分离,二是数据驱动逻辑。什么是数据驱动逻辑呢?不太好理解,我们举个例子 一个moba游戏,英雄都有血条,血条会在人物头上显示,也会在左上方头像UI上...
阅读全文
ET介绍—— 一切皆实体的设计 .NET技术

ET介绍—— 一切皆实体的设计

目前十分流行ECS设计,主要是守望先锋的成功,引爆了这种技术。守望先锋采用了状态帧这种网络技术,客户端会进行预测,预测不准需要进行回滚,由于组件式的设计,回滚可以只回滚某些组件即可...
阅读全文
ET介绍——单线程异步 .NET技术

ET介绍——单线程异步

前面几个例子都是多线程实现的异步,但是异步显然不仅仅是多线程的。我们在之前的例子中使用了Sleep来实现时间的等待,每一个计时器都需要使用一个线程,会导致线程切换频繁,这个实现效率...
阅读全文
ET介绍——C#更好的协程 .NET技术

ET介绍——C#更好的协程

上文讲了一串回调就是协程,显然这样写代码,增加逻辑,插入逻辑非常容易出错。我们需要利用异步语法把这个异步回调的形式改成同步的形式,幸好C#已经帮我们设计好了,看代码
阅读全文
ET介绍——CSharp协程 .NET技术

ET介绍——CSharp协程

说到协程,我们先了解什么是异步,异步简单说来就是,我要发起一个调用,但是这个被调用方(可能是其它线程,也可能是IO)出结果需要一段时间,我不想让这个调用阻塞住调用方的整个线程,因此...
阅读全文
链式-父类中返回子类对象 .NET技术

链式-父类中返回子类对象

一晃五年没写博客了,依旧再C#上耕耘,依旧没有啥建树,现在也不知道.net上还有多少人再使用,在这里分享一些自己觉得写的还算优雅的代码。
阅读全文
记一次 Visual Studio 2022 卡死分析 .NET技术

记一次 Visual Studio 2022 卡死分析

最近不知道咋了,各种程序有问题都寻上我了,你说 .NET 程序有问题找我能理解,Windows 崩溃找我,我也可以试试看,毕竟对 Windows 内核也知道一丢丢,那 Visual...
阅读全文