posts

文章归档

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

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

全部文章

全部文章 Golang Game Minigame Saas Rust Python Java 游戏开发 客户端开发 GameDev
mmo

《MMO 服务器开发》11.3 好友关系与关系一致性

好友关系是 MMO 里最容易不一致的共享状态:它是双向的,一次只写一半就会留下「半边关系」。本节把关系图建成有向边、把双向一致写死成不变量、用全局唯一的 opID 幂等窗口挡住重发,并给出半边检测与补偿的实现,呼应卷一的幂等窗口与顺序保证,让关系一致从口头约定变成机器可验证的断言。

6 分钟阅读
MMO 游戏服务端 玩法系统
mmo

《MMO 服务器开发》11.2 敏感词与限速治理

敏感词与限速是聊天管线的两级治理:前者挡内容,后者挡频率,两者都必须便宜到能挂在每条消息的同步路径上。本节用 AC 自动机实现一次扫描命中所有敏感词、用每玩家每频道的令牌桶限速,再把禁言、限速、过滤串成一条顺序固定、可 go test 的三级管线,并给出本机实测的匹配开销对照。

7 分钟阅读
MMO 游戏服务端 玩法系统
mmo

《MMO 服务器开发》10.3 每日重置与时区窗口

每日任务几点重置,是整条时间链上最容易被时区坑掉的地方:主机在哪个时区、夏令时怎么切、时钟被 NTP 往回拨一下会不会重置两次。本节把「今天」钉在一个固定时区上,用「日键」而不是时间减法判断跨天,并让重置跟踪器只向前触发,最后用真跑的测试覆盖边界、周界与时钟回拨。

8 分钟阅读
MMO 游戏服务端 玩法系统
mmo

《MMO 服务器开发》10.1 任务依赖图与循环检测

任务表里一条前置关系画错,整条任务线就会锁死:玩家接了 A 却发现要先完成 B,而 B 又要求先完成 A。本节把任务配置建成有向图,用 Kahn 算法做拓扑排序,用三色 DFS 把设计者画错的那一圈环精确指出来,再用一组真跑的 Go 测试证明正常表能排出合法顺序、环表能被定位到具体节点。

7 分钟阅读
MMO 游戏服务端 玩法系统
engine

《游戏引擎实现原理》子系统与工具 目录

《游戏引擎实现原理》卷三《子系统与工具》导航页:在卷一《引擎内核》与卷二《渲染引擎》之上,用 TypeScript 从零实现让《微光岛》活起来的资源管线与流式、动画与蒙皮、物理集成、音频、输入、脚本绑定与热重载,以及编辑器四章(数据模型、命令栈、属性面板、视口与资产)。讲清本卷定位、与卷一卷二的关系、L1–L4 可运行性口径,按三个部分列出 33 节索引,另含阅读路径、周计划与常见问题速查。

15 分钟阅读
游戏引擎 子系统与工具 目录
engine

《游戏引擎实现原理》5.3 Web Audio 的限制与解锁

前两节的混音图与音效池最终要落到 Web Audio 上,而它有两条硬限制:自动播放策略会挂起 AudioContext,必须靠用户手势 resume;时间精度与延迟又受渲染量子与设备缓冲支配。自动播放解锁与真实设备只能在浏览器里手动验证,但秒帧换算、量子量化、过去时间钳位、延迟补偿这些算术可以抽成纯 TS 真跑。

12 分钟阅读
游戏引擎 子系统与工具 音频
engine

《游戏引擎实现原理》5.1 混音图与音频总线

把「音源 → 总线 → 主输出」建模成一张有向图:节点带线性增益,边是数据流,渲染一个量子时按拓扑序累加、逐节点乘增益。先用纯 TS 真跑分贝换算、等功率声像、混音求和与总线路由,再把同一张图放进 headless Chromium 的 OfflineAudioContext 复算,逐样本比对 Web Audio 与 L1 的输出。

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

《游戏引擎实现原理》2.3 流式加载与区块(《微光岛》的岛)

《微光岛》的岛不是一整块资源:本节用 TypeScript 把它切成 4x4 个区块,用相机距离排加载优先级、用每帧字节预算限流、用加载与卸载双半径做滞回防抖,写出一个可逐帧推进的流式调度器,并实测单块字节数、峰值驻留与单帧最大派发量,全部来自本机实跑。

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