Thursday, December 15, 2011

Level Editor Project

Here's a WIP screenie of my new level editor project. I'm making it because my other preferred editor, Ogmo, has been missing some features that I'd like to have.

It's a fully UI editor--You create and configure your entire project within the application. One thing I disliked about Ogmo was having to write out project XML's. It was nasty...!

I also tried to remove a lot of the redundancies and complexities of Ogmo. Some of the properties just felt pointless, and having to sort through a manual and tutorial repeatedly to find the info you want felt.. Well, unintuitive. That's why I'm placing such a heavy focus on getting it all done within the UI.

I disliked Ogmo's limited layering system, so instead my editor uses numeric z-ordering. I find this a lot more intuitive because in Ogmo I'd sometimes run out of layers to layer on my background tiles. The only way to get around this was to add in a whole new layer in the project file. A whole new layer just for maybe one or two tiles? Aaaaahhh... My level loading code got pretty nasty because of stuff like that. I also added rotation, scaling, and indefinite grid-snapping. This lets you use this editor easily as either tile-based or otherwise.

And finally there will be a "map" or "universe" editor. It's for designing the position of each level in relation to each other so that you can build your world-map visually. This is a feature I'm very excited for, because in my experience connecting levels has always been a painful and relatively blind process.

So, this post is running pretty long, but all in all this is my desired level editor. I'm very glad that I've made this and it's been very rewarding so far. Don't be fooled though, there's still much more work to do. When I'm "done" I'll release it (since it's a generalized tool) for anybody to use. Along with it I will also include the source code. Behold, my terribly kludgy Objective-C code! Har har.

See 'ya!

Also: If you want to follow the editor's progress follow me on Twitter @BlueSweatshirt(link in sidebar) or keep an eye on #OperationLevelEditor.


  1. This is awesome! The universe view is a good idea. But how will be the data stored? I mean, which format?

  2. I am probably going to go with XML. The file bloat can *kinda* suck, but it makes it very easy to load in a level you made into your game project, so that's why I chose it.