https://support.google.com/legal/answer/3110420

Written by

in

Ogmo Editor is a free, open-source 2D level editor explicitly designed to be engine-agnostic, flexible, and project-based. Originally created by Matt Thorson (the developer behind Celeste and TowerFall), the modern Ogmo Editor 3 exports everything into lightweight, human-readable JSON files. This design choice means you can seamlessly integrate it into virtually any game engine or framework, including custom-built software. 🧱 Understanding Ogmo’s Architecture

To integrate Ogmo, your code needs to interact with two distinct file types generated by the workflow:

The Project File (.ogmo): Houses structural metadata. It outlines tile dimensions, configurations for layers (tiles, entities, grids, decals), and custom value definitions.

The Level Files (.json): Contains the layout of individual stages. This file maps out coordinate arrays for tilesets, precise X/Y positions for character/enemy entities, and path coordinates. ⚙️ How to Corely Integrate Ogmo

No matter which engine you choose, the pipeline requires four fundamental programming steps:

[ Read JSON File ] ──> [ Parse Layers ] ──> [ Instantiate Entities ] ──> [ Render Tilesets ]

Read and Deserialize: Load the .json level string and translate it into standard runtime objects using your language’s preferred data parser (e.g., standard libraries or tools like Newtonsoft.Json).

Parse Layers In Order: Read layers sequentially from background to foreground.

Instantiate Game Entities: Loop through the entities array. Read each entity’s identifier string name (e.g., “Player”, “Coin”), retrieve its X/Y vectors, and dynamically spawn corresponding game objects into your scene.

Render the Tile Grid: Extract the 2D grid array from your tile layer. Read the IDs assigned to each tile index, use them to calculate texture map offsets on your source sheet, and batch-render them via a camera system. 🎮 Integration with Popular Engines & Frameworks

1. Custom & Code-First Frameworks (MonoGame, Raylib, Love2D)

Because code-first frameworks don’t ship with native spatial layout tools, Ogmo shines brightest here.

MonoGame / FNA: Map fields directly to strongly typed C# structs (Vector2, Rectangle). You loop over your layer arrays inside your framework LoadContent() loop and execute standard sprite batches.

Raylib (C/C++): Use lightweight data parsers like json-c or nlohmann/json. Match Ogmo’s pixel array data against standard image loading structs to feed values into positional drawing arguments like DrawTextureRec(). 2. HaxeFlixel

Ogmo historically shares a strong relationship with the Haxe community. Ogmo Editor 3 – Manual