我开始了Bitiverse这个项目,最初的目标是“制作一个小型多人在线角色扮演游戏”。现在它拥有持久的程序化世界、实时战斗、魔法、任务、制作、房屋、公会、交易、银行、玩家商店、地下城、支持票和管理工具。功能列表早就已经超出了控制。它是一个使用TypeScript、Canvas2D、Vite和SpacetimeDB构建的浏览器游戏。开发过程中我也大量使用了Codex进行实现、测试和调试。游戏的艺术图形并不是使用AI生成的,而是使用CC0 Urizen的一位像素图集。最大的挑战并不是添加单个功能,而是防止每个新功能悄悄地破坏三个旧功能。最终我写下了项目的严格架构规则,并在危险系统周围构建了测试。程序化生成,例如,必须在客户端和服务器上产生完全相同的世界。基础地形从来没有存储在数据库中,只有玩家改变的内容才被保存。这种结构使得游戏可以继续增长而不会让代码库变成一个考古遗址。现在这个游戏可以免费在这里玩:https://fortisq.itch.io/bitiverse 我进入了一个更加令人胆战心惊的阶段:其他人类可以按下按钮了。