我正在开发一款游戏,它需要非常谨慎的关卡设计。 我尝试使用Tiled和LDtk,但它们都没有我需要的所有功能,所以我决定自己开发。 我今天发布了它给公众(GNU通用许可证)。 这仍然是WIP,所以任何建议都非常感谢。
功能:
- 网格绘画:画笔,线,矩形,填充,橡皮擦,多张贴图,随机和散射刷子,预设。
自动填充,文本模式和宏,模板,多次过滤的网格,区域规则(匹配整个房间,楼层,墙壁),间距约束,每个规则都可以从自己的贴图集中获取。 - 高性能:用Rust编写,绘制时间小于10ms,即使在很大的地图(>500个房间)中也如此。
房间缩略图被缓存,以便在高度缩放时保持速度。 - 类型化实体:定义,字段,引用,限制和图标;可搜索的分类树调色板,收藏夹和最近使用的实体;实体的检查器。
- 多个关卡,一张世界地图,每个项目多个世界;世界布局模式(自由,格子风格的格子,条带);非矩形关卡。
- 地图上的注释:注释,标记,路径,区域,房间之间的连接,锁定的指南,指南组,世界或关卡范围。
可以直接在关卡上绘制解决方案。注释不会出现在导出地图中。 - 日常编辑:剪贴板,粘贴幽灵,粘贴和选择时的镜像和旋转,关卡复制,预设(模板)库,图形几何处理,图层文件夹和对象组,图层复制,合并下方,移动到图层,关卡大小调整,锚点和内容裁剪。
- 导航:多张地图标签,连接的相机,相机书签,关卡面板,缩略图,搜索和拖拽重排序,实体/关卡/注释/贴图的查找和替换,缩放1/256到16x,参考图像。
- 无限撤销,历史面板,30秒的自动保存和崩溃恢复,差异;热重载图像和文件。
- 实时API + MCP服务器:打开的项目可以在本地JSON-RPC WebSocket中编辑,
worlds-mcp将其暴露为MCP工具,用于Claude代码或任何MCP客户端。
编辑在下一帧中在画布上显示,每个代理批次是一个撤销步骤,具有可选的批准模式。没有编辑器打开时,同样的工具会将更改写入磁盘。
支持多个用户实时编辑尚未实现,但不是很难添加,如果它是一个流行的请求。 - 代理友好文件:一个项目是小的,经过校验的JSON文件的目录,具有稳定的字符串ID和无派生数据,因此人工或代理可以读取,编辑和diff它们。
常见问题:
- 这是一个游戏引擎吗?:不是,Worlds不是一个游戏引擎。它是一个关卡设计软件。 我使用它来创建世界地图和单个关卡,然后将设计导入Godot来实际运行它。
- 为什么你要开发这个?:我需要一个关卡设计套件,具有广泛的注释功能,因为我的游戏需要非常谨慎的关卡设计。 我也讨厌手动标记贴图,通过使用AI可以让AI处理繁琐的设置,使我可以专注于设计。
- 这是用AI开发的吗?:是的,Claude被用来开发这个软件。 我是数据和软件工程师,这不是随机的废话。
- 我应该使用AI来制作我的游戏吗?:我个人使用MCP支持来自动化像加载和标记贴图和道具这样的任务,然后我手动完成所有关卡设计。 你可以做任何你想做的事情。
- 它是跨平台的吗?:是的,Worlds基于Rust并且在Linux,Windows和MacOS上通过测试。 我只在Fedora上测试过,但它应该在任何地方都可以构建。
- 我可以贡献吗?:是的,请开一个PR或github问题,如果你想看到的功能。
评论 (0)