posts

Posts

全部文章 Game Golang SaaS Rust 游戏开发 客户端开发 GameDev Lua 写作 小说
游戏开发

Godot 多人房间成员状态:准备、掉线和换队伍要所有人看见同一个结果

为什么这个系统值得单独做 多人房间看起来只是 UI 列表,但它承载了准备、换队、邀请、踢人、房主转移、掉线和开始匹配。最糟糕的体验是自己看到已准备,队友看到未准备;房主点开始后有人状态过期;掉线玩家在列表里一会儿消失一会儿回来。房间成员状态必须以版本化快照为准。

9 分钟阅读
Godot 游戏客户端 多人房间
Game

Godot PCK 内容包:DLC、热修和资源版本的客户端边界

PCK 能解决分发问题,也会放大版本问题 Godot 的 PCK 包机制很适合把资源和脚本打包分发。你可以用它做 DLC、活动资源、语言包、热修补丁,甚至把大内容拆出主包。它带来的便利很明显:主程序更小,内容可以按需下载,某些资源能独立更新。问题是,一旦内容包和主程序版本不匹配,错误会比普通资源缺失更隐蔽。

10 分钟阅读
Godot PCK 内容包

Phaser 绳索摆荡手感:Matter 约束、抓取点和释放速度

为什么这个系统值得单独设计 平台动作游戏里,玩家从断桥边跳起,抓住一根摇晃的绳索,借摆荡越过深坑,再在最高点松手落到对面平台。这个动作一旦手感好,会成为关卡记忆点;一旦不稳定,玩家会觉得角色不听话。绳索摆荡不是简单把角色绑到一条线。抓取窗口、约束长度、输入施力、释放速度、碰撞过滤和镜头反馈都影响体验。

7 分钟阅读

Phaser 城建摆放系统:占地、旋转、道路连接和冲突提示

为什么值得单独做成系统 一款轻量城建游戏里,玩家把水泵放在河边,把仓库接到道路,把住宅区绕开污染源。鼠标拖动建筑时,绿色预览表示可放,红色显示冲突,旋转后占地和道路口也要跟着变化。建筑摆放看似是 UI 操作,实际是规则密集区:占地、地形、道路、电力、水源、资源、撤销和存档都在这里汇合。

7 分钟阅读
游戏开发

Godot 技能瞄准预览:范围圈、落点和取消手势要比释放更早稳定

为什么要单独设计 范围技能、指向技能、抛物线技能在释放前都需要预览。玩家按住技能按钮时,应该看到范围圈、落点、可命中的目标和取消方式。很多项目只在释放瞬间校验,结果玩家以为能放,松手后才提示距离不够或地形挡住。瞄准预览的稳定性,直接决定技能是否可信。

9 分钟阅读
Godot 游戏客户端 技能瞄准
游戏开发

Godot 物品详情与属性对比:Tooltip 不是把字段全塞上去

为什么这个系统值得单独设计 物品 Tooltip 很容易变成字段堆叠:名字、品质、等级、攻击、词条、绑定、来源、售价、强化、套装,全都塞进一个框。结果玩家真正想知道的事情反而不清楚:这件装备比我身上的好在哪里,差在哪里,为什么不能穿,词条来自基础属性还是强化。

9 分钟阅读
Godot 游戏客户端 背包UI
Game

Godot CharacterBody3D 控制器:手感、坡面、台阶和相机协同

3D 角色控制器不是 move_and_slide 的包装 Godot 的 CharacterBody3D 提供了很好的基础:速度向量、地面检测、 、坡面参数。原型里写几十行就能让角色跑起来。但商业客户端里的角色控制器要面对更多细节:加速度、减速度、空中控制、坡面滑动、台阶、相机方向、根运动、输入缓冲、技能打断、...

9 分钟阅读
Godot CharacterBody3D 控制器
游戏开发

Godot 移动端聊天输入框:软键盘、候选词和安全区比发送按钮更难

为什么这个系统值得单独做 移动端聊天最容易被低估。输入框能打字不代表可用:软键盘会挡住聊天面板,中文候选词还没确认就被发送,横屏安全区影响按钮,切后台后焦点丢失,系统输入法高度不同,敏感词和复制粘贴也要处理。Godot 的 LineEdit 可以接文本,但移动端 IME 体验需要单独设计。

9 分钟阅读
Godot 游戏客户端 移动端聊天