The original OctorSpace had a mere four enemies with a few bosses. For the deluxe version there are 20 more enemies, 10 large and 10 small. When it was time to add them into the game I realized that my levels are made up of strict code. There’s no way for me to see a visual representation of levels. So I made a level editor for OctorSpace.
This is my fifth level editor for various games and this one feels the most complete, finished and polished. It is so polished that it will be part of the game. I took what I learned from making previous editors and put it into this one. Then as I make real levels for the game I add to the editor. Useful features like deselect multiple items rather than only selecting multiple items.
After hating a lot of editors I tried to make this as streamlined and easy as possible. Users can easily select and plop down objects like enemies, items and player spawns. Then select them one at a time or click and drag to select them. Right mouse will deselect all or select all instantly. The mouse wheel and shift key will change all selected objects.
Since this is a space shooter, there are waves, so you can assign the start and end to waves. So everything needs to be gone off screen before the next wave proceeds. With these wave lines you can also assign music and exit to specific levels. When you can exit to different levels you can make campaigns rather than playing one level at a time. Users can also create campaigns which can be played when you start up the game without having to visit the editor.
Having to test the levels over-and-over again, I realized it was time to make a player spawn. With the spawn points you can start at the furthest spawn point. The reason why its the furthest spawn point is because with longer levels, I found that it was easier to add spawn points than it was to go back and remove a spawn point to make a new spawn point. You still have a quick choice to play the full level, but playing sections makes production move much faster. The spawn points will also let you spawn as specific vessels.
With all the production videos, I added display keys and a mouse display to indicate what buttons are being pressed. This way my videos need less explanation when you can see the control key and right mouse button are being used. It demonstrates just how easy it is to use the editor without having to explain it in each and every video.
The editor can be used with a keyboard and mouse, but more impressive you can use a controller for everything. Sure the keyboard and mouse are superior, but I want that full controller compatibility. I still need to add some sort of on screen keyboard for naming levels, but it will get there. One of the big issues with using a controller is precision versus speedy movement. If you need to move across a screen versus needing pixel perfect. To achieve this I simply let users hold in the left analog stick for speedy movement. It was just that simple.
To close this article, here is a laundry list of features for the editor:
- new level
- new campaign (to play a set of levels in the default play game as if it was part of the game)
- load, save, save as
- selection tool to allow for new selections, current selected- + selection, unselecting multiple
- deselect everything, select everything
- click + drag selected
- click + clone selected
- cut copy paste (even between levels)
- infinite undo and redo
- set level to end and go to a specific level
- set music to play at a specific point
- make an enemy have a random X origin
- assign power-ups to enemies.
- stop enemy waves and the game resumes once everything has been destroyed
- set any object (enemies, items, player spawns)
- play from the start of the level
- play from the furthest player spawn so you don’t have to replay over and over
- zoom in / out, pan + quick pan
- grid, no grid, snap, no snap
- menus that can be dragged and collapsed