posts

文章归档

PlumePHP 全站文章的归档入口,按时间倒序汇总各专题的技术文章,并提供按主题浏览的专题分类入口。

这里是全站文章的归档入口,下面是按时间倒序排列的全部文章。若想按主题浏览,请从首页的专题分类进入。

全部文章

全部文章 Books game Java Indie golang 客户端开发 Minigame Saas rust Python
cocos

《Cocos 游戏联机实战》3.2 兴趣管理与 AOI

上一节把「收快照、叠状态、写节点」的链路打通,但默认每帧发全部实体。AOI 要回答的是:怎样只同步客户端看得见的东西。本节对比四种空间划分方案的代价,给出带滞回带的视野判定与「进出视野差集」的纯 TS 实现加 vitest 断言,并说明《方块冲刺》双人竞速里 AOI 的真实价值在哪。

8 分钟阅读
Cocos Cocos 游戏联机实战 TypeScript
cocos

《Cocos 游戏联机实战》3.1 快照与增量同步

上一章用帧同步把确定性锁死,但它要求所有客户端跑同一份输入流。本章换到状态同步:服务端定期下发权威状态,客户端只负责表现。本节拆开全量快照与增量 diff 的取舍,用纯 TS 写一套实体表加字段比对生成 diff、接收端 patch 应用的算法,配 vitest 断言,并给出《方块冲刺》的快照消息格式与基线确认机制。

7 分钟阅读
Cocos Cocos 游戏联机实战 TypeScript
cocos

《Cocos 游戏联机实战》1.3 时钟、延迟与抖动

本节讲两端时钟为什么对不齐(Date.now 不同源与单调时钟的意义),给出 NTP 式时钟偏移估计的 L1 实现——多次采样、取最小 RTT 样本作权威偏移、滑动平均平稳化,并用假时钟断言偏移收敛;同时讲 RTT 与抖动计算、延迟预算怎么切(单向延迟 / RTT / 处理延迟),以及这些估计值在 4.2 和解、5.2 超时、9.3 延迟补偿里怎么被复用。

7 分钟阅读
Cocos Cocos 游戏联机实战 TypeScript
cocos

《Cocos 游戏联机实战》1.2 协议选型与序列化

本节讲联机协议怎么选:对比 WebSocket 上的 JSON、MessagePack 二进制与自定义紧凑二进制的取舍,给出用 const 对象加 as const 定义消息类型(禁用 enum)的方式,用 DataView 实现读写定点数、变长整数与字符串的 L1 编解码器并用 vitest 做往返断言,附《方块冲刺》的 INPUT / SNAPSHOT / ROOM_STATE 消息格式表。

8 分钟阅读
Cocos Cocos 游戏联机实战 TypeScript
cocos

《Cocos 游戏联机实战》1.1 网络分层、拓扑与权威边界

本节建立客户端侧联机的心智模型:讲清「权威」为什么默认在服务端、客户端只能决定输入与表现而不能决定胜负与伤害,对比 C/S、P2P、C/S 中继、主机制四种拓扑并说明《方块冲刺》双人竞速的选择,给出传输/会话/同步/表现四层与 assets/scripts/net/ 目录的对应,并写出 Transport 接口与可注入延迟丢包的假传输层完整实现。

8 分钟阅读
Cocos Cocos 游戏联机实战 TypeScript
books

《互联网产品的客户端架构·端形态与体验基础》8.3 可访问性与交互边界

可访问性不是上线前的一次性检查,而是可以被数据描述的交互边界。本节把「回声」的焦点顺序、键盘可达、角色与标签、触摸目标尺寸写成纯数据规则,用 TypeScript 实现不依赖 DOM 的检查器,并用真实测试说明正 tabIndex、图标按钮缺名称、小触摸目标分别怎样被拦住。

10 分钟阅读
书稿 互联网产品 客户端架构
engine

《游戏引擎实现原理》8.2 文档模型与脏标记

一份可编辑的场景文档长什么样?本节用扁平节点表存节点树,区分运行期句柄 id 与稳定标识 uid,把「改了一个节点,哪些东西要重算」交给脏标记来回答:任何改动沿父链向上标脏到根,刷新时按祖先先于后代的顺序处理。每次改动还追加一条变更记录,作为第 9 章撤销栈的接缝。

7 分钟阅读
游戏引擎 子系统与工具 TypeScript
engine

《游戏引擎实现原理》8.1 编辑器与运行时的关系

编辑器与运行时到底共用什么、隔离什么?本节用一份共享的场景数据模型,把编辑态与运行态拆成两份实例:进入 Play 时深拷贝文档,运行时只改副本,Stop 后编辑态原样恢复。最后用一组 vitest 用例把快照、暂停与幂等停止在本机真跑一遍,并说明为何场景文档用扁平节点表而不是 ECS。

8 分钟阅读
游戏引擎 子系统与工具 TypeScript
engine

《游戏引擎实现原理》11.3 资产浏览器与关卡编辑

资产浏览器要把引擎眼里的扁平「路径→资产」解释成一棵可展开的树,关卡编辑则把《微光岛》的关卡数据装进编辑器并校验引用。本节实现资产树构建、类型判定、稳定 GUID、拖放载荷编解码与关卡加载,并在本机真跑 13 条 vitest 用例;拖放交互属 L4,需在浏览器中手动验证。

7 分钟阅读
游戏引擎 子系统与工具 资产管线