Old School

I have decided to make an old school game, in Macromedia Flash. The game is similar to Ant Attack but much more artistic and with a much more interesting plot and many more capabilities.

To start with, there is a 2D map. This map holds abstract information about the world. This map is loaded into the engine, and a visual representation is made. Characters and AI is populated and the engine starts enacting the game. So far so simple.

The Map

The map is at first a 2D array containing tiles. An object of type tile has the following:

  • a stack of blocks
  • an item
  • a character

Usually it’s easy to represent these. This is version 1, which is very simple and there are no complexities for now. Now, when the map is loaded into the engine, the engine parses it and builds up an abstract model of it. Then it represents it in a view. There is a controller software component inside the engine that captures input from the user and other system commands. The engine creates a character for you and places it in the model. The controller operates on the model, while the model operates on the view.

The controller captures input for the following: rotate left, rotate right, forward, back, jump, fire. Whenever this occurs, the controller tells the model to update the caracter and so the model does. After that, the view rerenders.

There is a reason for this design, and a character is not a movieclip which is directly controlled on it’s own, and the caracter does not communicate with something to find out how it should interact with the world, but rather the character in the model figures that out. The view is the view, and how it works is it’s own concern. It might be easier to simplify things, but at this point, I don’t really care.

All in all, what is important is that. 


Comments »

The URI to TrackBack this entry is: http://premis.blogsome.com/2006/09/07/old-school/trackback/

No comments yet.

RSS feed for comments on this post.

Leave a comment

Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>



Anti-spam measure: please retype the above text into the box provided.