Posts by Year

2020

理解自动内存管理

2 分钟读完

当创建对象、字符串或数组时,存储它所需的内存将从称为堆的中央池中分配。当项目不再使用时,它曾经占用的内存可以被回收并用于别的东西。在过去,通常由程序员通过适当的函数调用明确地分配和释放这些堆内存块。如今,像Unity的Mono引擎这样的运行时系统会自动为您管理内存。自动内存管理需要比显式分配/释放更少的编码工作,...

理解托管堆

2 分钟读完

另一个Unity开发者面对的普遍问题是托管堆的意外扩展。在Unity中,托管堆的扩张比收缩更加容易。进一步说,Unity的垃圾回收策略倾向于碎片化内存,这可以防止收缩出来一个大的堆。

Buff System

少于 1 分钟读完

内部运算 1、是否包含技能效果?(提高/降低 攻击 命中 闪避 移动速度 群体伤害 替换技能ID 等 ) 2、是否包含阶段效果?(BUFF分为多个阶段,不同的阶段有不同的效果,比如影之哀伤) 3、是否包含计时器?(持续时长计算、叠加时长计算 总之所有关于持续性时间的问题 都丢这里) 4、是否包含计数器?(用来计算...

Csharp Run

2 分钟读完

用C#编写的源代码被编译为一种符合CLI规范的中间语言(IL)。IL代码与资源(例如位图和字符串)一起作为一种称为程序集的可执行文件存储在磁盘上,通常具有的扩展名为.exe(应用程序)或.dll(库)。程序集包含清单,它提供有关程序集的类型、版本、区域性和安全要求等信息。

C# 深浅复制

3 分钟读完

关于深浅复制大家可参考MSDN:https://msdn.microsoft.com/zh-cn/library/system.object.memberwiseclone.aspx

Room Elo

少于 1 分钟读完

https://www.jianshu.com/p/edc5d341956a

Excel中以文本形式存储的数字

少于 1 分钟读完

在一些特定情况下,单元格中会出现文本形式存储的数字,例如从其他地方复制粘贴过来,或者是较长的数字想要完全显示,设置为文本格式。如果是这样的单元格,在左上角就会有一个绿色小标记。

Game_en_zh

6 分钟读完

中英对照的网络游戏术语

守望先锋等FPS游戏的网络同步

少于 1 分钟读完

在一个采用C/S架构的游戏中,客户端和服务端的游戏状态有差异是不可避免的。客户端和服务端各自都维护了一份游戏状态。这两份游戏状态依赖网络包通信保持同步。但由于各客户端到服务端的时延具有不确定性,游戏状态同步变得非常困难。通常服务端在游戏拓扑中承载的是状态仲裁者的角色,客户端玩家看到的“经验证”的有效游戏状态总是延...

起源引擎网络同步模型

少于 1 分钟读完

Source引擎的多人游戏使用基于UDP通信的C/S架构。游戏以服务器逻辑作为世界权威,客户端和服务器通过UDP协议(20~30packet/s)通信。客户端从服务器接收信息并基于当前世界状态渲染画面和输出音频。客户端以固定频率发送操作输入到服务器。客户端仅与游戏服务器,而不是彼此之间通信。多人游戏必须处理基于网...

延迟补偿和对时的相关总结

少于 1 分钟读完

国内的网络游戏多是客户端/服务器方式,而对于游戏实时性要求比较高的网游,如 果采用客户端发送时间包给服务器,服务器校验后再下发给客户端表现的话,网络延时 和抖动都会恶化游戏体验。对于客户端和服务器的同步问题, 一般有两种算法解决:

常见的2D碰撞检测

4 分钟读完

“碰乜鬼嘢啊,碰走晒我滴靓牌”。想到“碰”就自然联想到了“麻将”这一伟大发明。当然除了“碰”,洗牌的时候也充满了各种『碰撞』。

CentOS 下安装Shadowsocks 搭建ss

1 分钟读完

CentOS 7 开始默认使用Systemd作为开启启动脚本的管理工具,Shadowsocks则是当前比较受欢迎的科学上网工具,本文将介绍如何在 CentOS 下安装和配置 Shadowsocks 服务。

dll文件的加载

少于 1 分钟读完

程序的运行要去加载所需要的dll文件,在程序运行的时候往往会遇到dll找不到的问题,或者不能确定所加载的dll文件是否是自己所需要的dll,遇到dll出问题的时候往往会不知所措,但是一旦知道了dll的加载顺序,按这个去查找解决就会方便和得心应手了。

返回顶部 ↑

2019

unity使用代理

少于 1 分钟读完

Unity的AssetStore下载package的时候经常抽风,而且开了代理工具的全局代理依然无效。

时间轮的引入

少于 1 分钟读完

问题引入:在mmorpg游戏中,群战的时候,玩家释放技能,这时候会出现技能冷却时间,每一个技能都是一个定时器,或者在slg游戏中,玩家修建房屋,创建基地,都会产生一个延时操作,等到了指定时间后,完成房屋修建等任务!!!!!

如何快速的注入汇编

少于 1 分钟读完

写汇编码比较麻烦,可以试下下面的方法,先写好你要注入的代码,然后编译好,使用ilsyp查看…选择到要注入的代码再使用Reflexil工具查看

ilruntime的研究

2 分钟读完

C#代码在编写后,是需要执行编译的,才能起效,这样如果在手机端,没有对应的编译环境,那么对应的c#代码就无法实现热更。ILRuntime实现的基础,也是基于AssetBundle的资源热更新方式,将需要热更新的c#代码打包成DLL,在每次完成资源打包后,对应的DLL会被作为资源热更新出去。这样就规避了编译相关的环...

关于addressable那些事

少于 1 分钟读完

在本文中将详细的描述Addressable对于内存的管理,如果正确的卸载资源

Unity Raycasters 剖析

6 分钟读完

Raycasters 用来检测当前事件发送给哪个对象,检测原理就是 Raycast。当给定一个屏幕坐标系中的位置,Raycasters 就会利用射线检测寻找潜在的对象,并返回一个离当前屏幕最近的对象。

powershell 常用命令

1 分钟读完

常用命令 [environment]::SetEnvironmentvariable(“Path”, $path+”;c:\powershellscript”, “User”)

googlePlay 发布问题

少于 1 分钟读完

问题 隐私声明 使用这个站点https://app-privacy-policy-generator.firebaseapp.com/ 根据app的名称,类型,平台等等,选择对应的选项,右边按钮还包含对应的第三方隐私服务链接,如果你用到的话,比如google play service, firebase等等,那么...

Unity远程debugger和il2cpp

1 分钟读完

unity是运行在mono下的,il2cpp有自己的运行时,il2cpp不是运行在mono下的不是mono的aot

Linux部署dotnetcore记录

少于 1 分钟读完

Daemon Linux Daemon(守护进程)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。它不需要用户输入就能运行而且提供某种服务,不是对整个系统就是对某个用户程序提供服务。Linux系统的大多数服务器就是通过守护进程实现的。常见的守护进程包括系统日志进程sy...

返回顶部 ↑