Most of our games have level editors to help us create the new levels and maps. These are very rough and ready tools, there is little point spending much time on level editors as they are only used by the two of us. For example our Pinball Flash Games are created using a very unwieldy user interface, with lots of buttons, text fields, pull downs, and actual computer code.
However we realise that out of the thousands of visitors to Matica.com who play are games, there will be many who could create better levels than either of us could. We wanted to make it possible for our visitors to make their own levels for this game.
We planned to launch with some home grown levels created by ourselves, and have a separate game where users could create their own levels. The best of these levels (perhaps voted for by other visitors to Matica.com) we would include in the next version of the game. This meant that the level editor had to be a little more polished than our usual ones, so our visitors could use it.
Since we started the game over a year earlier, and had invested hundreds of hours work into the game we were eager to launch something as soon as possible. The level editor would have to be quite basic, and after all it was targeted at visitors who were more technically savvy than a casual gamer.
The first thing we did was to build up a set of objects the user could use to make obstacles and scenery. We could provide a button for each object and allow the user to drag each object into place for their level.
They would need to be able to delete these objects, rotate them, and reposition them. For this we used a little widget that stuck to an object when the user clicked on it with their mouse. They could drag the widget to drag the object and we added buttons to the widget to let them rotate and delete the object.
You can see the buttons to rotate clockwise, rotate anti clockwise, and delete on the widget pictured. There are 2 other buttons, these are layer buttons to bring the object towards the front or push it back. There is a tree which should be in front.
Clicking the back icon sends the object back behind the tree object. With this basic tool you could build up pretty much any level you could imagine. The widget however needed an extra icon for the obstacles/air gates like the hoops and pylons.
Obstacles/Air Gates can specify how the plane must pass through them. There may be no restriction, meaning the plane can fly through in any orientation. Or it may restrict to ether Knife or Level flight. Meaning the plane must be either level or on it's side as it passes through.
We enabled the user to set this by adding an icon to the widget to toggle how the user wished the plane to fly through the obstacle.
We added a panel for users to add the objects, a panel to select the background (dark, sunset, blue sky), and a DPad (arrows) for the user to scroll around their level. At this point we were pretty much finished, the user could do everything apart from load and save their levels.
How were we to load and save these levels? In the past we had only produced Game Editors for ourselves and these produced computer programming code that we inserted into our games. This was no good for a typical game player. We could have somehow turned the data into XML or some other data file. Players could email the files as attachments, but files are not easy to share on web sites unless you own the web site and can upload to it.
We decided to encode the data as text. This text could be posted onto a blog, put in an email, posted into a forum, or even shared on Facebook as a wall post. We could think of so many ways to share the levels when it was in a simple text format.
So to save and load we would only need a text box. To prove it in the text area is a very simple night level converted into text that you can copy and paste into the game.
This next video clip shows the Matica Air Race Construction Kit in action. In it I make and test a basic level with some scenery and Air Gates.
The tool worked so well that we used it to make all of the levels we launched with. We gave it to a few friends to play with and they found it relatively easy to work with.
The game was already almost 2 years late so we didn't want to waste any more time adding too many whistles and bells to the level editor tool. There were a few final tasks to do until we could publish the game.
In the next part we outline the finishing touches, and show the demo reel video of the game at launch.