posts

文章归档

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

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

全部文章

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

游戏客户端反作弊边界:客户端能做什么,不能假装什么都能做

客户端不是可信环境 反作弊讨论里最重要的一句话是:客户端不可信。只要代码和数据运行在玩家设备上,就可能被调试、篡改、注入、录制和重放。这并不意味着客户端反作弊没意义,而是要摆正边界。客户端可以提高作弊成本、发现异常线索、保护普通玩家体验,但不能单独决定关键经济和竞技结果。真正权威的数据,仍然应该由服务端验证。

10 分钟阅读
game

Godot 物理查询预算治理:射线、区域和形状检测都要排队

问题从哪里冒出来 物理查询很方便,但每个系统都随手查一次,最后会变成隐形帧耗。这类问题通常不会在项目第一周暴露,因为早期内容少、设备少、链路短,大家靠经验补几个判断就能跑。等到包体、活动、多人、移动端适配和性能预算一起上来,它就会从一个小 Bug 变成团队协作问题。

8 分钟阅读
Godot 性能优化 物理
game

Godot 多指触控与 UI 拖拽冲突:手势识别要有清晰的让渡规则

冲突通常发生在玩家最急的时候 移动端触控输入的难点,不是识别一次点击,而是多个系统同时想解释同一根手指。左手虚拟摇杆在移动,右手拖技能方向,地图支持双指缩放,背包里可以拖动物品,聊天列表还能滑动。单独测试每个功能都没问题,放到真实游戏里就会出现冲突:玩家想转视角却拖动了 UI,想缩放地图却触发了标记,想把物品拖到...

10 分钟阅读
Godot 输入 移动端
game

Godot 剧情变量命名规范:Flag 不是越短越好

为什么这个问题要单独设计 剧情变量短不等于清楚,命名规范是任务条件、存档迁移和协作沟通的基础设施。很多团队会把它当成局部功能,在某个按钮、某个页面、某个脚本里补一段判断。短期看,这样最快;项目跑过几轮版本之后,就会出现同一件事在三个地方有三种解释的情况。玩家看到的是一个客户端,团队内部却把责任拆散了。

9 分钟阅读
Godot 工具链

游戏客户端埋点事件设计:数据要能回答问题

埋点不是越多越好 很多项目上线前会突然补一大批埋点:按钮点击、界面打开、任务完成、礼包曝光、战斗开始、战斗结束。数量看起来很多,真正分析时却发现回答不了关键问题。埋点的目标不是记录一切,而是回答问题。玩家为什么流失?新手卡在哪里?礼包曝光后有没有点击?战斗失败是否导致退出?资源下载失败影响了多少人?

10 分钟阅读

Phaser 无人机配送:航线规划、电量、禁飞区和动态改道

为什么这个玩法不能只写成演示 玩家管理一队城市配送无人机。订单从餐厅发往公寓楼,地图上有临时禁飞区、强风街区和充电站。无人机电量有限,飞错路线可能半路返航,延误订单会扣评分。无人机配送的乐趣来自规划和应变。它不是简单让 Sprite 沿直线移动,而是要处理航点、禁飞区、电量、天气、订单优先级和临时改道。

8 分钟阅读