posts

文章归档

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

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

全部文章

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

孢子三部曲创作手记:17年写作回望目录

《孢子三部曲创作手记》是一组记录 17 年小说写作过程的反思性文章。三部曲包括《孢子危机》《孢子崛起》《孢子起源》,主题围绕人类面对不以自身为中心的生命形式时的危机、秩序、起源和自我位置。这组手记不是小说正文,而是一次关于长期创作的回望:时间的困难、能力的困难、结构的困难、人物的困难,以及重写的痛苦和自我怀疑。

8 分钟阅读
孢子三部曲 孢子危机 孢子崛起
game

Godot 赛后结算弱网补偿:奖励可以晚到,状态不能说两套话

为什么要单独治理 一局 12 分钟的合作战斗结束后,服务端已经判定胜利并发放奖励,但客户端在结算动画期间切到弱网。玩家看到胜利镜头,点击继续却卡住;背包里奖励没出现,邮件里也没有,重新登录后奖励又突然到账。技术上看只是结算请求超时,玩家感受到的是“奖励到底有没有给”。

9 分钟阅读
Godot 网络 弱网
game

Godot 大型背包列表优化:虚拟滚动、复用与可预测的 UI 成本

背景:大型 UI 列表虚拟化为什么值得单独设计 背包刚做出来时只有几十个道具,GridContainer 里塞满 ItemCell 看起来很自然。上线前运营导入了几百个材料、碎片、活动道具和临时物品,问题立刻出现:打开背包卡一下,滚动时掉帧,切筛选时节点反复创建,图标异步加载回来还会错位。

9 分钟阅读
Godot 游戏客户端 客户端开发

Phaser 卡牌战斗拖拽系统:出牌不是把 Sprite 拖到敌人身上

卡牌拖拽的难点在出牌判定 Phaser 做卡牌战斗很直观:卡牌是 Sprite 或 Container,手牌区是一排对象,拖到敌人身上释放,就触发技能。原型阶段这样写很快,但上线项目很快会遇到更多规则:费用不够不能出,沉默状态不能出,某些牌必须选友方,某些牌不需要目标,拖到空地要取消,动画播放期间不能连点,服务端...

9 分钟阅读