Jaconir

Procedural Level Generator

Generate seeded dungeon and platformer maps in the browser, then export them as Tiled TMX with a tileset PNG, a Godot 4 .tscn scene, Phaser JSON, or a Unity-ready package with a C# importer. Every layout is driven by a seed, so a level URL reproduces the same map for anyone you send it to, and every generated level is checked for a walkable path from spawn to exit, and reports whether it found one.

The editor needs a mouse and a larger screen. Read the export and importer documentation for the Unity, Godot, and Phaser pipelines.

Architect's Guide

The New Standard for Procedural Level Generation

Building a modern Metroidvania or 2D platformer requires more than just random noise—it demands architectural logic. The Jaconir Architect Suite is a high-performance procedural level generator designed for game developers who need structured, playable, and engine-ready biomes in seconds.

2D Dungeon Generator: Graph Theory Logic

Our procedural dungeon generator utilizes a specialized graph-based assembly system. Unlike simple grid-mashing tools, our engine calculates critical paths, loops, and dead-ends first, ensuring every level has a guaranteed Golden Path from spawn to exit. Every door is linked to its corresponding key hidden in high-complexity zones, making it the perfect level design tool for Metroidvanias.

Technical Spotlight

"The synthesis engine evaluates the connectivity matrix in real-time, ensuring that hostile entity placement never breaks the player's progression flow."

Linear Assembly: 2D Platformer Level Generator

In 'Linear Assembly' mode, the suite transforms into a dedicated platformer level generator. It crafts horizontal progressions with vertical branch points, designed specifically for side-scrolling action. Developers can define tile density, hazard frequency, and enemy population directly via the configuration panel.

Multi-Engine Support

Tiled .tmx for Unity (SuperTiled2Unity) and Godot, native Godot .tscn, Phaser JSON, plus C# / GDScript importers.

Seed Persistence

Lock in your favorite seeds for team collaboration. Share any level with a single seed-enabled URL.

Technical FAQ

How do I use the seeds for level sharing?

Simply generate a level and the URL in your browser will automatically update. Copy and paste this URL to share your specific level layout with other developers or designers.

Is it free for commercial projects?

Yes. All biomes generated through the Jaconir Architect Suite are 100% free for use in both personal and commercial game development projects. No attribution is required, though we appreciate a link back if you love the tool!

Can I import this into Unity or Godot?

Yes. Export a Tiled .tmx + tileset PNG for SuperTiled2Unity (Unity) or Godot’s Tiled plugin. You can also download a Godot 4 .tscn, Phaser JSON, or a Unity/Godot JSON plus the matching C# / GDScript importer from Export.

What is the difference between Graph and Linear modes?

Graph mode focus on branched, maze-like structures ideal for top-down or Metroidvania dungeons. Linear mode focuses on horizontal progression, better suited for side-scrollers and action-platformers.

Synthesis Data

AlgorithmsL-System, D-Graph, LCG
Max Resolution200x150 Nodes
Latency~12.4ms @ 60FPS

How to generate a level you can actually use

Six steps. Judge the shape from the golden path before you judge the tiles.

  1. Pick the generator that matches your game

    Platformer builds a left-to-right run made of sections; dungeon builds a connected set of rooms. They are different algorithms rather than two presets of one, so the choice changes what the sliders mean: sections and hazard density shape a platformer run, while room count and connectivity shape a dungeon floor.

  2. Set the shape before the decoration

    Section count, hazard density and enemy density decide whether the level is a gentle traversal or a meat grinder. Theme — neon, frozen, cave, classic, inferno or monochrome — changes only the palette the canvas draws with, not the layout, so leave it until the structure reads correctly.

  3. Generate, then read the golden path

    Every generation runs a pathfinding pass from spawn to exit and draws the resulting route over the map. That line is the level: if it wanders, the layout is loose; if it is short and straight, the level is thinner than the section count suggests. Toggle the path overlay on and judge the shape before you judge the tiles.

  4. Check traversability and the difficulty rating honestly

    Alongside the path, a simulated player pass walks the level under the same physics assumptions and reports whether it reached the exit, plus a difficulty score and a pacing label — Tight, Flowing or Relaxed. A level that reports as not traversable is still shown rather than silently discarded, because a broken layout is often nearly right and worth editing rather than rerolling.

  5. Reroll with the seed, not the settings

    Layouts come from a seeded generator, and the seed goes into the URL. That means a level you like is a link: send it and the recipient gets the same map, byte for byte. Change the seed to explore, change the settings to steer, and record the seed of anything you might want back.

  6. Export for the engine you actually use

    Tiled TMX with a generated tileset PNG is the most portable route and imports into Unity through SuperTiled2Unity, Godot, and most 2D engines. There are also direct exports: a Godot 4 .tscn scene, Phaser JSON, and a Unity package with a C# importer script. The raw level JSON is there if you are writing your own loader.

How the two generators work

Two different algorithms rather than two presets, and neither is the one most people assume.

