Translations of this page:

This is an old revision of the document!
—-

1. Getting to know what WME is

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

Now before we start, let’s talk about some of the adventure games so you’d recognize, you’ve selected the correct tool. There’re many types of games called “adventure games” by different gamers. Some says adventure games are so called “interactive fiction”, you proceed through game world by typing commands 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 primary focus of the engine.

WME is focused (but not limited to) on so called Point’n’Click adventure games. Those games may or may not contain inventory, they may or may not contain avatar for main hero or other non playable characters. Basic of the game play is focused mainly on puzzle solving being it intricate dialogues, logic or inventory combining puzzles and interacting with a game world. There have been hundreds of such games created in the 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. Key of those games lies in a story. You basically need to tell a tale and use game as a medium to do so. As a side note there is a certain subset of so called Puzzle Adventures. There is story not as much important as puzzle solving. You can for example think of Myst and various Myst clones, where the stories are more basic. Also currently you can also use keyboard control to control your characters as Grim Fandango or Silent Hill does. So if you feel, this is what you wanted 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. Here you can see your project tree. This is also the place where to setup global parameters of 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 fully 3D engine yet, you have to create separate screens (named scenes in WME terminology) and as player progresses through the game world, you change scene after scene. Scene is usually one gaming screen although WME supports scene scrolling for larger backgrounds then your resolution.
  • Sprite Edit is a support tool for creating 2d animated sprites 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. String Table Manager will be your invaluable tool on the way 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 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 which 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 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 the way how other people do the job.

Here’re some basic questions you could ask yourself before you start with a 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 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 my game will 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 how to approach the game creation. Especially the last point deserves a very special attention. It’s very easy to have an idea about some game. It can be even 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 my moral of this, maybe a bit unrelated to WME talk is, that you can make an incredible amount of work without even touching the tools, which will save you a lot of problems 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 movies without any challenges in it), you can write dialogues, 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 means it seriously with 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 overall, a bit simplified diagram of WME functionality so you can grasp the basic concept.

Diagram

As you can see, it’s easy to split functions in two halves - global functionality for the whole game and local functionality for individual scenes. In the following chapters we’ll dive deep about each area of this diagram. Before we move on 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 represent 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.), actor will keep you nicely occupied for quite some time.
  • Inventory is a placeholder to store items player acquire 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 piece of program which runs in the background of your game or scene in the loop and performs some important task. For example your typical daemon can see if your mouse hovered over a hotspot and if it detects such a malicious thing, it would display a corresponding caption. As you see this would be global daemon, because you need this behavior for all of the scenes. You can have also 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 won’t make it, it would 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 some basic overview of the engine how it’s structured and before we start with discovering the tools, let’s make some preparation work.

⇒ Go to the directory where your 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’ll 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.

Up

 
wmebook/ch1.1196867467.txt.gz · Last modified: 2007/12/05 16:11 by metamorphium
Recent changes RSS feed Creative Commons License Driven by DokuWiki