The general features needed from any level editor are:
- Load levels (.yaml files)
- Easily map to a 2D grid
- Custom object placement outside the grid system
- Tile types: spawnable, walkable, obstacle, etc
- Deal with incorrect / garbage / malicious data (mostly incorrect)
With that in mind, here are some suggestions for tools that we are mulling over:
Tiled #
Pros: Open-source, customizable, GUI
Cons: No 3D, needs multiple converter scripts to be written to work for our needs
GtkRadiant #
Pros: Open-source, 3D, used for some popular games
Cons: Toolchain is probably way outside our scope
In-game level editor #
There are some interesting things we can do if we roll our own editor. Foremost, we can ship the game with a built-in level editor. This would also allow for the fastest iteration of level design and testing.
Features specifically for an in-game editor:
- Save a level (as a .yaml file)
- In-game editing of everything
- Model placement, and object types (obstacle, special, etc)
- Spawn, walk, obstacle tiles
- Map size, name
- A GUI to display this all nicely
Pros: Does exactly what we want it to do with no unneeded features
Cons: We have to make it
What to choose? #
We will be exploring all available options and coming to a decision in the next couple weeks. Everyone agrees that an in-game editor would be amazing, but it may well involve the most amount of work and time. Stay tuned!
🎉
Thanks for reading. If you want to chat about this article, hit me up on Twitter.