Thursday, May 29, 2008

Side Scrolling Game Tools

Construct a suite of applications that provides the means to easily create fun side scrolling games. The point of this project should not be to create a side scrolling game, but to enable other people to be able to build them. I have seen various level editors for side scrollers, but they are always very limited and very tailored to the game they were built for.

The biggest part of this is the level editor. Way beyond a grid editor the level editor will provide an experience similar to many iLife applications. Simple, easy to use and helps you rapidly create whatever you want without bogging you down with details.

  • Level wizard: Rather then starting with a blank level a wizard should help you out by generating a world for you from a set of presets. On the ground, underground, in the sky, in water, short, long, easy, hard a good set of defaults should get you started.

  • Drop play: When building a level you want to try it out to see how it works. You should be able to just right click and drop in the player right there in the level and start playing, hitting a key to exit at any time. The level should be running the engine and there should be absolutely no lag between modifying a level and being able to try it out. Most level editors out there I saw seem to require you to compile the level, start the game, goto the level and play all the way through it just to see how it plays. That feedback loop is horrible! The faster the loop is the more that designers will try out new things and the faster they can tweak the level to make it more fun.

  • play paths: The game should record every time that a user plays a level. The level editor should then be able to play these games back and load the path of the character in the level editor to be able to quickly spot problems such as places where people never go, guns, ammo and bonuses that are missed and more. The level play of users can be obtained by them submitting them for high score. Play paths of users (not the designer who played it 50 times) is very important. With user reports you can even find the level that half of your players can't get past and stop playing the game because.

  • Molding: Rather then having to place each and every square on the grid you should be able to grab objects and resize them. If the pipe sticking out of your mario level isn't tall enough just select it and pull it to make it taller. The editor should automatically figure out what to do. But it doesn't just have to work on a rectangle. Another mode would let you grab any surface such as the ground and let you pull up on it to create a little hill. The editor would automatically move up the ground and on either side add diagonal parts. Having a fluid way for level designers to easily create levels should allow designers to make richer and less rectangular levels in less time then the old way of placing each tile.

  • More then tiles: Going with the idea of molding there should be an easy way to paint titles. Rather then having to place each tile for a pipe on the level there should be pre-constructed objects made up of tiles that can be dropped on the level. For the set of tiles that make up a ledge it would ideal if you could just select the set and start drawing in the level and the editor would automatically use the correct tiles from the set for the different sections. Pretty much the editor should facilitate getting ideas down as quickly and easily as possible. Want to move a big chunk of the world higher up? Want to add a ledge, pipe or hill? The editor should provide the means to easily and quickly do the most common operations.

  • Tile sets and themes: You would think that this would be a fundamental feature of level editors and engines, but it seems like a lot of primitive ones don't have it. Changing themes should be as simple as clicking a drop down editor to switch your level from the day tile set to the night set.

  • Misc: The editor of course should let you zoom in/out on the fly, let you script objects, have multiple layers, spawn and respawn points, exits, let you place bad guys, ammo, guns and any object in the game.

  • Warnings: Have a tool that can run through the level and detect many simple errors such as edges that can't be reached, to many enemies with to little ammo and many other things. An AI could play through the level and find hotspots that might be unfun for players such as jumps that are missed too often.

Various other tools that would be built include:
- Story editor, make it _very_ easy for users to add story to their game such as cut scenes between levels.
- Tile theme editor.
- Animation editor.
- Character generator: similar to the mii generator let users easily create something unique and not part of the stock set of characters included.
- world editor: similar to mario 3 and many other games, the place that connects all of the levels.
- export: simple one click to create packages that can be distributed to your friends or online.

More then a tile editor these tools should all attempt to provide a means to easily create a fun side scrolling game and provide feedback when a game is not fun. Given such a tool it should let you rapidly create side scrolling game with a very small team. With production costs so cheap the games could be sold for very cheap or even given away to promote things like new movies.

A Mario style level generator using markov chain