posts

Posts

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

临时属性快照架构:Buff、装备和活动加成如何在结算时说得清

背景:看似边缘的功能,往往会触到核心状态 角色属性不是一组静态数字。装备、Buff、队伍光环、活动加成、地图效果、临时药水都会影响它。玩家进入战斗时是一个属性,战斗结算时装备可能已经变化,活动加成也可能过期。如果服务端结算时重新读当前属性,就会出现“当时打出来的结果”和“后来结算的结果”不一致。

9 分钟阅读

游戏客户端邮件附件:从红点到一键领取的可信闭环

邮箱不是一个消息列表 游戏邮箱常被当成普通列表:标题、发件人、时间、正文、附件、领取按钮。真正上线后,它会承担补偿、活动奖励、拍卖结果、系统通知、客服回复、道具返还和跨服结算。玩家对邮箱的信任很高,因为很多重要资产都从这里进背包。客户端如果把邮箱做得像简单公告,很容易在附件、红点、过期和弱网场景里出问题。

8 分钟阅读
golang

项目架构:构建可维护的 Go 应用

项目架构:构建可维护的 Go 应用 当你的 Go 项目从几十行代码的小工具,成长为成千上万行代码的大型应用时,一个清晰的项目架构就变得至关重要了。好的架构能让代码: - 易于理解 :新人能快速找到相关代码 - 易于测试 :各层职责清晰,便于单元测试 - 易于维护 :修改一处不会影响其他部分 - 易于扩展 :新功能...

8 分钟阅读
Go Golang Tutorial

Steam 轻量联机开发实战:2021 年 4 月个人游戏如何判断要不要做多人模式

多人模式不是一句卖点 个人游戏上 Steam 时,很容易觉得“加一个合作模式会更好卖”。但多人模式不是标签,而是一整套技术和设计承诺:输入、同步、UI、难度、存档、断线、匹配、邀请、延迟、测试、玩家支持都会跟着变复杂。如果玩法本身没有从多人中获得明显收益,强行加入可能拖垮项目。

6 分钟阅读

游戏服务器战斗结算校验流水线:从结果上报到可信发奖

问题背景 战斗结束后,客户端想尽快看到胜负和奖励,服务器则必须确认结果可信。尤其是弱联网副本、移动网络断线、客户端参与计算的玩法,结算链路如果只接收一个 win=true,就等于把奖励入口交给了不可信环境。可信结算不是所有战斗都全量回放,而是按风险分层,让大多数正常对局快速结算,让可疑对局进入更重的校验。

11 分钟阅读

Steam 游戏补丁内容组织实战:2021 年 4 月个人项目如何规划资源包、版本兼容与下载体积

补丁开发要从首发前考虑 Steam 游戏上线后一定会更新:修 bug、调数值、补本地化、加关卡、改资源。很多个人项目首发时没有考虑补丁组织,结果每次改一张贴图都让玩家下载很大包;改一个字段导致旧存档报错;删除旧资源后玩家端残留异常文件;补丁说明写得含糊,玩家不知道是否解决了自己的问题。

6 分钟阅读