写点什么

用户文章 | 原来 Steam 和 Perforce 有这种关系?!

  • 2022-11-21
    上海
  • 本文字数:870 字

    阅读完需:约 3 分钟

用户文章 | 原来Steam和Perforce有这种关系?!

本文作者向华是资深游戏开发工程师,拥有 8 年游戏测试开发经验。他是前原神项目 P4 Admin,也是一名持续集成开发者。作为Perforce Helix Core的用户,他关注版本控制领域,为大家带来相关资讯。


龙智作为 DevSecOps 研发安全运营一体化解决方案供应商、Perforce 授权合作伙伴,持续关注研发生命周期管理领域动态与发展,为您提高最新洞察与最佳实践参考,帮助大型开发团队更好地进行研发资产管理,加强协作,提升研发效率。立即联系我们,了解版本控制的最佳实践与案例。


最近一次偶然的机会,看到了 Steam 的应用管理后台——STEAMWORKS。



Steam 平台所有的游戏端管理配置都需要在 Steamworks 平台上完成,正如官网所述,Steamworks 是一整套工具与服务,可以帮助构建和分发。


嚯,这不就是一套 CI/CD 嘛?


本着研究一二的态度,申请了主面板中测试项目的权限。



在各项配置界面中,先随便进行了一些配置的修改,保存后,发现上方出现了被红框框起来的警告文字。


此应用有未发布的更改。要提交这些更改,您需要使用“发布”选项卡中的发布工具。


推测一下,应该是变更发布后才能生效,可以理解。这就进入「发布」选项卡看看。


▲ Steamworks 发布选项卡 


原来,Steamworks 的所有配置元数据后台用到了 Perforce,这也使用户有能力访问元数据所有的历史变更记录,甚至进行数据的 Revert 操作。


这给我们做类似 CMDB 类型的 Service 后台带来一种比较好的实践思路。过去我们用过的大多数配置后台都是一次性存储的,即永远存取最新的配置,用户改掉了就改掉了,如果想找回 N 天前的版本就很难。


但对于游戏这种可能会经常反复调试的工程,最好在全链路都用上 VCS,确保数据历史无忧。


仔细再看 SteamPipe 选项卡中,还可以窥见 Steam 应用 Perforce 的一些基本理念。


▲ Steamworks SteamPipe 选项卡


阅读一下,Steam 对于多 Depot 的冲突解决,有点类似于 iptables 后序规则覆盖先序规则,多么朴素的冲突处理方式啊!


突然间,我想到 Steam.exe 这个客户端下载游戏的时候,应该还运行了 p4 sync //SomeDepot/... 命令。

得,可能就是这样。


本篇结束。感谢阅读。


题图:City In A Glass Bottle. —— 通过 Midjourney AI 创作。

用户头像

还未添加个人签名 2021-05-18 加入

分享DevSecOps解决方案最新动态,帮助您学习与使用Atlassian, Perforce, Whitesource, Cloudbees及龙智自研产品,实现软件研发的高度协同与自动化,提高交付效率与质量,并确保开发过程可追溯、可度量。

评论

发布
暂无评论
用户文章 | 原来Steam和Perforce有这种关系?!_版本控制_龙智—DevSecOps解决方案_InfoQ写作社区