Level editor from CMU

I’ve always disliked the idea of engine-generic type-specific stand-alone level editors (like the one at hand). They constrain you to a particular data model so unless you are doing a very specific genre they are useless to you. If you have a very specific terrain format or a solution for terrain paging, or you can’t have scenes in monolithic files cause you stream them seamlessly, or if a part of your scene is generated procedurally, etc, etc… then the editor is useless to you.

What I would like to see instead of an editor is a series of facilities inside panda to ease the construction of an editor tailored to your needs. Like for example:

  • A 3D gizmo/manipulator thingie with arrows or w/e you call that for scaling/moving/rotating. Complete with mouse collision detection on the arrows, you’d just need to attach one to a node and start manipulating away.
  • A way to convert a node and all the nodes below it to JSON or XML or something standard and to recreate the tree from this data later. We’ll probably be able to use COLLADA for this anyway.
  • A way to attach information in the form key:value to nodes.
  • Classes to generate light maps and stuff like that.
  • Maybe some specific UI widgets to show the properties (key:value) of a node, only text, nothing fancy.

And a couple of things like these, plus the incoming rocket gui integration for the UI widgets if you don’t feel like embedding. Then you could easily roll out your own useful editor, maybe even inside your game like Doom 3 does.