Game Application Markup Language (GAML)

GAML is as an analogous to HTML. HTML and the web browser made it very simple to make computer programs without having to spend hundreds of hours writing C/C++. GAML is very similar for Flash based virtual worlds, its a layer of abstraction than makes it very simple and easy to write content, games, and stories for virtual worlds without writing Java or Flash code.

To find out why all virtual worlds need a scripting language like GAML, read this post.

How does GAML work?

GAML works by linking events in the world to behaviors. When a player moves around the world events are fired. In fact, when the player does almost anything (collides, uses, picks up, enters, talks to, and so on) events are fired.

Consider the example of a player walking onto lava. For every second the player is on the lava an event is fired. The GAML engine captures the event and executes the script written by the game designer. In this case the script would reduce the player’s health and play an animation of smoke coming off the player’s boots. Should the player fail to get off the lava hes health will decrease until he dies! At which point the GAML script would tell the player sprite to play burning animation and a deathly scream.

The game world generates a lot of events, the GAML is the glue that binds these events to behaviours, such as playing a sound. The GAML behaviour library contains hundreds of these building blocks designers can use to create completely different gaming worlds. The behaviour library includes, collision, conditional logic, sound, animation, conversation and much more.

An introduction to GAML series

In this series of blog posts we'll be showing how easy it is to use GAML to create a virtual world, quests, and mini games.

  • Part 1: Creating rooms in GAML
  • Part 2: Handling events and actions (coming soon)
  • Part 3: A simple quest (coming soon)
  • Part 4: A short conversation (coming soon)

If you would like to try your hand at GAML authoring with our single player test application email matthew@dubitlimited.com