Ogmo Editor 3 是什么:独立游戏开发者的关卡编辑器入门

Ogmo Editor 3 是一款免费、开源的关卡编辑器,面向独立游戏开发者,核心特点是“项目化工作流”:你在一个项目里定义好图层、图块和实体规则,所有关卡文件都继承这套配置,编辑完成后导出为 JSON,交给游戏代码解析。它适合需要自己搭建关卡管线、又不想从零写编辑器的小型团队或个人开发者;如果你需要的是美术资源制作工具或完整游戏引擎,它并不覆盖这些环节。

它解决的是什么问题

游戏关卡通常包含几类信息:地形图块、装饰图片、可交互对象、以及关卡自身的元数据(比如背景音乐、难度参数)。如果每个关卡都手写数据文件,格式容易失控,后期改一个字段就要全量返工。

Ogmo 的做法是把这些规则提前定义在项目里,关卡只负责“摆放”。项目数据向下流向所有关卡文件,关卡列表在主窗口中直接可见,方便批量管理和切换。

项目化工作流怎么运作

使用前需要先建立一个项目,在项目中完成这些定义:

  • 图层结构:这个游戏有哪些层,每层是什么类型,顺序如何。
  • 图块集:Tile 图层使用哪张图集,每块多大。
  • 实体定义:Entity 图层里可以放置哪些对象,每个对象有哪些字段(如敌人类型、巡逻范围)。
  • 网格与数值约束:Grid 图层写入哪些元数据字段。

定义完成后,新建的每个关卡都自动带上这套结构。改动项目配置会同步影响所有关卡,这是它区别于“单文件编辑器”的关键机制。

例如需要做一个横版平台跳跃游戏:你可以定义 Tile 层画地形、Decal 层放背景装饰、Entity 层标记出生点和敌人、Grid 层记录关卡编号和是否限时。之后每关只需在这四层里填内容,不用重复配置。

四种图层类型各自做什么

图层类型 用途 典型操作
Tile Layer 用图块集拼出关卡地形 按网格刷图块
Decal Layer 自由摆放装饰图片 可缩放、旋转,不受网格限制
Entity Layer 放置游戏中的复杂对象 每个实体带自定义字段,供代码读取
Grid Layer 为关卡附加元数据 以网格形式写入结构化数值

这四类覆盖了从“看得见的地形”到“代码要读的数据”的完整链路。Decal 与 Tile 的区别在于是否受网格约束;Entity 与 Grid 的区别在于前者是对象实例,后者是关卡级参数。

导出与集成方式

编辑完成后,关卡保存为 JSON 文件。这个文件结构直接对应你在项目里定义的图层和实体,解析后即可拿到所有图块、装饰和实体数据,不需要额外转换格式。

集成时的一般流程是:

  1. 在 Ogmo 中定义项目结构,与游戏代码里的数据结构对齐。
  2. 制作关卡并导出 JSON。
  3. 在游戏加载逻辑中读取 JSON,按图层类型分别处理:Tile 层重建碰撞或渲染,Entity 层实例化对象,Grid 层读取关卡参数。
  4. 验证方式:加载一关,检查图块位置、实体数量和元数据是否与编辑器中所见一致。

常见卡点是项目定义与代码解析逻辑不同步——改了实体字段名却忘了改代码,导致读取失败。建议把项目文件纳入版本管理,和代码一起提交。

授权与获取

Ogmo Editor 是免费使用的,个人项目和商业项目都可以,官方说明为“no strings attached - forever”,并以 MIT 许可证开源。下载入口在 itch.io,源码托管在 GitHub,官方还提供在线手册,覆盖工作流的各个细节。

需要注意:以上信息来自官网页面,未提及账号注册或付费门槛,但具体下载与使用条件以实际页面为准。

适合谁,不适合谁

适合:独立开发者或小团队,已有自己的游戏框架,只需要一个能定义结构、导出 JSON 的关卡编辑器;希望工具开源、可长期免费用于商业项目。

不适合:需要引擎自带完整编辑器(如 Unity、Godot 内置方案)的团队;不打算写代码解析关卡数据、只想拖拽出成品的人;需要 3D 关卡编辑的场景。

如果你的项目是 2D、数据驱动、且愿意维护一套项目定义,Ogmo Editor 3 的投入产出比会比较高。

ogmo-editor-3.github.io
A free, open source, project oriented level editor made for indie game developers by indie game developers.