Translations of this page:

1. Getting to know what WME is

You’ve downloaded WME and now you’re probably wondering what this WME actually is. WME is a professional adventure game development kit which consists of two parts: Highly advanced development tools used for creating adventure games, and the WME interpreter which brings the games you’ve created to life.

Now before we start, let’s talk about some adventure games so you’ll know if you’ve selected the correct tool. There are many types of games called “adventure games” by different gamers. Some say adventure games are so called “interactive fiction”. You proceed through the game world by typing commands such as “open door, push button, kill troll” and the game responds with text or with some basic imagery. Then there are many action/adventure games where the adventuring consists of pushing a lever here or there etc. Although you probably could make the aforementioned games in WME too, it’s not the primary focus of the engine.

WME is focused on (but not limited to) so called Point’n’Click adventure games. Those games may or may not contain inventory. They may or may not contain an avatar for the main hero or other non playable characters. Game play is focused mainly on puzzle solving, intricate dialogs, logic or inventory puzzles and interacting with a game world. There have been hundreds of such games created in history. You can start with Lucas Arts (Lucas Film) games, from Maniac Mansion to Full Throttle or Grim Fandango. Or you can look at the recent games like Syberia or The Longest Journey. The key to these games lies in the story. You basically need to tell a tale and use the game as a medium to do so. As a side note, there is a certain subset of so called Puzzle Adventures. There is a story, but it is not as important as puzzle solving. You can for example think of Myst and various Myst clones, where the stories are more basic. Currently you can also use the keyboard to control your characters, such as in Grim Fandango or Silent Hill. So if you feel this is what you want the engine to do, then WME is the right choice for you.

Let’s first look what lies inside your WME package:

  • Project Manager is the top level view of your game where you can see your project tree. This is also the place where you set up global parameters for the game you’re creating. You can run your game from here, and mainly you always start here.
  • Scene Edit is an editor of individual Scenes. As WME is not a full 3D engine yet, you have to create separate screens (named scenes in WME terminology) and as the player progresses through the game world, you change scene after scene. A Scene is usually one gaming screen although WME supports scene scrolling for backgrounds larger than your resolution.
  • Sprite Edit is a support tool for creating 2d animated sprites (animations) used by WME.
  • String Table Manager is a tool used for localization of your game. You can localize your game into any possible language including right to left languages. The String Table Manager will be an invaluable tool because it’s able to extract strings from your scripts and scenes and prepare them for translation.
  • Debugging Console is a support module, which can help you trace what’s going on and why your scripts behave badly.
  • Templates for new game items and demo projects demonstrating various capabilities of WME.

While the aforementioned tools are critical for the basic design, the heart and soul of your game lie in the scripts which you’ll be writing. WME is not a tool where you can click your way through. But as a reward for your scripting, it is the most flexible engine for creating adventure games and is also completely accessible to independent developers.

Before we dive into the details of WME game creating, I want to speak a bit more about the game design process in general. There are always many ways leading to the same or similar result, so if you feel that your way is better simply go with it. My advice here is for people who are clueless or who are interested in how other people do the job.

Here are some basic questions you should ask yourself before you start with game coding:

  • What resolution is my game going to be in?
  • Is my game going to use actors?
    • If so, will those be 3d models or sprites?
    • Will my game use multiple players each having his/her own inventory?
  • Will my game use a standard point’n’click interface?
    • If not will it be utilizing direct control?
    • Will it use some special interface like verb coin or similar?
  • How big will my game be (in terms of estimated hours or gaming screens)?
  • Do I have enough material to actually start working on game?

As you can see, the first three points are very practical whilst the others are more conceptual. Nonetheless, those are the basic questions, which determine the fundamental way to approach game creation. The last point especially deserves very special attention. It’s very easy to have an idea about some game. It can even be a pretty, pretty, ultra mega giga cool idea with sugar on top, but the path from an idea to a complete game lying on the shelf is very hard. And how would you feel if after one year of intense work you’re stuck and you don’t know how to proceed?

So the moral of this, maybe a bit unrelated to WME, is that you can do an incredible amount of work without even touching the tools, which will save you a lot of trouble down the road. You could have the story written (when the game is in production, you don’t have that much time for that anyway), you could have your ideas about the puzzle design (you don’t want to realize that you made a clickable movie without any challenges in it), you can write dialogs, flesh out characters, have your ideas about sounds, music, graphic style etc. etc. All this belongs to something called a design document, and it’s the document where you can also concentrate all your ideas about the game. It doesn’t mean that everything from the document will get into the game. It’s usually much less, but it’s a vital thing of any game developer, who is serious about a game design.

But I think that this was enough of boring chat and you’re definitely eager to start with something more WME’ish so here goes.

Let’s look at the architecture of your typical WME game. I’ll give you an overview, a simplified diagram of WME functionality so you can grasp the basic concept.


As you can see, it’s easy to split functions into two halves - global functionality for the whole game and local functionality for individual scenes.

In the following chapters we’ll dive deep into each area of this diagram. Before we move on to the individual tools, I’d like to explain some terminology used in the diagram.

  • Script is a text file containing programming instructions. It will be thoroughly explained in the scripting chapter.
  • Actor is a 2d or 3d avatar, which represents either your playable character or other characters in the game. He has built in abilities to walk, talk, store items, and unless you’re going to make a game without them (Myst, Darkfall, Barrow Hill, Shivers etc.), the actor will keep you nicely occupied for quite some time.
  • Inventory is a placeholder to store items the player acquires in the game world.
  • Attributes, methods, objects, variables will be thoroughly explained in the scripting chapter.
  • Daemon in WME is not a beast from the dark corners of Earth but rather a bit of code which runs in a loop in the background of your game or scene and performs some important task. For example your typical daemon can see if your mouse is hovering over a hotspot and if it detects such a malicious thing, it would display a corresponding caption. As you see this would be a global daemon, because you need this behavior for all of the scenes. You can also have a local daemon bound to a scene. For example, upon entering the scene you are running out of oxygen. If you are not able to escape, you die. This time can be monitored by a daemon attached to a particular scene, which keeps track of the passed time in the scene and if you don’t make it, it will kill you.
  • String table is a text file which contains key/value pairs which then identify the string in the game. You can easily replace this file and your game can speak Russian or Chinese instead of English.
  • Entities and Regions will be explained in detail in Scene Editor chapter.

Now we have a basic overview of the engine and how it’s structured. Before we start with discovering the tools, let’s do some preparation work.

⇒ Go to the directory where WME resides and locate the folder called projects. In this folder copy the folder wme_demo to something else - for example sandbox. This will be our sandbox as we discover how WME works and build on top of this demo. If you enter the newly created folder, you’ll see inside the file called wme_demo.wpr. This is WME project file and if WME was successfully installed, we can open it by double clicking on it. This opens the first tool we’re going to cover: Project Manager.


wmebook/ch1.txt · Last modified: 2007/12/12 06:22 by jlinam
Recent changes RSS feed Creative Commons License Driven by DokuWiki