posts

文章归档

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

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

全部文章

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

《游戏服务端编程实践》8.3.1 帧号与预测机制

帧同步战斗里,帧号既是时间轴也是状态版本。本篇讨论帧号回绕、服务器帧与客户端本地帧的关系、先执行后校正的预测流程,以及预测错误为何表现为抖动和瞬移,并给出带容量上限、支持回滚重放的 FrameBuffer 实现与回绕、过期帧测试,最后总结常见边界。

8 分钟阅读
game server game in action game server development tutorial complete
game

《游戏服务端编程实践》8.2.3 战斗日志与回放

厘清战斗日志该记录输入还是结果,比较事件重放与快照增量的适用边界,拆解帧号、随机种子、规则快照与事件排序对确定性的影响,并给出可用同一种子重放出相同状态的 Recorder 与 Replay 实现,同时讨论日志体积控制、分段压缩以及回放与线上配置隔离的取舍。

8 分钟阅读
game server game in action game server development tutorial complete
game

《游戏服务端编程实践》8.2.2 Buff / 技能系统建模

把 Buff 拆成来源、层数、持续时间、叠加规则与移除条件,把技能拆成消耗、冷却、目标选择与效果列表,并用 BuffSet 实现独立、共存、覆盖、刷新四类规则以及可断言的到期顺序与属性聚合,同时说明效果与 Buff 解耦、属性重算的固定结算顺序,并给出容器级测试。

8 分钟阅读
game server game in action game server development tutorial complete
game

《游戏服务端编程实践》8.2.1 指令投递与执行队列

从客户端指令与服务端事件的边界出发,拆解帧号排序、同帧优先级、指令去重、过期丢弃与非法指令的可观测拒绝,并给出带校验钩子的 CommandQueue 实现和乱序到达、重复投递、过期指令的测试用例,同时说明队列与网络层、战斗处理器的职责边界以及去重窗口的内存上限取舍。

9 分钟阅读
game server game in action game server development tutorial complete
game

《游戏服务端编程实践》8.1.3 战斗状态机

把战斗拆成准备、进行、结算、回放四个阶段,用显式迁移表拒绝非法跳转,讨论单位存活、死亡、眩晕、无敌的互斥与优先级,说明进入退出钩子为何不能递归触发迁移,并用 Go 实现带幂等结算的 CombatFSM 与合法、非法、钩子重入测试,最后给出接入战斗循环的边界建议。

10 分钟阅读
game server game in action game server development tutorial complete
game

《游戏服务端编程实践》8.1.1 回合制与实时制对比

以“行动”和“帧”两种原子为线索,对比回合制与实时制在状态规模、同步频率、回放能力和作弊面上的差异,说明服务器权威与客户端预测的边界,给出半即时、行动条等混合制的归类方法,并用 Go 实现带超时跳过和重复行动拒绝的回合行动队列,附容量估算口径。

12 分钟阅读
game server game in action game server development tutorial complete
game

《游戏服务端编程实践》7.3.1 地图数据结构设计

从地图定义、实体表、AOI 索引、tick 状态与事件队列拆解一个地图实例,给出单 goroutine 拥有状态的 Map 实现,讨论实体句柄的代际校验、删除泄漏、范围查询与快照可见性,并给出加入、移除、快照一致性以及负坐标格子的测试要点,帮助读者把地图状态收敛到清晰的 ownership 边界。

6 分钟阅读
game server game in action game server development tutorial complete
game

《游戏服务端编程实践》7.2.3 客户端与服务端同步路径

比较客户端预表现与服务端权威两种寻路分工,说明路点、方向序列与压缩下发格式的取舍,给出按时间、速度与地形校验路径段的 Validator 实现,覆盖超速、穿墙、时间不连续与路径过期,并讨论重算抖动、路径过大、传送与客户端和解流程的落地细节。

8 分钟阅读
game server game in action game server development tutorial complete
game

《游戏服务端编程实践》7.2.2 地图阻挡与通行数据

拆解静态地形、动态建筑与单位占位三层阻挡,比较位图、稀疏格子与多边形三种通行数据的查询与更新成本,给出支持多来源叠加、撤销与批量原子写入的 BlockGrid 实现,并讨论阻挡版本、缓存失效、坐标错位和客户端服务端数据不一致的排查方法与实现细节。

9 分钟阅读
game server game in action game server development tutorial complete
game

《游戏服务端编程实践》7.2.1 A*、Dijkstra 算法原理

从 Dijkstra 与 A* 的适用边界出发,说明启发函数为何必须可采纳且保持一致、网格直线与斜线的费用模型、开放集最小堆与 visited 去重的实现取舍,并给出可复用的 Go 搜索器、与 Dijkstra 的最短路对照,以及不可达、墙角穿越、启发函数可采纳性等测试要点。

7 分钟阅读
game server game in action game server development tutorial complete
game

《游戏服务端编程实践》7.1.2 地图加载与分片机制

区分共享的静态地图数据与按实例隔离的动态状态,用地图 ID、实例 ID 和区域组成分片键,给出按需加载、并发只加载一次、引用计数卸载、版本校验与热更边界的实现,并附可运行的 Go MapStore 测试,覆盖并发加载、卸载时机、版本不一致与忙碌时拒绝热更。

9 分钟阅读
game server game in action game server development tutorial complete
game

《游戏服务端编程实践》7.1.1 世界分区与逻辑坐标

把世界坐标与服务器逻辑坐标分开,用整数定点描述位置,比较矩形网格、兴趣点与副本三种分区方式,给出含负数向下取整的坐标换算、八邻接分区和单跳跨区校验,并附可运行的 Go 坐标测试,覆盖边界归属、负数取整、跨区跳跃拒绝与迁移失败回滚的判定口径。

9 分钟阅读
game server game in action game server development tutorial complete
game

《游戏服务端编程实践》6.3.2 数据加载与保存

围绕角色数据的加载与保存展开:比较一次加载和懒加载、四种保存时机各自的丢数据窗口、全量与增量及字段级更新的取舍,并用带版本校验和 saveID 幂等的 Repository 实现演示版本冲突、校验失败回滚、重复保存与记录不存在等场景,同时说明保存失败向上传递的处理方式。

6 分钟阅读
game server game in action game server development tutorial complete