As I’ve mentioned before, SL’s level editor is not a specialized tool; it’s [OmniGraffle]( Rather than implement every feature ourselves, we’re taking advantage of software that’s had years to develop those features. We just build the level as a graffle file, then a special Python script translates that into our level format.


I think truly great software doesn’t just *do something cool*. It does something cool *that the creators never even imagined*. It doesn’t just do something, it offers to do *anything*. This isn’t achieved by adding more and more specialized features for various popular tasks. It’s achieved by:

– Having a scope that’s narrow enough to give you direction, but wide enough to include the unexpected. (OmniGraffle deals with graphics in a structured way; its focus is neither narrower nor broader than that.)

– Including only the features which make sense for most situations *within your scope*, so that you can do *your* thing well. (OmniGraffle has lots and lots of generic structured-graphics features, but nothing that’s useful *only* for some specific case or another.)

– Being accessible to other software *outside of your scope*, so you can benefit from that software doing *its* thing well. (OmniGraffle’s file format is a NeXTSTEP Property List, which can be read into a Python data structure in one line of code. From there I can do anything I want with it; I’m pretty much unstoppable.)

It took less than 100 lines of code to get a level editor with drag-and-drop placement of objects, multiple layers, alignment guides, and hundreds of other handy features. That’s the value of great software.

3 thoughts on “Bellissima

  1. Rocket

    That is possibly the coolest thing I’ve heard all week.

    I don’t suppose you plan on releasing the engine and level editor at some point in the future?

  2. fetjuel Post author

    Well, the source is enough of a mess that I don’t know that it would be of any use to anyone. It remains to be seen whether we’ll release it.

Comments are closed.