Gamemaker – Bridging the gap between your game design document and the code blocks

Before starting to write any code in Gamemaker  it is good practice to consider all of your game’s objects, actions and events  from a purely functional point of view and describe them first using natural language.

By doing this you are breaking what can be a complex process into two simpler sets of activities.  You can also then test how well your code blocks match your list.  In this way you are carrying out basic software testing for your project, where problems are identified and resolved using a structured approach.

For example, say your game design involves a space ship flying through an asteroid field and the aim of this level is to navigate safely through the field, the ship can move in any direction and blast asteroids with its laser canon.

Space ship functionality list

  • Create using spaceship sprite
  • Speed
  • Random starting position at bottom of screen
  • Direction controlled by user keyboard arrows
  • Makes space ship flying sound
  • Change sprite according to arrow key
  • Collision with asteroid
  • Spaceship collision explosion
  • Fire laser
  • Destroy asteroid
  • Play asteroid explosion
  • Increase score for every asteroid hit
  • 3 lives
  • Count lives lost
  • Achieve level sound
  • Fail level sound

Having thought out all the actions and events associated with your spaceship object you can now create them in Gamemaker using the appropriate code blocks and variables.  Test your code, note any problems and revise the logic of your list or change the code block.


Sprites

Store images of the visual elements of a game.

Objects

Parts of the game that control how visual elements react to each other.

Events

Are important things that happen in the game i.e collisions or explosions.

Actions

Happen in response to events i.e. change direction; set score; play sound.

..//..

Game Design Document

March 15, 2010


Before creating your game it is a good idea to write a games design document. These can be quite large documents covering all aspects of the game, however, since you are developing a simplifed prototype a shortened version will do for this stage.

Your design document should include the following headings

Description

Game objects

Sounds

Controls

Game flow

Levels

Here is an example from a Game Maker tutorial

1945 design document

Description

In this game you control a plane flying over a sea. You encounter an increasing number of enemy planes that try to destroy you. You should avoid these or shoot them. The goal is to stay alive as long as you can and to destroy as many enemy planes as you can.

Game objects

The background is formed by a scrolling sea with some islands. The player’s plane flies over this sea. You can shoot bullets that destroy enemy planes. There are four types of enemy planes: a plane that you encounter and should be destroyed, a plane that fires bullets downwards, a plane that fires bullets towards the player’s plane, and a fast enemy plane that comes from behind rather than from the front.

Sounds

There are some explosion sounds and there is some background music. Controls The player controls the game with the arrow keys. With the space key you fire a bullet. Only one bullet can be fired every five steps.

Game flow

The player immediately jumps into the game. The player has three lives. When all lives are gone a high-score table is shown. Pressing the (help) key will give a brief explanation. Pressing the key will end the game.

Levels

There is just one level, but more and more enemy planes will arrive: first only the easy type but later the more difficult types.

Game Sprites

March 4, 2010


Defined by Wikipedia:-

Sprites were originally invented as a method of quickly compositing several images together in two-dimensional video games using special hardware. As computer performance improved, this optimization became unnecessary and the term evolved to refer specifically to the two dimensional images themselves that were integrated into a scene. That is, figures generated by either custom hardware or by software alone were all referred to as sprites. As three-dimensional graphics became more prevalent, the term was used to describe a technique whereby flat images are seamlessly integrated into complicated three-dimensional scenes.

A graphic image that can move within a larger graphic. Animation software that supports sprites enables the designer to develop independent animated images that can then be combined in a larger animation. Typically, each sprite has a set of rules that define how it moves and how it behaves if it bumps into another sprite or a static object.

Sprite Art

Useful tutorials from the Game Sprites wiki.  They use Graphics Gale  an excellent, free sprite editor. You can download the free version of Graphics Gale here.
Downloads and tutorials from the Sprite Database

Sprite Sheets or Tile Sets

See related article

Game Maker

March 4, 2010


Interesting application for making different styles of games without having to work at code level.

Do you want to develop computer games without spending countless hours learning how to become a programmer? Then you’ve come to the right place. Game Maker allows you to make exciting computer games, without the need to write a single line of code. Making games with Game Maker is a lot of fun.

Using easy to learn drag-and-drop actions, you can create professional looking games within very little time. You can make games with backgrounds, animated graphics, music and sound effects, and even 3D games! And when you’ve become more experienced, there is a built-in programming language, which gives you the full flexibility of creating games with Game Maker. What is best, is the fact that Game Maker can be used free of charge.

You can do anything you want with the games you produce, you can even sell them! Also, if you register your copy of Game Maker, you can unlock extra functions, which extend the capabilities of the program. Game Maker comes preloaded with a collection of freeware images and sounds to get you started.

YoYoGames

Hover_tank_3d

Hover Tank 3D
Added: 25 April 2007
By: FredFredrickson


As defined by Wikipedia:-

“A tile set (sometimes called a sprite sheet) is collection of smaller images called tiles (typically of uniform size) which have been combined into a single larger image. Tile sets are often used in 2D video games to create complex maps from reusable tiles within the set. When a tile set based map is displayed, the tiles that are stored within it are used to reassemble the map for display.”

You can download complete tilesets covering various well known games and themes, for example:-

videoGameSprites.net

Reiner’s Tilesets

Dragon quest

Or you can try searching for “sprite galleries”

<,….>

Tile map editors

March 4, 2010


Can be used to create the graphics for your game levels.  Here are two examples

Mappy

A utility for creating flexible maps for 2D and 3D tile based games

Tiled

Tiled is a general purpose tile map editor. It’s built to be easy to use, yet flexible enough to work with varying game engines, whether your game is an RPG, platformer or Breakout clone. Tiled is free software and written in C++, using the Qt application framework. The main features in a nutshell:

  • General purpose tile map editor with XML-based map format
  • Supports orthogonal and isometric maps
  • Custom objects can be placed with pixel precision
  • Full undo/redo and copy/paste support
  • Add custom properties to tiles, layers, objects or the map
  • Automatically reloads tilesets when changed externally
  • Resize or offset your tile map later as needed
  • Efficient tile editing tools like stamp and fill brushes

./.