So in my free time I’ve been slowly working on an editor for complete parametric level design. Its very loosely based off of the original Dooms level structure but is no longer focused on BSP methods. Originally I was inspired to do this when I was doing some chatCPT experiments with converting shadertoy stuff and ran across a example of doom done in a single pass shader which I thought was the bees knees. So after wrapping that up I dove into a playground and made a quick and dirty prototype of the methods and classes that I would need to make a level with the same aesthetic features.
Everything is non-destructive due to the command system and everything being parametric. This could technically fall into one of my Assetless Retro Projects, but is mainly serving as an example of for myself of how I can make editors for nearly any projects following these same guidelines for commands.
List of done features:
- Level Structure
---- Features (Wall, Gap, Upper, Lower, None)
- Texture Generators
- Command System for Undo/Redo of all modulations
- Command Notification Popups
- Editor Elements, Input, Panels, Widgets etc
- Reactive Data Links
- Entity System for Enemies and other level elements (though not exposed in the editor yet)
- State based Tool System
and a few more things but yeah its a lot to mention it all.
Finishing the Feature Panel and Sector Panels
Re-Enable floors and ceilings
Ill be posting more updates to this over time and fixing bugs as I go, but its at least to a “Complete” enough level now to demonstrate a lot of the functionally.
Here is the shadertoy inspiration:
Here is the original prototype playground:
Here is the Editor Alpha Link:
If you want to select a feature you can double click on the feature till you get to its access panel, you have to navigate through room and sector though as well to get there.
Double click on nothing to deselect the current object.
Ctrl-Z Undo, Ctrl-Y redo
When using the transform tool you have to select one of the point anchors in order to see the widget.
More updates to come for this over time.
Please forgive any graphic/styling errors this is really raw and early. For example the arrow on the dropdowns seems to not display on all clients