| Submitted by , posted on 02 July 2003 |

Image Description, by Recent trends has gone more and more towards end users wanting to customize their games. Some while ago I came up with some ideas on how this could be achieved. The goal was to make both novice and expert users able to modify the game. I needed a target game to try out my ideas on so I pulled out a Breakout clone that I wrote a few years ago. My main idea focused around using a virtual machine that was called upon when certain events happened in the game. The virtual machine code was also to be able to call native code in the game core engine. This was for the expert users. For the novice users there are premade templates for things that can be used instead.
The middle image above shows the final level editor of the game. A brick on the playfield is selected and the OnUpdate code is being edited. This code is called each frame update. Each brick has three callbacks: OnInit, OnUpdate and OnHit. The VM-code shown uses the game core function SetImage, which changes the current image of a brick. Images are defined in the "Subtype images" tab in the shown dialog. The game core has 18 functions callable from the virtual machine such as moving the brick, adding score, playing sound etc. The user also has the ability to define own graphics and sounds to use.
The VM-code is written in assembler due to the fact that I never wrote any higher level laguage compiler for my virtual machine.
The results of my trials became a whole new version of my Breakout clone, now called Break GOLD. This version is somewhat different than other clones in that each level is unique in its gameplay. The images shown in the background are four examples of different levels that can be made though the level editor. In the top left level you have to collect keys in order to be allowed access through doors. In the top right image the bricks cycle its colors when hit. The goal is to make the three bricks have the same color. In the bottom left image you have to hit two of equal kind to remove them. In the bottom right image time is limiting your gameplay. Bricks are removed every second and you need to hurry to make good score.
Since the level editor is released with the game, the user has the same ability to make new and innovative levels as I did when creating the levels released with the game.
More information, downloads and screenshots can be found at:
http://www.lysator.liu.se/~kand/breakgold

[prev] | Image of the Day Gallery www.flipcode.com | [next]

Copyright 1999-2008 (C) FLIPCODE.COM and/or the original content author(s). All rights reserved.
Please read our Terms, Conditions, and Privacy information.