<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Phaser 2026 游戏开发专题导航 on PlumePHP</title><link>https://plumephp.com/posts/game/client/phaser/2026/</link><description>Recent content in Phaser 2026 游戏开发专题导航 on PlumePHP</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Wed, 24 Jun 2026 17:40:00 +0800</lastBuildDate><atom:link href="https://plumephp.com/posts/game/client/phaser/2026/index.xml" rel="self" type="application/rss+xml"/><item><title>Phaser 系列维护清单：新增文章如何归类、入专项和拆分组</title><link>https://plumephp.com/phaser-series-maintenance-checklist-2026/</link><pubDate>Wed, 24 Jun 2026 17:40:00 +0800</pubDate><guid>https://plumephp.com/phaser-series-maintenance-checklist-2026/</guid><description>&lt;p&gt;这份清单是给后续维护 Phaser 系列用的，不是读者按主题学习的入口。它解决一个很实际的问题：当文章从 120 篇继续扩到 150、180 篇时，不能每次都靠记忆判断“这篇应该放到哪个总分类、是否要进入专项页、某个专项分组是不是已经太长”。&lt;/p&gt;</description></item><item><title>Phaser 关卡与内容工具专项</title><link>https://plumephp.com/phaser-level-content-tools-series-2026/</link><pubDate>Wed, 24 Jun 2026 17:10:00 +0800</pubDate><guid>https://plumephp.com/phaser-level-content-tools-series-2026/</guid><description>&lt;p&gt;这个专项面向关卡、内容工具和可持续生产线。重点不是某一个关卡怎么写，而是地图、对象层、规则验证、内容热更新、UGC 安全和调试预演如何形成一套能反复出内容的流程。&lt;/p&gt;</description></item><item><title>Phaser 性能与发布专项</title><link>https://plumephp.com/phaser-performance-release-series-2026/</link><pubDate>Wed, 24 Jun 2026 17:10:00 +0800</pubDate><guid>https://plumephp.com/phaser-performance-release-series-2026/</guid><description>&lt;p&gt;这个专项面向“准备上线、已经上线、或者正在做版本迁移”的 Phaser 项目。它不只讨论帧率，也把资源版本、缓存、存档、网络同步、对象池、调试遥测和低端机降级放在同一张发布风险图里。&lt;/p&gt;</description></item><item><title>Phaser 战斗与数值专项</title><link>https://plumephp.com/phaser-combat-numbers-series-2026/</link><pubDate>Wed, 24 Jun 2026 17:10:00 +0800</pubDate><guid>https://plumephp.com/phaser-combat-numbers-series-2026/</guid><description>&lt;p&gt;这个专项面向动作、RPG、塔防、卡牌和策略项目里的战斗系统。阅读重点是把“打起来爽”拆成碰撞、动画、索敌、AI、数值解释、工具沙盒和可调曲线，而不是只叠特效。&lt;/p&gt;</description></item><item><title>Phaser 软货币经济设计：产出、消耗、价格曲线和客户端展示边界</title><link>https://plumephp.com/phaser-economy-soft-currency-sinks-2026/</link><pubDate>Tue, 28 Apr 2026 10:44:00 +0800</pubDate><guid>https://plumephp.com/phaser-economy-soft-currency-sinks-2026/</guid><description>&lt;h2 id="软货币不是数字越大越有成长感"&gt;软货币不是数字越大越有成长感&lt;/h2&gt;
&lt;p&gt;金币、木材、经验、能量、碎片，这些软货币是很多 Phaser 游戏的长期循环核心。玩家打怪获得金币，用金币升级；完成任务获得材料，用材料合成；离线获得收益，用收益扩建。若产出和消耗没有规划，经济很快会失衡：前期缺到卡死，中期刚好，后期金币多到没有意义；活动奖励一发，主线价格全崩；客户端展示写着需要 1000 金币，实际扣了 1200；玩家断网重试导致重复扣费。经济系统看似数值设计，客户端也承担很大责任。&lt;/p&gt;</description></item><item><title>Phaser 拍照分享模式：截图、隐藏 HUD 和跨端保存限制要提前处理</title><link>https://plumephp.com/phaser-screenshot-share-photo-mode-2026/</link><pubDate>Mon, 27 Apr 2026 20:22:00 +0800</pubDate><guid>https://plumephp.com/phaser-screenshot-share-photo-mode-2026/</guid><description>&lt;h2 id="拍照模式不是截一下-canvas"&gt;拍照模式不是截一下 Canvas&lt;/h2&gt;
&lt;p&gt;很多 Phaser 游戏想做分享功能时，会直接调用 Canvas 的 &lt;code&gt;toDataURL()&lt;/code&gt;，把当前画面保存成图片。原型能跑，但上线会遇到一堆问题：HUD 挡住角色，截图时正好在伤害闪烁，跨域图片污染 Canvas，移动端保存失败，水印尺寸不对，玩家昵称或聊天内容被截进图里。拍照分享是内容传播功能，也涉及隐私和平台限制，不能只看技术上能不能导出图片。&lt;/p&gt;</description></item><item><title>Phaser 游戏内邮件与通知：附件领取、过期和红点幂等要做扎实</title><link>https://plumephp.com/phaser-in-game-mailbox-notification-2026/</link><pubDate>Fri, 24 Apr 2026 08:58:00 +0800</pubDate><guid>https://plumephp.com/phaser-in-game-mailbox-notification-2026/</guid><description>&lt;h2 id="邮箱是经济系统不只是消息列表"&gt;邮箱是经济系统，不只是消息列表&lt;/h2&gt;
&lt;p&gt;游戏内邮箱看起来像 UI 功能：显示标题、正文、附件，玩家点领取。实际它经常承载补偿、活动奖励、排行榜结算、客服发奖、系统公告和回流礼包。只要有附件，邮箱就是经济系统的一部分。最糟糕的实现是客户端本地生成邮件，点击领取就往背包加物品，没有幂等、没有过期、没有领取记录。这样很容易出现重复领取、邮件消失、红点不准、补偿无法追踪。&lt;/p&gt;</description></item><item><title>Phaser NPC 日程系统：时间表、路径、交互窗口和状态持久化要统一</title><link>https://plumephp.com/phaser-npc-schedule-sandbox-2026/</link><pubDate>Thu, 23 Apr 2026 15:28:00 +0800</pubDate><guid>https://plumephp.com/phaser-npc-schedule-sandbox-2026/</guid><description>&lt;h2 id="npc-会按时出现世界才像在运转"&gt;NPC 会按时出现，世界才像在运转&lt;/h2&gt;
&lt;p&gt;RPG、农场、生活模拟和沙盒游戏里，NPC 如果永远站在同一个位置，会显得像功能按钮。给 NPC 加日程后，世界立刻活起来：早上在家，上午去店里，下午去广场，雨天留在室内，节日去会场，剧情后改变路线。但日程系统也容易变成一堆特例。某个 NPC 被剧情带走，另一个 NPC 卡在门口，玩家约好的任务目标不在，商店营业时间和 NPC 位置不一致。日程不是装饰，它会影响任务、商店、对话和存档。&lt;/p&gt;</description></item><item><title>Phaser 伤害公式与平衡工具：属性、护甲和暴击曲线要能解释</title><link>https://plumephp.com/phaser-damage-formula-balance-tools-2026/</link><pubDate>Tue, 21 Apr 2026 16:39:00 +0800</pubDate><guid>https://plumephp.com/phaser-damage-formula-balance-tools-2026/</guid><description>&lt;h2 id="伤害公式不是越复杂越专业"&gt;伤害公式不是越复杂越专业&lt;/h2&gt;
&lt;p&gt;Phaser 做 RPG、动作冒险、塔防或割草游戏时，伤害公式很快会从 &lt;code&gt;damage = attack - defense&lt;/code&gt; 变成一团公式：攻击、技能倍率、元素克制、护甲减免、暴击、等级压制、随机浮动、Buff、减伤、护盾、穿透。公式复杂不一定坏，但如果团队解释不了“为什么这一刀是 137”，玩家和策划都会失去信心。平衡系统最重要的品质是可解释和可调。&lt;/p&gt;</description></item><item><title>Phaser 粒子与 VFX 预算：对象池、优先级和低端机降级要提前定</title><link>https://plumephp.com/phaser-vfx-particle-budget-2026/</link><pubDate>Mon, 20 Apr 2026 19:52:00 +0800</pubDate><guid>https://plumephp.com/phaser-vfx-particle-budget-2026/</guid><description>&lt;h2 id="特效不是越多越爽"&gt;特效不是越多越爽&lt;/h2&gt;
&lt;p&gt;Phaser 游戏进入打磨阶段后，团队很容易不断加特效：命中火花、爆炸烟尘、拾取闪光、升级光柱、天气粒子、按钮反馈、Boss 弹幕尾焰。每个特效单独看都不贵，但同屏叠加后，低端手机帧率会掉，画面也会变得难读。更糟的是，特效常常由不同系统直接创建，没有统一预算：武器觉得自己重要，怪物死亡觉得自己重要，UI 奖励也觉得自己重要。结果就是关键预警被普通粒子盖住，玩家看不清危险。&lt;/p&gt;</description></item><item><title>Phaser 新手引导导演：步骤条件、遮罩和跳过逻辑要尊重玩家</title><link>https://plumephp.com/phaser-tutorial-onboarding-director-2026/</link><pubDate>Sat, 18 Apr 2026 10:11:00 +0800</pubDate><guid>https://plumephp.com/phaser-tutorial-onboarding-director-2026/</guid><description>&lt;h2 id="新手引导不是把玩家的手按在按钮上"&gt;新手引导不是把玩家的手按在按钮上&lt;/h2&gt;
&lt;p&gt;很多 Phaser 游戏的新手引导会犯一个错误：每一步都弹遮罩，强制玩家点指定按钮，不点就不能继续。短期看完成率高，长期看玩家烦。尤其是动作、策略、解谜类游戏，玩家需要理解为什么操作，而不是只完成点击。好的新手引导像导演：在合适时机给提示、限制危险操作、允许玩家试错、必要时跳过，并且不会因为版本更新或 UI 改动就卡死。&lt;/p&gt;</description></item><item><title>Phaser 平台游戏检查点系统：复活、掉落保护和临时状态恢复要讲规则</title><link>https://plumephp.com/phaser-platformer-checkpoint-respawn-2026/</link><pubDate>Fri, 17 Apr 2026 08:36:00 +0800</pubDate><guid>https://plumephp.com/phaser-platformer-checkpoint-respawn-2026/</guid><description>&lt;h2 id="检查点决定玩家愿不愿意再试一次"&gt;检查点决定玩家愿不愿意再试一次&lt;/h2&gt;
&lt;p&gt;平台动作游戏的失败很常见：跳早了、被刺碰到、掉进坑、被移动平台挤下去。玩家能否接受失败，取决于复活是否公平。检查点太远，玩家觉得被惩罚；检查点太近，挑战没有压力；复活后敌人状态混乱、机关位置不对、镜头还停在死亡点，玩家会觉得系统粗糙。Phaser 做平台控制不难，但检查点系统需要认真设计。&lt;/p&gt;</description></item><item><title>Phaser 大地图分块加载：Chunk、对象激活和边界预取决定流畅度</title><link>https://plumephp.com/phaser-large-world-chunk-streaming-2026/</link><pubDate>Wed, 15 Apr 2026 14:33:00 +0800</pubDate><guid>https://plumephp.com/phaser-large-world-chunk-streaming-2026/</guid><description>&lt;h2 id="大地图不是把-tilemap-放大十倍"&gt;大地图不是把 Tilemap 放大十倍&lt;/h2&gt;
&lt;p&gt;Phaser 做小地图很直接：加载一个 Tilemap，创建图层，玩家在里面移动。等地图变成几千乘几千格，问题就来了。首次加载慢，内存涨，碰撞对象太多，远处 NPC 还在 update，玩家跨区域时卡一下，移动端直接崩。很多项目以为“大地图优化”只是减少贴图尺寸，实际上更核心的是分块加载和对象激活策略。&lt;/p&gt;</description></item><item><title>Phaser 成就解锁流水线：条件监听、进度统计和弹窗节流要可靠</title><link>https://plumephp.com/phaser-achievement-unlock-pipeline-2026/</link><pubDate>Tue, 14 Apr 2026 13:47:00 +0800</pubDate><guid>https://plumephp.com/phaser-achievement-unlock-pipeline-2026/</guid><description>&lt;h2 id="成就系统不是弹一个已完成"&gt;成就系统不是弹一个“已完成”&lt;/h2&gt;
&lt;p&gt;成就看起来像外围系统：击杀 100 个敌人，通关第一章，收集 10 个隐藏物，弹一个提示。真正上线后，它会牵涉事件统计、存档、云同步、奖励、平台成就、弹窗节流和防重复解锁。若每个玩法系统自己判断成就，就会出现重复弹窗、进度不准、离线解锁丢失、版本更新后旧玩家无法补发成就等问题。成就系统要像一条流水线，持续接收游戏事件，更新进度，判断条件，发出解锁结果。&lt;/p&gt;</description></item><item><title>Phaser 自适应音乐系统：音频总线、分层音乐和状态切换要平滑</title><link>https://plumephp.com/phaser-adaptive-music-audio-mixer-2026/</link><pubDate>Sun, 12 Apr 2026 21:07:00 +0800</pubDate><guid>https://plumephp.com/phaser-adaptive-music-audio-mixer-2026/</guid><description>&lt;h2 id="音乐不是播一首循环就结束"&gt;音乐不是播一首循环就结束&lt;/h2&gt;
&lt;p&gt;Phaser 游戏里，音频经常被放到最后：进入场景播放 BGM，点击按钮播音效，战斗时换一首更激烈的音乐。这样能工作，但很难形成高级体验。玩家从探索走进危险区域，音乐应该逐渐紧张；Boss 破防时鼓点可以加重；战斗结束后音乐不该突然切断；打开菜单时音乐可以降低而不是停止。自适应音乐的目标是让声音跟随游戏状态变化，同时不打断节奏。&lt;/p&gt;</description></item><item><title>Phaser 天气环境系统：雨雪、风场、地面湿滑和性能降级要同一套规则</title><link>https://plumephp.com/phaser-weather-environment-system-2026/</link><pubDate>Sat, 11 Apr 2026 20:16:00 +0800</pubDate><guid>https://plumephp.com/phaser-weather-environment-system-2026/</guid><description>&lt;h2 id="天气不是屏幕前面飘几条雨线"&gt;天气不是屏幕前面飘几条雨线&lt;/h2&gt;
&lt;p&gt;Phaser 游戏做天气很容易从粒子开始：下雨就发射蓝色线条，下雪就飘白点，刮风就让粒子斜一点。这样的视觉能让截图好看，却很容易和玩法脱节。玩家明明看到暴雨，地面却不湿滑；雪天没有脚印；风很大但弹道不受影响；低端手机雨粒子一多就掉帧。天气系统如果只是装饰，会显得廉价；如果每个天气都临时改玩法，又会很快失控。&lt;/p&gt;</description></item><item><title>Phaser 合成与工作台系统：配方、材料校验和队列失败回滚要闭环</title><link>https://plumephp.com/phaser-crafting-recipe-workbench-2026/</link><pubDate>Fri, 10 Apr 2026 09:42:00 +0800</pubDate><guid>https://plumephp.com/phaser-crafting-recipe-workbench-2026/</guid><description>&lt;h2 id="合成系统不是材料够了就扣"&gt;合成系统不是材料够了就扣&lt;/h2&gt;
&lt;p&gt;Phaser RPG、生存建造、农场和放置游戏都常见合成系统。玩家把木头和石头放进工作台，得到斧头；把草药和瓶子合成药水；把低级材料升级成高级材料。看起来只是检查材料、扣材料、加物品，但真实项目会很快变复杂：配方需要解锁，工作台有等级，合成需要时间，队列可取消，材料可能来自背包或仓库，活动期间产物翻倍，网络失败要回滚，玩家连续点击不能重复扣料。合成是经济系统的一部分，必须严谨。&lt;/p&gt;</description></item><item><title>Phaser 2D 载具控制：加速、漂移、抓地力和碰撞反馈要按手感调</title><link>https://plumephp.com/phaser-vehicle-controller-drift-2026/</link><pubDate>Thu, 09 Apr 2026 11:22:00 +0800</pubDate><guid>https://plumephp.com/phaser-vehicle-controller-drift-2026/</guid><description>&lt;h2 id="2d-载具手感不是把角色速度调快"&gt;2D 载具手感不是把角色速度调快&lt;/h2&gt;
&lt;p&gt;Phaser 里做 2D 载具，最简单的方法是把角色换成车图，按方向键改变速度。但车和角色的手感完全不同。角色可以瞬间转向，车需要加速、刹车、转弯半径、惯性和抓地力。若只是用角色控制器，车会像滑动的图标；若完全按真实物理，车又可能难以控制。载具系统的目标不是物理仿真，而是让玩家相信它是一辆有重量、有惯性、可被掌控的车。&lt;/p&gt;</description></item><item><title>Phaser 生存刷怪导演：波次、压力预算和出生点不能只靠随机</title><link>https://plumephp.com/phaser-wave-spawn-director-2026/</link><pubDate>Tue, 07 Apr 2026 12:48:00 +0800</pubDate><guid>https://plumephp.com/phaser-wave-spawn-director-2026/</guid><description>&lt;h2 id="刷怪不是越多越刺激"&gt;刷怪不是越多越刺激&lt;/h2&gt;
&lt;p&gt;Phaser 生存射击、割草、塔防混合玩法里，刷怪系统经常从一个定时器开始：每隔 1 秒随机生成一个敌人。原型阶段没问题，但一旦进入内容制作，就会出现各种失控：玩家刚开局就被包围，远程怪在屏幕外无预警攻击，精英怪和小怪同一时间堆叠导致掉帧，地图某个角落刷怪太近，玩家死亡后团队说不清是数值太高还是出生点不合理。刷怪导演的职责不是把敌人丢进场景，而是控制压力、节奏和可读性。&lt;/p&gt;</description></item><item><title>Phaser 键盘与手柄改键系统：动作映射、冲突检测和本地保存要统一</title><link>https://plumephp.com/phaser-gamepad-keyboard-remapping-2026/</link><pubDate>Mon, 06 Apr 2026 17:31:00 +0800</pubDate><guid>https://plumephp.com/phaser-gamepad-keyboard-remapping-2026/</guid><description>&lt;h2 id="改键系统不是设置页里的附加功能"&gt;改键系统不是设置页里的附加功能&lt;/h2&gt;
&lt;p&gt;很多 Phaser 游戏最初只写键盘输入：&lt;code&gt;WASD&lt;/code&gt; 移动，空格跳跃，鼠标攻击。等玩家开始反馈“我想用方向键”“手柄 A/B 反了”“笔记本键位冲突”“左撇子不舒服”时，团队才补一个改键界面。若一开始输入直接散落在各个 Scene 中，补改键会非常痛苦：战斗 Scene 读空格，菜单 Scene 读 Enter，教程写死“按 W”，移动端按钮又是另一套逻辑。输入系统应该从一开始就以“动作”为核心，而不是以“按键”为核心。&lt;/p&gt;</description></item><item><title>Phaser 潜行视野系统：视野锥、遮挡检测和警戒状态要一起算</title><link>https://plumephp.com/phaser-stealth-vision-cone-lighting-2026/</link><pubDate>Sat, 04 Apr 2026 18:14:00 +0800</pubDate><guid>https://plumephp.com/phaser-stealth-vision-cone-lighting-2026/</guid><description>&lt;h2 id="潜行玩法最怕玩家觉得不公平"&gt;潜行玩法最怕玩家觉得“不公平”&lt;/h2&gt;
&lt;p&gt;潜行动作游戏里，敌人发现玩家是一件非常敏感的事。玩家可以接受被发现，但必须知道为什么被发现：我站在灯下、走进视野锥、发出了声音、碰到了警戒线。如果敌人隔墙看到玩家，或者玩家明明在阴影里却瞬间暴露，潜行感会立刻崩。Phaser 做 2D 潜行原型并不难，难的是让视野、遮挡、灯光和警戒状态形成一致规则。&lt;/p&gt;</description></item><item><title>Phaser 三消连锁系统：匹配检测、掉落补位和动画队列要可复现</title><link>https://plumephp.com/phaser-match3-combo-cascade-2026/</link><pubDate>Fri, 03 Apr 2026 14:05:00 +0800</pubDate><guid>https://plumephp.com/phaser-match3-combo-cascade-2026/</guid><description>&lt;h2 id="三消最难的是连锁之后还说得清"&gt;三消最难的是“连锁之后还说得清”&lt;/h2&gt;
&lt;p&gt;三消原型看起来简单：交换两个棋子，找到三连，消除，棋子往下掉，再补新棋子。真正做成游戏后，复杂度会不断增加：四连生成横向炸弹，五连生成彩虹球，T 型生成范围炸弹，连锁有倍率，道具可以打断棋盘，目标任务要统计指定颜色，关卡需要保证初始棋盘无自动消除且至少有一步可走。若所有逻辑都写在 Phaser 动画回调里，连锁一多就会变成不可复现的混乱。&lt;/p&gt;</description></item><item><title>Phaser 战斗反馈系统：Hit Stop、屏幕震动和伤害数字要服务手感</title><link>https://plumephp.com/phaser-combat-hitstop-screen-shake-2026/</link><pubDate>Thu, 02 Apr 2026 10:26:00 +0800</pubDate><guid>https://plumephp.com/phaser-combat-hitstop-screen-shake-2026/</guid><description>&lt;h2 id="战斗反馈不是把屏幕摇到玩家头晕"&gt;战斗反馈不是把屏幕摇到玩家头晕&lt;/h2&gt;
&lt;p&gt;Phaser 动作游戏最容易在“能打”和“好打”之间卡住。攻击能扣血，敌人能死亡，动画也能播放，但玩家总觉得拳头像打在棉花上。团队通常第一反应是加特效：受击闪白、粒子爆炸、屏幕震动、伤害数字、音效叠加。加完之后，问题可能更糟：小怪被打一下像核爆，Boss 大招反而不突出，移动端帧率下降，玩家分不清自己是受伤还是命中敌人。战斗反馈的关键不是多，而是分层、限量和可解释。&lt;/p&gt;</description></item><item><title>Phaser 塔防索敌系统：炮塔、仇恨权重和弹道不要只写最近目标</title><link>https://plumephp.com/phaser-tower-defense-targeting-2026/</link><pubDate>Wed, 01 Apr 2026 09:18:00 +0800</pubDate><guid>https://plumephp.com/phaser-tower-defense-targeting-2026/</guid><description>&lt;h2 id="塔防的第一手感来自塔为什么打它"&gt;塔防的第一手感来自“塔为什么打它”&lt;/h2&gt;
&lt;p&gt;很多 Phaser 塔防原型一开始会用最简单的逻辑：遍历范围内敌人，选择距离炮塔最近的一个，然后发射子弹。这个规则可以让炮塔动起来，却很快会暴露问题。快到终点的敌人明明快漏了，炮塔还在打刚进入范围的小怪；高护甲敌人被低伤害塔一直锁定，浪费输出；飞行怪经过时，地面塔误打；玩家升级了减速塔，却发现它总是把减速浪费在已经被减速的目标上。塔防不是“有敌人就打”，而是玩家花钱建塔后，系统要用可解释的规则把这笔投资变成可靠输出。&lt;/p&gt;</description></item><item><title>Phaser 数据驱动刷怪工具：权重表、预演和内容校验</title><link>https://plumephp.com/phaser-data-driven-enemy-spawner-tools-2026/</link><pubDate>Tue, 31 Mar 2026 15:38:00 +0800</pubDate><guid>https://plumephp.com/phaser-data-driven-enemy-spawner-tools-2026/</guid><description>&lt;h2 id="为什么这个系统值得单独设计"&gt;为什么这个系统值得单独设计&lt;/h2&gt;
&lt;p&gt;关卡设计师想在废弃商场里做三段遭遇：入口少量弱敌，电梯厅混合远程敌，撤离时出现精英压迫。程序如果每次都改 Scene 代码，内容迭代会很慢。更好的方式是把刷怪规则做成可校验、可预演的数据。&lt;/p&gt;</description></item><item><title>Phaser 房间装饰编辑器：家具吸附、层级、保存和撤销</title><link>https://plumephp.com/phaser-decorating-room-furniture-editor-2026/</link><pubDate>Mon, 30 Mar 2026 14:07:00 +0800</pubDate><guid>https://plumephp.com/phaser-decorating-room-furniture-editor-2026/</guid><description>&lt;h2 id="为什么值得单独做成系统"&gt;为什么值得单独做成系统&lt;/h2&gt;
&lt;p&gt;社交小游戏里，玩家布置自己的小屋：把沙发贴到墙边，旋转地毯，叠放盆栽和矮桌，保存后邀请朋友访问。这个体验看起来轻松，但编辑器一旦不好用，玩家会很快放弃创作。&lt;/p&gt;</description></item><item><title>Phaser 存档迁移与版本化：从 LocalStorage 到可恢复数据管线</title><link>https://plumephp.com/phaser-save-migration-versioning-2026/</link><pubDate>Mon, 30 Mar 2026 08:49:00 +0800</pubDate><guid>https://plumephp.com/phaser-save-migration-versioning-2026/</guid><description>&lt;h2 id="为什么要把它当成系统来做"&gt;为什么要把它当成系统来做&lt;/h2&gt;
&lt;p&gt;游戏上线三个月后，背包从简单数组改成带格子尺寸的物品模型，任务系统也新增章节字段。老玩家打开游戏时，旧存档必须安全迁移；失败时不能让他们丢进度。&lt;/p&gt;</description></item><item><title>Phaser 运行时配置与功能开关：灰度、降级、缓存和安全边界要清楚</title><link>https://plumephp.com/phaser-runtime-config-feature-flags-2026/</link><pubDate>Sun, 29 Mar 2026 19:45:00 +0800</pubDate><guid>https://plumephp.com/phaser-runtime-config-feature-flags-2026/</guid><description>&lt;h2 id="为什么这个系统不能临时拼"&gt;为什么这个系统不能临时拼&lt;/h2&gt;
&lt;p&gt;团队想灰度开放新 Boss、关闭有问题的广告入口、调整每日奖励倍率，并让旧客户端安全忽略未知配置。&lt;/p&gt;
&lt;p&gt;真实项目里，最容易出问题的不是第一版能不能跑，而是后续能不能解释、能不能复现、能不能被内容团队稳定使用。如果所有开关写死在代码里，每次运营调整都要发版；如果完全信任远程配置，又可能被坏配置拖垮客户端。 这类系统一旦和奖励、存档、关卡进度或玩家输入有关，就不能只写在某个 Scene 的按钮回调里。更稳的做法是把规则层、表现层和调试层拆开：规则层只处理数据和状态，表现层负责 Phaser 动画、粒子、音效和 UI，调试层负责把中间状态暴露出来。&lt;/p&gt;</description></item><item><title>Phaser 铁路调度解谜：轨道岔路、信号灯和碰撞预测</title><link>https://plumephp.com/phaser-train-dispatch-signal-puzzle-2026/</link><pubDate>Fri, 27 Mar 2026 21:44:00 +0800</pubDate><guid>https://plumephp.com/phaser-train-dispatch-signal-puzzle-2026/</guid><description>&lt;h2 id="为什么值得单独做成系统"&gt;为什么值得单独做成系统&lt;/h2&gt;
&lt;p&gt;调度解谜游戏里，三列火车从不同入口进入小站。玩家要切换岔路、控制信号灯，让货车进仓库，客车停站，维修车避开主线。火车速度不快，但每一次误判都会造成连锁堵塞。&lt;/p&gt;</description></item><item><title>Phaser 合作倒地与救援：仇恨转移、读条、中断和失败结算</title><link>https://plumephp.com/phaser-coop-revive-downstate-2026/</link><pubDate>Fri, 27 Mar 2026 18:27:00 +0800</pubDate><guid>https://plumephp.com/phaser-coop-revive-downstate-2026/</guid><description>&lt;h2 id="为什么这个系统值得单独设计"&gt;为什么这个系统值得单独设计&lt;/h2&gt;
&lt;p&gt;合作动作游戏中，队友被精英敌人击倒，倒计时还剩 18 秒。另一个玩家冲过去救援，但敌人转身逼近。救还是打，读条是否会被中断，倒地玩家能否爬向安全区，这些都决定合作体验是否紧张而公平。&lt;/p&gt;</description></item><item><title>Phaser 技能树系统：节点解锁、前置条件、重置和构筑预览要能解释</title><link>https://plumephp.com/phaser-modular-skill-tree-2026/</link><pubDate>Thu, 26 Mar 2026 13:26:00 +0800</pubDate><guid>https://plumephp.com/phaser-modular-skill-tree-2026/</guid><description>&lt;h2 id="为什么这个系统不能临时拼"&gt;为什么这个系统不能临时拼&lt;/h2&gt;
&lt;p&gt;玩家升级获得技能点，在火焰、冰霜和生存三条分支中选择；某些节点需要前置，某些节点互斥。&lt;/p&gt;
&lt;p&gt;真实项目里，最容易出问题的不是第一版能不能跑，而是后续能不能解释、能不能复现、能不能被内容团队稳定使用。技能树如果只是按钮加点，后期会遇到前置变化、重置退款、版本迁移和 UI 预览不一致的问题。 这类系统一旦和奖励、存档、关卡进度或玩家输入有关，就不能只写在某个 Scene 的按钮回调里。更稳的做法是把规则层、表现层和调试层拆开：规则层只处理数据和状态，表现层负责 Phaser 动画、粒子、音效和 UI，调试层负责把中间状态暴露出来。&lt;/p&gt;</description></item><item><title>Phaser AI 导演难度曲线：压力值、刷怪节奏和喘息窗口</title><link>https://plumephp.com/phaser-ai-director-difficulty-curves-2026/</link><pubDate>Wed, 25 Mar 2026 18:44:00 +0800</pubDate><guid>https://plumephp.com/phaser-ai-director-difficulty-curves-2026/</guid><description>&lt;h2 id="为什么要把它当成系统来做"&gt;为什么要把它当成系统来做&lt;/h2&gt;
&lt;p&gt;合作生存射击游戏里，玩家小队在废弃医院搜集样本。导演系统不能只每 20 秒刷一波敌人，而要观察血量、弹药、倒地次数、推进速度和房间结构，在紧张与喘息之间摆动。&lt;/p&gt;</description></item><item><title>Phaser 恐怖游戏理智值系统：视野扰动、音画反馈和恢复边界</title><link>https://plumephp.com/phaser-horror-sanity-visibility-2026/</link><pubDate>Tue, 24 Mar 2026 23:14:00 +0800</pubDate><guid>https://plumephp.com/phaser-horror-sanity-visibility-2026/</guid><description>&lt;h2 id="为什么这个系统值得单独设计"&gt;为什么这个系统值得单独设计&lt;/h2&gt;
&lt;p&gt;一款俯视角恐怖解谜游戏里，玩家拿着手电穿过废弃医院。停留在黑暗里越久，画面边缘开始收缩，远处传来低频噪声，墙上的影子似乎移动了。系统要制造压迫感，但不能让玩家误以为游戏坏了。&lt;/p&gt;</description></item><item><title>Phaser 装备耐久系统：损耗、修理、破损反馈和经济闭环</title><link>https://plumephp.com/phaser-item-durability-repair-loop-2026/</link><pubDate>Tue, 24 Mar 2026 10:19:00 +0800</pubDate><guid>https://plumephp.com/phaser-item-durability-repair-loop-2026/</guid><description>&lt;h2 id="为什么值得单独做成系统"&gt;为什么值得单独做成系统&lt;/h2&gt;
&lt;p&gt;生存动作游戏里，玩家用铁斧砍树、格挡野兽攻击、在篝火旁修理装备。斧头耐久降到 15% 后攻击音效变钝，低于 5% 可能在下一次重击后损坏。耐久不是惩罚玩家，而是让资源循环有意义。&lt;/p&gt;</description></item><item><title>Phaser 电影化回放镜头：关键帧、目标跟随、缓动和跳过要可控</title><link>https://plumephp.com/phaser-camera-cinematic-replay-2026/</link><pubDate>Mon, 23 Mar 2026 21:12:00 +0800</pubDate><guid>https://plumephp.com/phaser-camera-cinematic-replay-2026/</guid><description>&lt;h2 id="为什么这个系统不能临时拼"&gt;为什么这个系统不能临时拼&lt;/h2&gt;
&lt;p&gt;Boss 被击败后，镜头从玩家拉到倒塌的塔，再切到奖励宝箱；玩家可以跳过，但跳过后状态必须正确。&lt;/p&gt;
&lt;p&gt;真实项目里，最容易出问题的不是第一版能不能跑，而是后续能不能解释、能不能复现、能不能被内容团队稳定使用。如果镜头演出只是多个 tween 拼接，跳过、重播、慢动作和目标丢失会产生大量边界 bug。 这类系统一旦和奖励、存档、关卡进度或玩家输入有关，就不能只写在某个 Scene 的按钮回调里。更稳的做法是把规则层、表现层和调试层拆开：规则层只处理数据和状态，表现层负责 Phaser 动画、粒子、音效和 UI，调试层负责把中间状态暴露出来。&lt;/p&gt;</description></item><item><title>Phaser 过场动画跳过与恢复：状态提交点、镜头、音频和任务推进</title><link>https://plumephp.com/phaser-cutscene-skip-recovery-2026/</link><pubDate>Sun, 22 Mar 2026 13:55:00 +0800</pubDate><guid>https://plumephp.com/phaser-cutscene-skip-recovery-2026/</guid><description>&lt;h2 id="为什么要把它当成系统来做"&gt;为什么要把它当成系统来做&lt;/h2&gt;
&lt;p&gt;动作冒险游戏里，玩家打败守门 Boss 后触发一段 40 秒过场：镜头推近大门、NPC 交出钥匙、门打开、任务进入下一阶段。老玩家会按住跳过，但跳过后世界状态必须和看完一致。&lt;/p&gt;</description></item><item><title>Phaser 移动平台与电梯：路径、载客、挤压保护和同步</title><link>https://plumephp.com/phaser-moving-platform-elevator-system-2026/</link><pubDate>Sat, 21 Mar 2026 18:36:00 +0800</pubDate><guid>https://plumephp.com/phaser-moving-platform-elevator-system-2026/</guid><description>&lt;h2 id="为什么值得单独做成系统"&gt;为什么值得单独做成系统&lt;/h2&gt;
&lt;p&gt;平台动作关卡里，玩家跳上矿井电梯，电梯下降到中层，途中经过会挤压角色的横向平台。另一个场景中，移动平台按固定路径循环，玩家必须借它越过尖刺坑。平台看起来只是移动的地板，但它和角色控制、碰撞、机关状态强相关。&lt;/p&gt;</description></item><item><title>Phaser 体育球权系统：传球、抢断、碰撞和辅助瞄准</title><link>https://plumephp.com/phaser-sports-ball-possession-2026/</link><pubDate>Sat, 21 Mar 2026 12:09:00 +0800</pubDate><guid>https://plumephp.com/phaser-sports-ball-possession-2026/</guid><description>&lt;h2 id="为什么这个系统值得单独设计"&gt;为什么这个系统值得单独设计&lt;/h2&gt;
&lt;p&gt;一款 3v3 街头球类小游戏里，玩家控制角色冲刺、传球、假动作和射门。球在场上快速移动，角色碰撞频繁。如果球权只靠物理碰撞决定，玩家会觉得球像失控的弹珠；如果球权全靠脚本吸附，又会失去运动感。&lt;/p&gt;</description></item><item><title>Phaser 每日签到日历：连续天数、补签、时区和奖励预览要可信</title><link>https://plumephp.com/phaser-daily-login-streak-calendar-2026/</link><pubDate>Fri, 20 Mar 2026 09:33:00 +0800</pubDate><guid>https://plumephp.com/phaser-daily-login-streak-calendar-2026/</guid><description>&lt;h2 id="为什么这个系统不能临时拼"&gt;为什么这个系统不能临时拼&lt;/h2&gt;
&lt;p&gt;玩家每天打开游戏看到签到日历，连续 7 天有大奖，漏签可以用补签券补一次，月底活动自动结算。&lt;/p&gt;
&lt;p&gt;真实项目里，最容易出问题的不是第一版能不能跑，而是后续能不能解释、能不能复现、能不能被内容团队稳定使用。签到看似简单，但时区、跨天、补签、奖励预览和重复领取都会出问题；本地时间不能作为权威。 这类系统一旦和奖励、存档、关卡进度或玩家输入有关，就不能只写在某个 Scene 的按钮回调里。更稳的做法是把规则层、表现层和调试层拆开：规则层只处理数据和状态，表现层负责 Phaser 动画、粒子、音效和 UI，调试层负责把中间状态暴露出来。&lt;/p&gt;</description></item><item><title>Phaser 赛季通行证进度：等级、任务、补领和动画节奏</title><link>https://plumephp.com/phaser-season-pass-progression-2026/</link><pubDate>Thu, 19 Mar 2026 22:03:00 +0800</pubDate><guid>https://plumephp.com/phaser-season-pass-progression-2026/</guid><description>&lt;h2 id="为什么要把它当成系统来做"&gt;为什么要把它当成系统来做&lt;/h2&gt;
&lt;p&gt;休闲射击游戏开启第三赛季，玩家打一局后获得 850 点赛季经验，从 12 级升到 14 级，免费轨道拿到金币，付费轨道有皮肤但尚未解锁。界面要让玩家清楚发生了什么。&lt;/p&gt;</description></item><item><title>Phaser 竞速圈速系统：检查点、防抄近路和成绩回放摘要</title><link>https://plumephp.com/phaser-lap-timing-racing-checkpoints-2026/</link><pubDate>Wed, 18 Mar 2026 20:46:00 +0800</pubDate><guid>https://plumephp.com/phaser-lap-timing-racing-checkpoints-2026/</guid><description>&lt;h2 id="为什么这个系统值得单独设计"&gt;为什么这个系统值得单独设计&lt;/h2&gt;
&lt;p&gt;俯视角竞速游戏里，玩家在夜间城市赛道刷圈速。最后 0.08 秒的差距决定是否进入好友榜前三。系统必须准确记录每一圈、每个检查点和每次重置，否则玩家会怀疑排行榜不公平。&lt;/p&gt;</description></item><item><title>Phaser 回合制行动条：速度、插队、延迟行动和预览</title><link>https://plumephp.com/phaser-turn-based-initiative-timeline-2026/</link><pubDate>Wed, 18 Mar 2026 08:24:00 +0800</pubDate><guid>https://plumephp.com/phaser-turn-based-initiative-timeline-2026/</guid><description>&lt;h2 id="为什么值得单独做成系统"&gt;为什么值得单独做成系统&lt;/h2&gt;
&lt;p&gt;回合制 RPG 战斗里，角色和敌人不按固定你一刀我一刀行动，而是根据速度进入行动条。盗贼可以插队，法师蓄力会延迟，Boss 狂暴后行动频率变快。玩家需要在 UI 上提前看到这些变化。&lt;/p&gt;</description></item><item><title>Phaser 公会客户端 UI：成员列表、权限、申请和异步刷新要稳</title><link>https://plumephp.com/phaser-clan-guild-client-ui-2026/</link><pubDate>Tue, 17 Mar 2026 16:18:00 +0800</pubDate><guid>https://plumephp.com/phaser-clan-guild-client-ui-2026/</guid><description>&lt;h2 id="为什么这个系统不能临时拼"&gt;为什么这个系统不能临时拼&lt;/h2&gt;
&lt;p&gt;玩家在大厅打开战队界面，查看成员、申请列表、公告、捐献进度和在线状态；管理员可以批准申请或踢人。&lt;/p&gt;
&lt;p&gt;真实项目里，最容易出问题的不是第一版能不能跑，而是后续能不能解释、能不能复现、能不能被内容团队稳定使用。公会数据是异步和多人共享的。若客户端乐观更新不当，成员列表会跳动，权限按钮会误显示，重复点击可能造成状态错乱。 这类系统一旦和奖励、存档、关卡进度或玩家输入有关，就不能只写在某个 Scene 的按钮回调里。更稳的做法是把规则层、表现层和调试层拆开：规则层只处理数据和状态，表现层负责 Phaser 动画、粒子、音效和 UI，调试层负责把中间状态暴露出来。&lt;/p&gt;</description></item><item><title>Phaser 玩家交易市场客户端：列表、竞价、锁定和失败回滚</title><link>https://plumephp.com/phaser-marketplace-trading-client-2026/</link><pubDate>Mon, 16 Mar 2026 09:36:00 +0800</pubDate><guid>https://plumephp.com/phaser-marketplace-trading-client-2026/</guid><description>&lt;h2 id="为什么要把它当成系统来做"&gt;为什么要把它当成系统来做&lt;/h2&gt;
&lt;p&gt;多人刷宝游戏里，玩家打到一把带火焰词缀的短剑，想挂到市场出售；另一个玩家按攻击速度筛选，看到短剑后点击购买。两个人都在移动端，网络也不稳定。&lt;/p&gt;</description></item><item><title>Phaser 银河城能力门：地图标记、回访路径和进度状态</title><link>https://plumephp.com/phaser-metroidvania-ability-gates-2026/</link><pubDate>Sun, 15 Mar 2026 11:18:00 +0800</pubDate><guid>https://plumephp.com/phaser-metroidvania-ability-gates-2026/</guid><description>&lt;h2 id="为什么这个系统值得单独设计"&gt;为什么这个系统值得单独设计&lt;/h2&gt;
&lt;p&gt;银河城游戏最迷人的时刻，是玩家拿到二段跳后突然想起两个小时前看过的高台。返回旧区域，越过原本过不去的缺口，发现新路线和隐藏 Boss。这个体验依赖能力门系统，而不是靠策划在地图上随手摆障碍。&lt;/p&gt;</description></item><item><title>Phaser 弹珠台玩法：物理碰撞、连击倍率和判分保护</title><link>https://plumephp.com/phaser-pinball-physics-scoring-2026/</link><pubDate>Sat, 14 Mar 2026 15:41:00 +0800</pubDate><guid>https://plumephp.com/phaser-pinball-physics-scoring-2026/</guid><description>&lt;h2 id="为什么值得单独做成系统"&gt;为什么值得单独做成系统&lt;/h2&gt;
&lt;p&gt;弹珠台小游戏里，球撞上霓虹蘑菇加 100 分，连续点亮三盏灯后倍率翻倍，进入上方轨道会触发多球。玩家能接受夸张物理，但不能接受分数乱跳或挡板没有响应。&lt;/p&gt;</description></item><item><title>Phaser 钓鱼小游戏：鱼线张力、咬钩窗口和奖励表要让拉扯有戏</title><link>https://plumephp.com/phaser-fishing-minigame-rod-tension-2026/</link><pubDate>Sat, 14 Mar 2026 08:55:00 +0800</pubDate><guid>https://plumephp.com/phaser-fishing-minigame-rod-tension-2026/</guid><description>&lt;h2 id="为什么这个系统不能临时拼"&gt;为什么这个系统不能临时拼&lt;/h2&gt;
&lt;p&gt;玩家在湖边抛竿，浮漂轻轻晃动，鱼咬钩后进入拉扯阶段；拉太猛断线，放太松鱼逃走。&lt;/p&gt;
&lt;p&gt;真实项目里，最容易出问题的不是第一版能不能跑，而是后续能不能解释、能不能复现、能不能被内容团队稳定使用。钓鱼如果只做成进度条，会很快无聊；如果随机太重，玩家又觉得结果不可控。张力、鱼耐力和水域奖励表要一起设计。 这类系统一旦和奖励、存档、关卡进度或玩家输入有关，就不能只写在某个 Scene 的按钮回调里。更稳的做法是把规则层、表现层和调试层拆开：规则层只处理数据和状态，表现层负责 Phaser 动画、粒子、音效和 UI，调试层负责把中间状态暴露出来。&lt;/p&gt;</description></item><item><title>Phaser 手势绘制施法：轨迹采样、容错识别和失败反馈</title><link>https://plumephp.com/phaser-gesture-drawing-spellcasting-2026/</link><pubDate>Fri, 13 Mar 2026 20:17:00 +0800</pubDate><guid>https://plumephp.com/phaser-gesture-drawing-spellcasting-2026/</guid><description>&lt;h2 id="为什么要把它当成系统来做"&gt;为什么要把它当成系统来做&lt;/h2&gt;
&lt;p&gt;一款动作 Roguelite 想让法师不只是点按钮。玩家按住鼠标或触屏，在角色身边画一个闪电形状释放链雷，画圆释放护盾，画短斜线释放冲刺。系统要有仪式感，也要能容错。&lt;/p&gt;</description></item><item><title>Phaser 群体移动与避让：拥堵、队列和低成本 AI</title><link>https://plumephp.com/phaser-flocking-crowd-avoidance-2026/</link><pubDate>Thu, 12 Mar 2026 14:21:00 +0800</pubDate><guid>https://plumephp.com/phaser-flocking-crowd-avoidance-2026/</guid><description>&lt;h2 id="为什么这个系统值得单独设计"&gt;为什么这个系统值得单独设计&lt;/h2&gt;
&lt;p&gt;一款城镇经营游戏里，早晨 8 点工人从宿舍走向矿井，商人推车去市场，巡逻队穿过广场。屏幕上同时有上百个角色，如果每个人只沿最短路径走，他们会在门口挤成一团，像坏掉的传送带。&lt;/p&gt;</description></item><item><title>Phaser 潜行声音传播：噪声半径、材质衰减和敌人听觉</title><link>https://plumephp.com/phaser-sound-propagation-stealth-2026/</link><pubDate>Wed, 11 Mar 2026 22:04:00 +0800</pubDate><guid>https://plumephp.com/phaser-sound-propagation-stealth-2026/</guid><description>&lt;h2 id="为什么值得单独做成系统"&gt;为什么值得单独做成系统&lt;/h2&gt;
&lt;p&gt;潜行关卡里，玩家踩过碎玻璃，走廊尽头的守卫转头；玩家扔出硬币，另一个房间的守卫去调查；雨声很大时，同样的脚步声不再暴露位置。声音成为玩法信息，而不只是音效。&lt;/p&gt;</description></item><item><title>Phaser 对话立绘与口型系统：表情层、打字机和语音同步不要互相抢</title><link>https://plumephp.com/phaser-dialogue-portrait-lipsync-2026/</link><pubDate>Wed, 11 Mar 2026 20:22:00 +0800</pubDate><guid>https://plumephp.com/phaser-dialogue-portrait-lipsync-2026/</guid><description>&lt;h2 id="为什么这个系统不能临时拼"&gt;为什么这个系统不能临时拼&lt;/h2&gt;
&lt;p&gt;剧情 RPG 中，角色立绘有身体、眼睛、嘴型、情绪特效和说话高亮。语音播放时口型跟随，没语音时按文字节奏开合。&lt;/p&gt;
&lt;p&gt;真实项目里，最容易出问题的不是第一版能不能跑，而是后续能不能解释、能不能复现、能不能被内容团队稳定使用。如果打字机、语音和立绘动画各自运行，玩家跳过文本时嘴还在动，切换表情时旧嘴型残留，回看记录也会出现不同步。 这类系统一旦和奖励、存档、关卡进度或玩家输入有关，就不能只写在某个 Scene 的按钮回调里。更稳的做法是把规则层、表现层和调试层拆开：规则层只处理数据和状态，表现层负责 Phaser 动画、粒子、音效和 UI，调试层负责把中间状态暴露出来。&lt;/p&gt;</description></item><item><title>Phaser 自动化生产站：配方队列、搬运节拍和缺料反馈</title><link>https://plumephp.com/phaser-crafting-station-automation-2026/</link><pubDate>Tue, 10 Mar 2026 15:06:00 +0800</pubDate><guid>https://plumephp.com/phaser-crafting-station-automation-2026/</guid><description>&lt;h2 id="为什么要把它当成系统来做"&gt;为什么要把它当成系统来做&lt;/h2&gt;
&lt;p&gt;生存建造游戏的中期，玩家把矿石放进熔炉，传送带把铁锭送到装配台，装配台每 6 秒产出齿轮。看起来像一串动画，真正的核心是离散节拍、缓冲区和缺料原因。&lt;/p&gt;</description></item><item><title>Phaser 绳索摆荡手感：Matter 约束、抓取点和释放速度</title><link>https://plumephp.com/phaser-rope-swing-matter-constraints-2026/</link><pubDate>Mon, 09 Mar 2026 09:47:00 +0800</pubDate><guid>https://plumephp.com/phaser-rope-swing-matter-constraints-2026/</guid><description>&lt;h2 id="为什么这个系统值得单独设计"&gt;为什么这个系统值得单独设计&lt;/h2&gt;
&lt;p&gt;平台动作游戏里，玩家从断桥边跳起，抓住一根摇晃的绳索，借摆荡越过深坑，再在最高点松手落到对面平台。这个动作一旦手感好，会成为关卡记忆点；一旦不稳定，玩家会觉得角色不听话。&lt;/p&gt;</description></item><item><title>Phaser 城建摆放系统：占地、旋转、道路连接和冲突提示</title><link>https://plumephp.com/phaser-city-builder-placement-grid-2026/</link><pubDate>Sun, 08 Mar 2026 19:15:00 +0800</pubDate><guid>https://plumephp.com/phaser-city-builder-placement-grid-2026/</guid><description>&lt;h2 id="为什么值得单独做成系统"&gt;为什么值得单独做成系统&lt;/h2&gt;
&lt;p&gt;一款轻量城建游戏里，玩家把水泵放在河边，把仓库接到道路，把住宅区绕开污染源。鼠标拖动建筑时，绿色预览表示可放，红色显示冲突，旋转后占地和道路口也要跟着变化。&lt;/p&gt;</description></item><item><title>Phaser 宠物伙伴 AI：跟随、拾取、技能触发和亲密度要分层</title><link>https://plumephp.com/phaser-pet-companion-ai-2026/</link><pubDate>Sun, 08 Mar 2026 11:40:00 +0800</pubDate><guid>https://plumephp.com/phaser-pet-companion-ai-2026/</guid><description>&lt;h2 id="为什么这个系统不能临时拼"&gt;为什么这个系统不能临时拼&lt;/h2&gt;
&lt;p&gt;一个冒险游戏里，玩家带着小机器人探索遗迹。它会跟随、帮忙拾取碎片、在战斗中放护盾，还会根据亲密度解锁表情。&lt;/p&gt;
&lt;p&gt;真实项目里，最容易出问题的不是第一版能不能跑，而是后续能不能解释、能不能复现、能不能被内容团队稳定使用。宠物如果只是每帧追玩家，会挡路、抖动、抢镜头；如果技能触发写在战斗里，又会和亲密度、冷却、动画混成一团。 这类系统一旦和奖励、存档、关卡进度或玩家输入有关，就不能只写在某个 Scene 的按钮回调里。更稳的做法是把规则层、表现层和调试层拆开：规则层只处理数据和状态，表现层负责 Phaser 动画、粒子、音效和 UI，调试层负责把中间状态暴露出来。&lt;/p&gt;</description></item><item><title>Phaser 分支对话后果日志：选择、条件、旗标和回看面板要闭环</title><link>https://plumephp.com/phaser-dialogue-choice-consequence-log-2026/</link><pubDate>Sat, 07 Mar 2026 11:42:00 +0800</pubDate><guid>https://plumephp.com/phaser-dialogue-choice-consequence-log-2026/</guid><description>&lt;h2 id="为什么要把它当成系统来做"&gt;为什么要把它当成系统来做&lt;/h2&gt;
&lt;p&gt;叙事冒险游戏里，玩家在雨夜码头和线人谈判。选择一句安抚的话，会让线人第二章愿意提供船票；选择威胁，则当前能拿到情报，但城市声望下降。玩家三小时后回来，需要知道自己为什么被某个 NPC 拒绝。&lt;/p&gt;</description></item><item><title>Phaser 可破坏地形：Tilemap 重建、碰撞刷新和爆炸边界</title><link>https://plumephp.com/phaser-destructible-terrain-tilemap-2026/</link><pubDate>Fri, 06 Mar 2026 16:08:00 +0800</pubDate><guid>https://plumephp.com/phaser-destructible-terrain-tilemap-2026/</guid><description>&lt;h2 id="为什么这个系统值得单独设计"&gt;为什么这个系统值得单独设计&lt;/h2&gt;
&lt;p&gt;一款矿洞探索游戏里，玩家用炸药打开隐藏通道。爆炸后，岩层被挖出一个不规则缺口，小石块飞散，敌人路径改变，光线透进洞穴。画面很爽，但如果地形只是一张背景图，角色碰撞、寻路、存档和撤销都会马上失效。&lt;/p&gt;</description></item><item><title>Phaser 烹饪节奏小游戏：火候窗口、步骤队列和评分反馈要有手感</title><link>https://plumephp.com/phaser-cooking-timing-minigame-2026/</link><pubDate>Thu, 05 Mar 2026 18:06:00 +0800</pubDate><guid>https://plumephp.com/phaser-cooking-timing-minigame-2026/</guid><description>&lt;h2 id="为什么这个系统不能临时拼"&gt;为什么这个系统不能临时拼&lt;/h2&gt;
&lt;p&gt;玩家在餐车关卡里切菜、翻炒、收汁、装盘，每一步都有短暂最佳窗口；做得好会得到香气特效，做晚了会糊锅。&lt;/p&gt;
&lt;p&gt;真实项目里，最容易出问题的不是第一版能不能跑，而是后续能不能解释、能不能复现、能不能被内容团队稳定使用。如果每个按钮自己倒计时，步骤之间会互相抢状态，暂停、倍速、失焦和教学都会让火候窗口漂移。 这类系统一旦和奖励、存档、关卡进度或玩家输入有关，就不能只写在某个 Scene 的按钮回调里。更稳的做法是把规则层、表现层和调试层拆开：规则层只处理数据和状态，表现层负责 Phaser 动画、粒子、音效和 UI，调试层负责把中间状态暴露出来。&lt;/p&gt;</description></item><item><title>Phaser 本地双人分屏：镜头、输入归属和 UI 安全区</title><link>https://plumephp.com/phaser-local-coop-splitscreen-cameras-2026/</link><pubDate>Thu, 05 Mar 2026 09:52:00 +0800</pubDate><guid>https://plumephp.com/phaser-local-coop-splitscreen-cameras-2026/</guid><description>&lt;h2 id="为什么值得单独做成系统"&gt;为什么值得单独做成系统&lt;/h2&gt;
&lt;p&gt;客厅双人合作游戏里，一个玩家用键盘，另一个玩家用手柄。两人靠近时共享一个镜头，分开探索时画面左右分屏。宝箱、敌人、任务提示和暂停菜单都要清楚知道自己属于谁。&lt;/p&gt;</description></item><item><title>Phaser RTS 框选与指令队列：从矩形选择到可撤销命令</title><link>https://plumephp.com/phaser-rts-selection-command-2026/</link><pubDate>Wed, 04 Mar 2026 19:28:00 +0800</pubDate><guid>https://plumephp.com/phaser-rts-selection-command-2026/</guid><description>&lt;h2 id="为什么要把它当成系统来做"&gt;为什么要把它当成系统来做&lt;/h2&gt;
&lt;p&gt;一款俯视角科幻 RTS 原型里，玩家要同时操控矿车、步兵和维修无人机。鼠标拖出一个框，单位高亮；右键点击地面，队伍分散移动；按住 Shift，后续指令进入队列而不是覆盖当前任务。&lt;/p&gt;</description></item><item><title>Phaser 视差背景与深度裁剪：远景层不是多放几张图</title><link>https://plumephp.com/phaser-parallax-background-depth-culling-2026/</link><pubDate>Tue, 03 Mar 2026 10:32:00 +0800</pubDate><guid>https://plumephp.com/phaser-parallax-background-depth-culling-2026/</guid><description>&lt;h2 id="为什么这个系统值得单独设计"&gt;为什么这个系统值得单独设计&lt;/h2&gt;
&lt;p&gt;一个横版冒险游戏的港口关卡里，玩家从清晨码头跑到雾气弥漫的灯塔。近处是摇晃的吊机，中景是装货平台，远处是缓慢移动的云层和海面反光。第一眼看上去只是几层背景图，但真正上线时，镜头缩放、检查点回退、性能降级和关卡拼接都会考验这套系统。&lt;/p&gt;</description></item><item><title>Phaser 水下关卡系统：氧气、暗流、浮力和溺水反馈要一起设计</title><link>https://plumephp.com/phaser-underwater-oxygen-current-system-2026/</link><pubDate>Mon, 02 Mar 2026 16:28:00 +0800</pubDate><guid>https://plumephp.com/phaser-underwater-oxygen-current-system-2026/</guid><description>&lt;h2 id="为什么值得单独做成系统"&gt;为什么值得单独做成系统&lt;/h2&gt;
&lt;p&gt;一个横版冒险关卡里，玩家潜入沉船寻找电池。舱室里有气泡口，破损管道制造横向暗流，角色在水中转向变慢，氧气条逐渐下降。玩家既要感到水下的阻力，也要清楚知道自己为什么被推走、为什么开始溺水。&lt;/p&gt;</description></item><item><title>Phaser 激光反射解谜：射线传播、镜面、阻挡和增量更新要可验证</title><link>https://plumephp.com/phaser-laser-reflection-puzzle-2026/</link><pubDate>Mon, 02 Mar 2026 09:24:00 +0800</pubDate><guid>https://plumephp.com/phaser-laser-reflection-puzzle-2026/</guid><description>&lt;h2 id="为什么这个系统不能临时拼"&gt;为什么这个系统不能临时拼&lt;/h2&gt;
&lt;p&gt;一个研究所主题的解谜关卡里，玩家旋转镜子，把蓝色激光导向三个接收器；看似只是画几条线，实际上每次旋转都会改变整条光路。&lt;/p&gt;
&lt;p&gt;真实项目里，最容易出问题的不是第一版能不能跑，而是后续能不能解释、能不能复现、能不能被内容团队稳定使用。如果激光路径由 Sprite 动画回调临时计算，镜子旋转、传送门、分色器和阻挡块会很快互相影响，关卡编辑器也无法判断是否可解。 这类系统一旦和奖励、存档、关卡进度或玩家输入有关，就不能只写在某个 Scene 的按钮回调里。更稳的做法是把规则层、表现层和调试层拆开：规则层只处理数据和状态，表现层负责 Phaser 动画、粒子、音效和 UI，调试层负责把中间状态暴露出来。&lt;/p&gt;</description></item><item><title>Phaser 六边形策略地图：坐标、寻路、范围预览和点击命中要先定规则</title><link>https://plumephp.com/phaser-hex-grid-strategy-map-2026/</link><pubDate>Sun, 01 Mar 2026 10:14:00 +0800</pubDate><guid>https://plumephp.com/phaser-hex-grid-strategy-map-2026/</guid><description>&lt;h2 id="为什么要把它当成系统来做"&gt;为什么要把它当成系统来做&lt;/h2&gt;
&lt;p&gt;一款小队战术游戏的第一张教学关里，玩家控制三名角色穿过港口仓库。角色移动不是普通矩形瓦片，而是六边形格子：近战要绕到侧翼，狙击手要找高地，工程师要在两回合内拆掉警报器。&lt;/p&gt;</description></item><item><title>Phaser 餐厅座位与寻路：排队、入座、服务路径和拥堵处理</title><link>https://plumephp.com/phaser-restaurant-seating-pathfinding-2026/</link><pubDate>Sat, 28 Feb 2026 18:55:00 +0800</pubDate><guid>https://plumephp.com/phaser-restaurant-seating-pathfinding-2026/</guid><description>&lt;h2 id="为什么这个玩法不能只写成演示"&gt;为什么这个玩法不能只写成演示&lt;/h2&gt;
&lt;p&gt;餐厅经营游戏中，顾客进门排队，领位员安排桌位，服务员端菜穿过走道。玩家摆放桌椅后，餐厅可能变得拥挤，某张桌子看似空着，却因为路被堵住无法服务。&lt;/p&gt;</description></item><item><title>Phaser 射箭系统：蓄力、风偏、弹道预览和命中反馈</title><link>https://plumephp.com/phaser-archery-wind-aiming-system-2026/</link><pubDate>Wed, 25 Feb 2026 12:38:00 +0800</pubDate><guid>https://plumephp.com/phaser-archery-wind-aiming-system-2026/</guid><description>&lt;h2 id="为什么这个玩法不能只写成演示"&gt;为什么这个玩法不能只写成演示&lt;/h2&gt;
&lt;p&gt;玩家站在山谷边参加射箭挑战。拉弓时间越长，箭速越快；横风会把箭吹偏；远处靶子有内圈、外圈和移动遮挡。玩家需要感觉自己在瞄准，而不是掷骰子。&lt;/p&gt;
&lt;p&gt;射箭系统要平衡可控和变化。蓄力、重力、风、目标移动和辅助瞄准都影响命中。若只画一条直线预览，真实弹道会让玩家困惑；若预览过于准确，挑战又会消失。 本文按一个可上线的小系统拆解，重点不是罗列 Phaser API，而是把输入、规则、表现、调试和内容配置的边界说明白。只要这些边界清楚，后续加关卡、加活动、加存档或加移动端适配，都不会反复推倒。&lt;/p&gt;</description></item><item><title>Phaser 涂色占地玩法：区域填充、边界判定和得分同步</title><link>https://plumephp.com/phaser-paint-territory-capture-2026/</link><pubDate>Sun, 22 Feb 2026 17:12:00 +0800</pubDate><guid>https://plumephp.com/phaser-paint-territory-capture-2026/</guid><description>&lt;h2 id="为什么这个玩法不能只写成演示"&gt;为什么这个玩法不能只写成演示&lt;/h2&gt;
&lt;p&gt;轻竞技小游戏里，玩家控制小角色在地面留下颜色轨迹，围住一片区域后，该区域被填成自己的颜色。对手可以切断轨迹，也可以抢回边界。规则看起来直观，但区域判定和得分必须非常稳定。&lt;/p&gt;</description></item><item><title>Phaser 无人机配送：航线规划、电量、禁飞区和动态改道</title><link>https://plumephp.com/phaser-drone-delivery-route-planner-2026/</link><pubDate>Thu, 19 Feb 2026 09:34:00 +0800</pubDate><guid>https://plumephp.com/phaser-drone-delivery-route-planner-2026/</guid><description>&lt;h2 id="为什么这个玩法不能只写成演示"&gt;为什么这个玩法不能只写成演示&lt;/h2&gt;
&lt;p&gt;玩家管理一队城市配送无人机。订单从餐厅发往公寓楼，地图上有临时禁飞区、强风街区和充电站。无人机电量有限，飞错路线可能半路返航，延误订单会扣评分。&lt;/p&gt;</description></item><item><title>Phaser 魔法商店订单系统：顾客队列、配方交付和耐心值评分</title><link>https://plumephp.com/phaser-magic-shop-order-fulfillment-2026/</link><pubDate>Mon, 16 Feb 2026 15:08:00 +0800</pubDate><guid>https://plumephp.com/phaser-magic-shop-order-fulfillment-2026/</guid><description>&lt;h2 id="为什么这个玩法不能只写成演示"&gt;为什么这个玩法不能只写成演示&lt;/h2&gt;
&lt;p&gt;玩家经营一家魔法药剂店。顾客排队进门，有人要治疗药水，有人要火抗护符，还有人只说自己怕冷，需要玩家从库存里判断该交付什么。顾客等待太久会离开，交错物品会降低评分。&lt;/p&gt;</description></item><item><title>Phaser 仓库推箱变体：箱子状态、撤销、机关联动和关卡验证</title><link>https://plumephp.com/phaser-warehouse-sokoban-automation-2026/</link><pubDate>Fri, 13 Feb 2026 11:32:00 +0800</pubDate><guid>https://plumephp.com/phaser-warehouse-sokoban-automation-2026/</guid><description>&lt;h2 id="为什么这个玩法不能只写成演示"&gt;为什么这个玩法不能只写成演示&lt;/h2&gt;
&lt;p&gt;玩家在自动化仓库里推动电池箱，把它们送到充电底座。某些箱子很重，只能推不能拉；某些地板是传送带，会在回合结束后移动箱子；还有压力板控制门。规则不复杂，但组合后很容易失控。&lt;/p&gt;</description></item><item><title>Phaser 슬롯/老虎机表现：卷轴动画、权威结果和奖励展示</title><link>https://plumephp.com/phaser-casino-slot-machine-reels-2026/</link><pubDate>Tue, 10 Feb 2026 19:06:00 +0800</pubDate><guid>https://plumephp.com/phaser-casino-slot-machine-reels-2026/</guid><description>&lt;h2 id="为什么这个玩法不能只写成演示"&gt;为什么这个玩法不能只写成演示&lt;/h2&gt;
&lt;p&gt;休闲活动里，玩家消耗一张抽奖券，三列卷轴快速旋转，最后停在一组图标上。真正结果早已由权威逻辑确定，Phaser 负责把这个结果演得有节奏、有期待，但不能在动画里篡改奖励。&lt;/p&gt;</description></item><item><title>Phaser 滑雪障碍赛：坡度、转向惯性、雪痕和门旗判定</title><link>https://plumephp.com/phaser-skiing-slalom-snow-trails-2026/</link><pubDate>Sat, 07 Feb 2026 08:42:00 +0800</pubDate><guid>https://plumephp.com/phaser-skiing-slalom-snow-trails-2026/</guid><description>&lt;h2 id="为什么这个玩法不能只写成演示"&gt;为什么这个玩法不能只写成演示&lt;/h2&gt;
&lt;p&gt;滑雪障碍赛里，玩家从雪坡顶部冲下，在红蓝门旗之间穿梭。速度越来越快，雪痕在身后划出弧线，错过一个门旗会加罚秒。操作要有惯性，但不能让玩家觉得角色完全失控。&lt;/p&gt;</description></item><item><title>Phaser 找物解谜场景：热点、缩放、误点惩罚和提示系统</title><link>https://plumephp.com/phaser-museum-hidden-object-scene-2026/</link><pubDate>Wed, 04 Feb 2026 20:18:00 +0800</pubDate><guid>https://plumephp.com/phaser-museum-hidden-object-scene-2026/</guid><description>&lt;h2 id="为什么这个玩法不能只写成演示"&gt;为什么这个玩法不能只写成演示&lt;/h2&gt;
&lt;p&gt;玩家在夜间博物馆寻找十件失窃文物线索：展柜角落的裂纹、画框背后的编号、地毯下的钥匙。画面是静态场景，但每个可点击热点、缩放区域和提示都要准确，否则玩家会觉得自己是在和像素作战。&lt;/p&gt;</description></item><item><title>Phaser 抓娃娃机玩法：爪子物理、抓取判定和保底体验</title><link>https://plumephp.com/phaser-crane-claw-machine-physics-2026/</link><pubDate>Mon, 02 Feb 2026 10:26:00 +0800</pubDate><guid>https://plumephp.com/phaser-crane-claw-machine-physics-2026/</guid><description>&lt;h2 id="为什么这个玩法不能只写成演示"&gt;为什么这个玩法不能只写成演示&lt;/h2&gt;
&lt;p&gt;商场主题小游戏里，玩家控制一个三爪机械臂，左右移动、按下按钮、爪子下降，抓起毛绒玩具后摇摇晃晃地回到出口。看起来像一个轻松的小游戏，实际上它同时考验物理表现、概率边界、奖品状态和玩家信任。&lt;/p&gt;</description></item><item><title>Phaser 启动设备探测：能力分级、降级开关和首屏稳定性</title><link>https://plumephp.com/phaser-device-capability-startup-probe-2026/</link><pubDate>Fri, 30 Jan 2026 10:09:00 +0800</pubDate><guid>https://plumephp.com/phaser-device-capability-startup-probe-2026/</guid><description>&lt;h2 id="为什么要先做底层系统"&gt;为什么要先做底层系统&lt;/h2&gt;
&lt;p&gt;同一个 Phaser 游戏要跑在桌面 Chrome、低端安卓 WebView、平板 Safari 和嵌入式活动页里。某些设备 WebGL 支持不完整，某些设备音频必须点击后解锁，某些设备内存很低。启动阶段如果不探测，后面的问题会变成随机崩溃。&lt;/p&gt;</description></item><item><title>Phaser 随机种子测试夹具：可复现掉落、关卡和 AI 决策</title><link>https://plumephp.com/phaser-seeded-random-test-harness-2026/</link><pubDate>Tue, 27 Jan 2026 16:37:00 +0800</pubDate><guid>https://plumephp.com/phaser-seeded-random-test-harness-2026/</guid><description>&lt;h2 id="为什么要先做底层系统"&gt;为什么要先做底层系统&lt;/h2&gt;
&lt;p&gt;玩家说某个地牢房间生成后无路可走，另一个玩家说 Boss 连续三次释放同一招。团队如果不知道当时随机种子，就只能重复试玩碰运气。随机种子测试夹具能让这些问题变成可复现样例。&lt;/p&gt;</description></item><item><title>Phaser 离线挑战结算：本地成绩、重放证据和奖励幂等</title><link>https://plumephp.com/phaser-offline-challenge-settlement-2026/</link><pubDate>Sat, 24 Jan 2026 22:11:00 +0800</pubDate><guid>https://plumephp.com/phaser-offline-challenge-settlement-2026/</guid><description>&lt;h2 id="为什么要先做底层系统"&gt;为什么要先做底层系统&lt;/h2&gt;
&lt;p&gt;玩家在地铁上断网完成了每日挑战。游戏需要先在本地展示成绩和奖励，等网络恢复后再提交。若处理不好，玩家可能重复领奖，也可能因为断网丢掉一次完美成绩。&lt;/p&gt;</description></item><item><title>Phaser 触屏手势冲突路由：点击、拖拽、缩放和 UI 优先级</title><link>https://plumephp.com/phaser-touch-gesture-conflict-router-2026/</link><pubDate>Wed, 21 Jan 2026 08:58:00 +0800</pubDate><guid>https://plumephp.com/phaser-touch-gesture-conflict-router-2026/</guid><description>&lt;h2 id="为什么要先做底层系统"&gt;为什么要先做底层系统&lt;/h2&gt;
&lt;p&gt;移动端游戏里，玩家单指拖动地图，点选建筑，双指缩放视野，长按打开详情，同时底部还有技能按钮。若输入路由不清楚，玩家想拖地图却点到建筑，想点按钮却触发镜头平移，体验会立刻崩。&lt;/p&gt;</description></item><item><title>Phaser 低端机纹理降级：画质档、显存预算和资源替换</title><link>https://plumephp.com/phaser-low-end-texture-quality-scaler-2026/</link><pubDate>Sun, 18 Jan 2026 17:20:00 +0800</pubDate><guid>https://plumephp.com/phaser-low-end-texture-quality-scaler-2026/</guid><description>&lt;h2 id="为什么要先做底层系统"&gt;为什么要先做底层系统&lt;/h2&gt;
&lt;p&gt;同一款 Phaser 游戏在桌面浏览器上运行顺滑，但低端安卓机进入第二章就白屏或频繁重载。原因不是逻辑太复杂，而是纹理太大、同时加载太多、WebGL 上下文被系统回收。画质降级需要成为系统，而不是临时压几张图。&lt;/p&gt;</description></item><item><title>Phaser 剧情物品检查器：旋转查看、线索热点和状态记录</title><link>https://plumephp.com/phaser-story-item-inspector-system-2026/</link><pubDate>Thu, 15 Jan 2026 13:44:00 +0800</pubDate><guid>https://plumephp.com/phaser-story-item-inspector-system-2026/</guid><description>&lt;h2 id="为什么要先做底层系统"&gt;为什么要先做底层系统&lt;/h2&gt;
&lt;p&gt;玩家捡到一块古旧怀表，可以放大查看、旋转背面、点击划痕、打开表盖，最终发现夹层里的密码纸。这个检查器看似 UI，但它承载剧情线索、谜题状态和玩家记忆。&lt;/p&gt;</description></item><item><title>Phaser 像素字体排版：BitmapText、CJK 回退和清晰缩放</title><link>https://plumephp.com/phaser-pixel-font-bitmap-text-layout-2026/</link><pubDate>Mon, 12 Jan 2026 20:05:00 +0800</pubDate><guid>https://plumephp.com/phaser-pixel-font-bitmap-text-layout-2026/</guid><description>&lt;h2 id="为什么要先做底层系统"&gt;为什么要先做底层系统&lt;/h2&gt;
&lt;p&gt;像素风 RPG 的菜单需要显示中文任务名、英文物品名、数字价格和手柄提示。美术希望字体保持像素清晰，策划希望长文本不溢出，玩家希望小屏也能看清。字体系统如果只靠默认 Text，很快会模糊或错位。&lt;/p&gt;</description></item><item><title>Phaser 关卡热更新清单：Manifest、资源版本和回滚边界</title><link>https://plumephp.com/phaser-level-hot-update-manifest-2026/</link><pubDate>Fri, 09 Jan 2026 11:48:00 +0800</pubDate><guid>https://plumephp.com/phaser-level-hot-update-manifest-2026/</guid><description>&lt;h2 id="为什么要先做底层系统"&gt;为什么要先做底层系统&lt;/h2&gt;
&lt;p&gt;一个活动关卡上线后，团队发现第三个房间的门配置错了，玩家会被锁死。重新发整包太慢，只更新关卡 JSON 和一张贴图才是更现实的方案。但热更新如果没有版本和回滚，修 bug 也可能制造更大的 bug。&lt;/p&gt;</description></item><item><title>Phaser 战斗训练场沙盒：招式测试、假人脚本和数值调试</title><link>https://plumephp.com/phaser-combat-training-sandbox-tools-2026/</link><pubDate>Tue, 06 Jan 2026 14:22:00 +0800</pubDate><guid>https://plumephp.com/phaser-combat-training-sandbox-tools-2026/</guid><description>&lt;h2 id="为什么要先做底层系统"&gt;为什么要先做底层系统&lt;/h2&gt;
&lt;p&gt;动作游戏开发到中期，策划每天都要问：这个新技能能不能接普攻？霸体持续几帧？打大型敌人和小型敌人的命中是否一致？如果每次都进正式关卡找怪测试，效率会很低。训练场沙盒把这些问题集中到一个可控环境里。&lt;/p&gt;</description></item><item><title>Phaser 输入录制器：复现玩家操作、回放 Bug 和调试确定性</title><link>https://plumephp.com/phaser-input-recorder-replay-debugger-2026/</link><pubDate>Sat, 03 Jan 2026 09:16:00 +0800</pubDate><guid>https://plumephp.com/phaser-input-recorder-replay-debugger-2026/</guid><description>&lt;h2 id="为什么要先做底层系统"&gt;为什么要先做底层系统&lt;/h2&gt;
&lt;p&gt;线上玩家反馈“刚才闪避键按了但角色没动”，录屏里只能看到角色被击中，没人知道输入到底有没有进来。一个输入录制器可以把最近 30 秒的键盘、触屏、手柄和场景状态摘要保存下来，让团队用同一组输入复现问题。&lt;/p&gt;</description></item></channel></rss>