Install Asset
Install via Godot
To maintain one source of truth, Godot Asset Library is just a mirror of the old asset library so you can download directly on Godot via the integrated asset library browser
Quick Information
`Edgar.Godot` is a GDScript toolkit that integrates the [Edgar-DotNet](https://github.com/OndrejNepozitek/Edgar-DotNet) procedural level generation algorithm into Godot. It converts Tiled maps and custom room graph resources into Godot-ready data for runtime Rogue-like dungeon assembly, with a replaceable kernel supporting both C# and GDExtension implementations.Uses the C#/.NET types via [Edgar.Aot](https://github.com/RickyYCheng/Edgar.Aot); requires a .NET-enabled Godot build. For the native GDExtension version, see [Edgar.GDExtension](https://github.com/RickyYCheng/Edgar.GDExtension).
Edgar.Godot
[!CAUTION] WIP: This project is currently under active development. Features and implementations are subject to change.
Overview
Edgar.Godot is a GDScript toolkit that integrates the Edgar-DotNet procedural level generation algorithm into Godot. It converts Tiled maps and custom room graph resources into Godot-ready data for runtime Rogue-like dungeon assembly, with a replaceable kernel supporting both C# and GDExtension implementations.
Edgar.Godot consumes Tiled map files (*.tmx / *.tmj) and custom JSON graph resources (*.edgar-graph) that define room connectivity and metadata.
Dependencies
- YATI plugin (bundled with this repository)
[!NOTE] Uses the C#/.NET types via Edgar.Aot; requires a .NET-enabled Godot build.
For the native GDExtension version, see Edgar.GDExtension.
[!IMPORTANT]
The primary focus of development is on the GDScript and C# versions, with GDExtension updates potentially lagging behind the main development efforts.
Core Features
- 🗺️ Converts Tiled map files into Godot-compatible JSON resources, complete with metadata for procedural map generation using YATI.
- ⚙️ Custom
JSONroom graph format (*.edgar-graph) for defining room connectivity. - 🔄 Kernel Replaceability: Standardized interfaces that are compatible with both
C#scripts andGDExtensionversions. - Generates Godot-friendly
Dictionarylayouts utilizing the Kernel's API. - Includes a sample renderer for displaying generated maps on
TileMapLayer.
Development Roadmap
- Kernel Standardization: Unified interfaces for both C# and GDExtension implementations
- Renderer Improvements
- Pivot room selection
- Partially render (e.g. specific layers, rooms) of the generated layout
- Anchor system in pivot rooms for precise positioning
- Feature parity with Edgar-DotNet
- Template transformations
- Deterministic generation via seed management
- Publish on the Godot Asset Library / Store
- Ability to render 3d maps with 2d layouts
Meta Reference
There are some already in-used fields in the Tiled map's properties.
They are used to define the room's metadata for Edgar.
Firstly, since this project use YATI, please refer to YATI's reference.
After that, the specific fields for Edgar.Godot can be found in reference.
Quick Start
Please check the default scene.
`Edgar.Godot` is a GDScript toolkit that integrates the [Edgar-DotNet](https://github.com/OndrejNepozitek/Edgar-DotNet) procedural level generation algorithm into Godot. It converts Tiled maps and custom room graph resources into Godot-ready data for runtime Rogue-like dungeon assembly, with a replaceable kernel supporting both C# and GDExtension implementations.
Uses the C#/.NET types via [Edgar.Aot](https://github.com/RickyYCheng/Edgar.Aot); requires a .NET-enabled Godot build.
For the native GDExtension version, see [Edgar.GDExtension](https://github.com/RickyYCheng/Edgar.GDExtension).
Reviews
Quick Information
`Edgar.Godot` is a GDScript toolkit that integrates the [Edgar-DotNet](https://github.com/OndrejNepozitek/Edgar-DotNet) procedural level generation algorithm into Godot. It converts Tiled maps and custom room graph resources into Godot-ready data for runtime Rogue-like dungeon assembly, with a replaceable kernel supporting both C# and GDExtension implementations.Uses the C#/.NET types via [Edgar.Aot](https://github.com/RickyYCheng/Edgar.Aot); requires a .NET-enabled Godot build. For the native GDExtension version, see [Edgar.GDExtension](https://github.com/RickyYCheng/Edgar.GDExtension).