The work on the editor has gone through multiple phases. When I first started, I focused solely on the physics. I developed a simple editor where I could populate the sandbox with boxes, spheres, capsules, both static and dynamic. It allowed me to quickly test out different types of scenarios using primitive shapes.
Then, before Christmas, I switched my focus to supporting properly textured objects, and I added a basic object editor. I could load textures, and then assign collision shapes to the object, and then add the objects to the level.
These past couple weeks, I’ve been working on a tile editor. It’s not like an old-school tile editor, where the tile positions are fixed along grids and all the tiles are the same dimensions. I’ve modeled my editor on the Braid editor and the Aquaria editor, pretty much the gold standard for 2D editors as far as I’m concerned. Their editors are completely flexible on the size of the tiles (textures), their placement and orientation, and they leverage OpenGL to allow such flexibility.
My editor isn’t anywhere near as complete as those two, but I’ve got all the core features supported. I can place, delete, clone, resize, scale and rotate tiles in every which way. I’ve got support for layers, depth, transparency, etc.
I would be remiss if I didn’t also point out this excellent editor tutorial by Javier López that I came across last week. The tutorial is extensive and is based on the author’s own 2D library. In it, he aims to replicate the Aquaria editor and does a great job of documenting his work. It helped confirm some of my ideas and spur new ones (such as supporting cameras on a per-layer level). Check out his great video too:
Of course, I am still not finished. I need to re-enable the physics editor support (which was disabled when I started the new version of the editor). At some point, I will also need a particle editor for various visual effects. On the physics side, I have yet to leverage the full power of Box2D, and I plan on adding support for constraints, chains and key framed objects (think automated platforms and elevators).
I am very happy at where my work stands right now, and I am excited to add new features and continue expanding on my framework. Working on the editor has improved my codebase, and proven my use of the component system. It’s given me new ideas for improvements — I plan on adding multiple camera support very soon. There were several challenges along the way, which forced me to backtrack on some decisions several times, but I’ve learned many new things, and it’s allowed me to produce a cleaner solution in the end.
After a somewhat frustrating start to the New Year, it feels good to be firing on all pistons and making solid progress again.
Work Done Last Week
I had a very good week in terms of production. Progress on the editor was swift, and I’m happy about where I currently stand regarding Milestone 3.
The design work didn’t get too much attention. I mostly reviewed what I had and did some brainstorming.
I also spent some of my time navigating the treacherous waters of German bureaucracy. Actually, this has been going on for a few weeks as I’ve been trying to sort the proper (and cheapest) way to form a company in Germany, and being a non-native speaker has presented some challenges. It’s been frustrating, but I’m slowly getting there thanks to the help of a good friend, Sascha. I’ll probably put together a post on this subject when I am through this process.
Work Planned This Week
My primary focus is now moving back to the design and gameplay where it will remain for the rest of the month and milestone. I will continue to progress the tools bit by bit, but this will command no more than 25% of my time.
Administrative issues will also be present, but whatever is spent there will be made up with longer hours. I will make sure I continue to move forward at a good pace, no matter what distractions surface.
Related posts:





March 23rd, 2009 at 3:37 pm
Thank you for crediting me and for the backlink
If you have any troubles making your editor, don’t hesitate to ask for help. If it is in my hand, I’ll be really happy of helping you!
March 24th, 2009 at 9:14 pm
No problem, I really enjoyed your tutorial. Looking forward to some more tutorials like that.