Level editor from CMU

The only way I see it as viable would be to develop an editor hand-in-hand with basic gameplay classes, since a game’s editor and the “things” it manipulates are tied so closely together. For example create a controllable character class, a collectible item class, and so on. These classes could act as a base for people to modify to suit their own needs, or to add their own game-specific classes.

Saving out Python scripts from a level editor is not the best idea, but if it saved plain text or some other generic format (XML, YAML, etc.) it would be quite easy to use that data in either a level-load or stream-loading context.

If a functional framework of an editor was created this could allow it to be expanded to work with multiple game types. It’s pretty much like what you suggest but plus a working example of how to use it.

Of course I am only considering the object placement side of the task. Most games consist of a static “world”, and on top of that the “stuff” placed therein. Some games combine these two things into one editor, and some have separate editors for each task.