The platformer generator builds sections, not noiseintro · ramp · challenge · finale · boss arena
A run is assembled from typed sections in a deliberate order: an intro that teaches, ramps that escalate, challenge sections that test, a finale, and optionally a boss arena. Each section carries its own difficulty, reward budget and enemy budget, so the density you set is distributed across a curve rather than sprinkled uniformly. That is why a generated run has pacing at all — uniform random placement produces levels that feel flat no matter how many hazards you add.
The dungeon generator places typed rooms and connects themstart · combat · treasure · traversal · secret · exit
A dungeon is a graph of rooms with roles, carved into a solid grid and joined by corridors, with room interiors filled from a library of biome chunks. Because rooms are typed before they are placed, the floor has a structure you can reason about — a treasure room off a traversal corridor, a secret behind a combat room — rather than a maze that happens to contain loot.
What it is not: BSP or cellular automata
Two classic techniques come up constantly in searches for this, and neither is what runs here. Binary space partitioning recursively splits a rectangle and puts a room in each leaf, which gives tidy, grid-aligned dungeons with even room distribution. Cellular automata start from random noise and smooth it over several passes, which gives organic cave systems with irregular walls. Both are excellent and neither produces typed rooms or a paced section curve, which is what this generator is built around. If you specifically want cave-like organic walls, cellular automata is the right tool and this is not it.
Seeded, so results are reproducible
Every random decision comes from a seeded generator rather than Math.random, which is what makes a level URL reproducible. It also means a bug in a generated layout is reportable: the seed plus the settings is a complete description of the map, so the same broken level can be regenerated exactly.

Getting the level into your engine

Four export routes, and an honest note on what generated output is good for.

Tiled TMX and a tileset PNG
The most portable option. You get a .tmx map plus a generated tileset image, which Tiled opens directly and most 2D engines can ingest. For Unity this is the SuperTiled2Unity route; for Godot, Tiled import plugins read it; for custom engines, TMX is a documented XML format that is straightforward to parse.
Godot 4 scene
A .tscn scene file you can drop into the project and open as a node tree, plus a GDScript importer for the raw JSON if you would rather build the TileMap at runtime than commit a generated scene. Committing generated scenes is fine for fixed levels; the runtime route is better when you want the generator itself in the shipped game.
Unity and Phaser
Unity exports level JSON alongside a C# importer script that reconstructs the tilemap and places entities, so you are not writing the deserialisation. Phaser exports the JSON shape its tilemap loader expects. Both give you entity positions as data rather than baked geometry, so your own prefabs and sprites stay in charge of what things look like.
It is a starting point, not a shipped level
Generated layouts are strongest as a first pass: they fill the blank page, give you a paced structure and a validated route, and let you iterate on shape quickly. Nearly every shipped 2D game that uses procedural generation either hand-edits the output or constrains the generator heavily. Treat the export as a draft you refine in Tiled or your editor, not as final art.

Frequently asked questions

What does a 2D platformer level design generator actually give me?

A complete, paced level layout: solid tiles, floating platforms, hazards, enemy and reward placements, a spawn and an exit, plus a pathfinding route from one to the other. It is generated from your section count and density settings rather than from noise, so the result has an intro, escalation and a finale instead of a uniform field of obstacles. You export it as Tiled TMX, a Godot 4 scene, Phaser JSON, or Unity JSON with a C# importer.

Does it use BSP or cellular automata?

Neither. The platformer generator assembles typed sections — intro, ramp, challenge, finale, boss arena — each with its own difficulty and budget. The dungeon generator places typed rooms (start, combat, treasure, traversal, secret, exit) and connects them, filling interiors from a biome chunk library. BSP gives you evenly distributed rectangular rooms; cellular automata gives you organic caves. If either of those is specifically what you need, this tool is the wrong one and you should implement them directly — they are both short algorithms.

Is every generated level completable?

Not guaranteed, and the tool tells you rather than hiding it. Each generation runs a pathfinding pass from spawn to exit and a simulated player pass under the level's physics assumptions, then reports whether the exit was reached along with a difficulty score and a pacing label. A level that fails is still displayed instead of being silently rerolled, because a layout that is nearly right is usually worth editing — and a generator that quietly discards failures hides how often it produces them.

How do seeds work, and can I share a level?

Every random decision comes from a seeded generator, and the seed is written into the URL. Send someone the link and they get the identical map. Change the seed to explore alternatives, change the settings to steer the kind of level you get. If you find a layout you like, save the URL — regenerating without the seed will not reproduce it.

Which engines can import the output?

Tiled TMX with a tileset PNG is the portable route and covers Unity via SuperTiled2Unity, Godot via its Tiled importers, and any engine that reads TMX. There are also direct exports: a Godot 4 .tscn scene, Phaser tilemap JSON, and Unity level JSON with a C# importer script. Raw JSON is available if you are writing your own loader.

Can I use generated levels in a commercial game?

Yes. Under our terms, any output you generate with the tools is your own property and you grant us no rights over it — no attribution, no licence to track. The tileset PNG is generated from the theme palette rather than from any third-party art, so there is no asset licensing to untangle either.

Why does the editor need a desktop?

The level canvas is built for a mouse and a large viewport: you are inspecting a wide tile grid, dragging a viewport around it, and reading a path overlay against small tiles. That does not survive a phone screen usefully, so the page says so rather than shipping a cramped version. The documentation and this page read fine on mobile; the editor itself expects a laptop.

Should I ship generated levels as-is?

Usually not. Generation is best at filling the blank page and giving you a paced structure to react to — most shipped 2D games either hand-edit generated output or constrain the generator tightly around authored rules. Export to Tiled, adjust the parts that matter, and keep the seed so you can regenerate the base if you need to start over.

Where this fits in the pipeline