Differences

This shows you the differences between the selected revision and the current
version of the page.


wmebook:ch1 2007/12/05 14:25 wmebook:ch1 2007/12/12 06:22 current
Line 1: Line 1:
====== 1. Getting to know what WME is ====== ====== 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.+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 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.+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 (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.+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: 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. +  * **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 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.  +  * **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 used by WME. +  * **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. 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.+  * **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.   * **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.   * **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.+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 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. +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’re some basic questions you could ask yourself before you start with a game coding.+Here are some basic questions you should ask yourself before you start with game coding:
  * What resolution is my game going to be in?   * What resolution is my game going to be in?
Line 26: Line 26:
    * If so, will those be 3d models or sprites?     * 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 multiple players each having his/her own inventory?
-  * Will my game use standard point’n’click interface?+  * Will my game use a standard point’n’click interface?
    * If not will it be utilizing direct control?     * If not will it be utilizing direct control?
    * Will it use some special interface like verb coin or similar?     * 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)?+  * 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?   * 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?+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 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.+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. 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.+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.
{{wmebook:ch1diag.jpg|Diagram}} {{wmebook:ch1diag.jpg|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.+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.   * **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. +  * **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 player acquire in the game world.+  * **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.   * **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.+  * **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.   * **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.   * **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. +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 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**.+=> 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**.
-====== 1.1. Project Manager ======+[[wmebook:ch1|Up]]
-{{wmebook:projman1.jpg|}} 
 
wmebook/ch1.1196861143.txt.gz · Last modified: 2007/12/05 14:25 by metamorphium
Recent changes RSS feed Creative Commons License Driven by DokuWiki