Hello all,
I think the leveleditor needs some improving.
The workflow
The workflow should exist of about three steps.
Placing the initial blocks -> configuring blocks (moving, teleport, notification) -> testing/saving.
To do this there will be two modes, one for editing and one for testing/playing.
I though of a toolbar at the bottom of the screen, which will only be visible when editing.
There will be a few tools in the toolbar: Select, Add block, Erase, Configure block, play/test.
Select:
When this tool is selected you can click on blocks and they will be selected.
You can drag them around and they'll be snapped to the grid, unless you hold shift.
When a block is selected you can delete it by pressing Delete.
It will also be possible to select, move and delete pathpoints using the select tool.
Add block:
In this mode you'll see the current selected type of block half transparent under your cursor.
As you move it will be snapped to the grid, unless you hold shift.
To change the block you'll have to hold Ctrl + scroll, or you press shortcuts (m=moving block, b=normal block)? (<-- not sure about that)
When clicking on a block while using the add block mode you'll select that block.
Just like the select tool the block can be deleted using the Delete key.
Erase:
This tool is just click=delete, no selecting just deletion.
Configure block:
This tool should be able to configure special blocks like moving blocks, notification blocks, teleports, etc...
When clicking on a moving block a dotted line will go from the block to your cursor.
Under your cursor there should be a circle or something reassembling a pathpoint.
By default it will be snapped to grid, unless you hold shift.
The time it takes to reach the pathpoint is determined by a default speed/time per block distance.
It can be changed by using the configure block tool on the pathpoint.
Play/test:
This button will let the player play/test his level.
I'm not sure but I think the pathpoints should be hidden when playing.
And perhaps there can be a few debug options like immortality, invoke swap and save/load state?
To stop playing/testing the Escape key can be used.
Feedback is welcome!