Translations of this page:

1.1. Project Manager

As you can see, I’ve added numbers to parts of the Project Manager and we’ll discuss them separately. But before we do that, press F5 or click on the the red exclamation mark in area 5 to get your first taste of WME. When you’re done playing the demo, come back and we’ll speak more about project manager.

Project Manager has several purposes. You can set the global game parameters here, create new scenes, launch additional tools (Sprite Edit, String Table Manager), run your game in the debug environment or compile your game and create the version other people get to play without having to install WME.

Let’s not waste any time. We’ll start right away with area 1. It's broken down into several sections. Note that the + or – sign denotes the tree. You expand the tree by clicking on + and collapse it by clicking on -.

The very first section is Startup settings. First you see the game resolution. The Demo runs in 800x600, unlike the game Ghost in the Sheet which you can see on the images here. Note that you cannot change the resolution during the game. Also, it would be complicated to convert everything to higher/lower resolution in the course of creating the game, so think about this well and set the resolution once for the whole course of the game development.

Registry path is the path in Windows Registry where the game stores information (or additionally you can store some custom parameters as well).

Require 3D accel. (yes/no) If set to Yes, the game won’t run unless you have a 3d accelerator card. Note that this setting is now obsolete as nearly every single computer has a 3d accelerator card installed. If you’re going to use 3D actors, you must set this value to yes.

Require sound (yes/no) If set to Yes, this option requires a sound card to be present in the computer or the game won't run.

Hardware T&L specifies the usage of hardware transform and lighting. This option is only useful for games using 3D characters. There's no point in enabling it for fully 2D games. Hardware T&L moves some 3D calculations from CPU to video card, which can significantly improve performance when using Direct3D 9.

Use Direct3D 9 If enabled, the game will take advantage of Direct3D 9 (as compared to Direct3D 8 when this option is disabled). Currently the only advantage is better performance for 3D characters when using hardware T&L.

Allow windowed (yes/no) If set to Yes, the initial dialog window will contain an option to run the game in a window instead of full screen.

Allow 3D settings Specifies whether the game settings dialog contains advanced 3D settings. These include antialiasing and hardware T&L. If your game is using 3D characters, enable this option. Otherwise disable it.

Allow accessibility (yes/no) If set to Yes, the initial dialog window contains a tab with extended accessibility features such as sending all captions and other text to a speech synthesizer, setting hotspot highlighting on, keyboard shortcuts or pausing the game upon pressing a special shortcut. These options are mainly for visually challenged gamers.

Allow about tab (yes/no) If set to Yes, the initial dialog window contains the About tab which shows the WME logo, its creator and other information about WME.

String table is the last setting in this section. It contains the filename of the translation file. Here you can open the file in the editor, select another file, or remove this file. We’ll talk more about this file in the chapter dedicated to localization.

Let’s move on to the section called Game settings:

Caption is the caption for the game window. You enter text here.

Name is the name of your game.

Startup Scene specifies which scene loads first at startup. You can also set this using a shortcut: right-click on a scene in the tree view and choose the "Set as Startup Scene" option.

Scripts are a critical part of the game initialization. This field can contain one or many scripts. These are the main scripts attached to the game which handle initialization, first scene preparations, mouse and keyboard handlers, etc. We’ll get into these scripts later, but for now click on the line and you’ll see that you can open a new dialog by clicking on […] In this dialog you can add, edit or remove daemon scripts. When the game is run, those scripts get executed and they form the master brain of the game.

Note: you can also attach / detach scripts programmatically so there’s no need to feel stressed about having to set everything in the beginning. As long as you have one master brain present, you can sleep easily.

Speech and Video subtitles defines whether Captions for speech or FMV’s are displayed. Most of the following parameters are also accessible from scripts in case you’ve been wondering about that for your in-game options.

Subtitles speed – useful for games without voice-overs. If your game contains voice-overs, this value is overridden by the length of the voice sample to achieve synchronization.

System font contains the path to font file which is used to display system messages. More on the font files in the data blocks chapter.

Video font contains the path to font file which is used to display FMV captions.

Cursor – is the path to an image or sprite which defines how the standard game cursor looks. More on sprites later. As you have probably guessed, you can easily use animated cursors.

Active cursor – is the path to an image or sprite which defines how the game cursor looks when it points at some interactive region on the screen.

Nonint. cursor – is the path to an image or sprite which defines how the game cursor looks when the game has been switched to non-interactive mode.

Inventory window – defines the window for storing inventory items.

Response window – defines the window for dialogs.

Items definition – defines all items used in the game, together with their scripts, etc.

Talk lines skipped by – You can choose which mouse action skips individual talk lines.

Scene viewport – is used when you want to restrict the player’s view. You can define a rectangle and a screen position from which the scene is displayed, and how big of a portion of the scene is displayed. This doesn’t affect other entities, so if you want try the following:

⇒ Click on the Scene viewport line and on the […] button. Uncheck “No viewport” and set position 100 100 and Size 200 200. Then press Ok and F5 to test your viewport. When you’re sure you understand what happened, return the viewport to fullscreen and let’s continue our tour.

GUID is used for integrating the game with Game Explorer in Windows Vista. This should be a unique fixed number for each game.

Compatibility - turns off some script compiler changes which could break older WME games.

Next is Savegame settings:

 Save games

Personal savegames – I strongly recommend you set this to Yes. If this is set to No, the game tries to save your saved games directly into the game folder in the subfolder called Saves. The problem with this approach is that it might not run well on Microsoft Windows Vista. The Personal savegame option creates a folder in your My Documents folder, with the same name as your game.

Save directory – if Personal savegames is set to No, you can specify what the save folder in the game directory will be called here.

Thumbnail height, width – are dimensions of the thumbnail images of your current position in case you want to include them in your savegame files.

Indicator is a little progress bar which runs through the save / load process. Here you can set some basic parameters like position, height, width, color and transparency of this bar.

Save/load screen – is a custom screen which is shown during the save / load process. Here you can set individual images and screen positions for the load and save process.

File extension - specifies the extension of savegame files. Simple as that.

Rich saved games - adds extended information to the savegame for better integration with Windows Vista.

Debug mode – if this mode is on, the right side of the game window displays important statistics like poly count, how many scripts are running, mouse position, current and previous scene etc. It also allows you to see / set several additional things:

Show FPS – shows the current frame rate on screen in frames per second.

Allow windowed – even if the game itself disallows windowed mode, you can allow it in debug mode.

Debugging console - is a .Net 2.0 application which runs separately in another window where you can watch the state of variables, set breakpoints, debug your scripts step by step etc. Here you can choose if the console is activated always, never or only when the game is in windowed mode. Note that the game takes much longer to start when the console is started too, so be aware of that.

Startup scene – Here you can choose which scene starts first in debug mode. Note that this is only for debugging purposes. As soon as you compile the game or turn off the debug mode, the game starts from the position which is defined in the master brain script we’ve discussed earlier.

The last part of section 1 is contextual and we’ll get back to it a bit later when we discuss game packages. Right now you can see that all game packages can have a description, can be on a certain CD in case you don’t want to install the game or some of its packages on the hard drive and can have some priority (which is very useful for patches). But let’s get back to this later. We’re done with section 1, so take a deep breath and let’s bring on some more goodness.

Now we'll move onto Project Manager section 2:

Section 2 is basically what’s inside your game. Before we speak about section two though, let me backtrack a bit and tell you something about WME's design vs. runtime mode.

When we design a game we want to use a lot of folders and subfolders to keep our game neatly organized. But we don’t need to fear that after we give our game away someone will have to create complex directory structures, because WME makes a single file out of every folder which has been marked as a package in the Project Manager.

Let’s look closely at section 2 now:

You can see that the folder called data has a unique icon. That’s because it has been marked as a package. You do this with an operation called “Promote to package”, which you can do only to folders which are in the top level hierarchy, next to our data folder. As there are currently none, we can’t promote any packages. For our WME game we need at least one package or there will be nothing to play with. Let’s keep everything in one package (data) for now and move on.

There are quite a lot of folders, but their structure is entirely up to you. What you see is just one way to organize your game. I’ll stick with it for now and later expand on it, bringing more packages into question.

Expand the scenes folder and click on “room” to see that you have a neat, quick preview of what’s in the scene. The preview is contextual for graphics files, sounds, or full scenes.

Now right-click the mouse on the folder scenes to get the following menu (in this image I went to the sub menu Add as well).

You can see various operations you can do with the folder, but the most used will be the Add function to add various things, especially scenes. Also note that you see the Add scene function twice. That’s because Project Manager uses a contextual approach and recognized that scenes are being stored in this folder. In the Add submenu you see all addable things in case you want to add something else. The Add function itself uses various templates which we will cover later.

In the course of covering section 2, we’ve covered section 3 as well. Section 4 is for various contextual help text and other messages so let’s move directly to section 5.

The graphic icons from left to right are: New Project, Open Project, and Save Project followed by the Cut, Copy and Paste clipboard operations. The next three icons open the following tools: Scene Editor, Sprite Editor and the String Table Manager.

We’ve already mentioned that the red exclamation mark is Run game and the last icon is for opening the Help file.

In the upper menus you will find the same functions as performed by the icons, as well as some important settings.

Compile packages (key F7) will create a folder called Packages in your game folder. In this folder you’ll find the game ready to be distributed. It will contain two exe files (one for running the game and one for setting the game's base options) and all the compiled packages you’ve promoted to package in the project manager.

Project settings is another window which sets the basic parameters like compiler, output filename, icon etc.

Exclude from build are file types which won’t be put in the package. Do not compress means that these files will be stored with no compression, Use script compiler defines what file types will be treated as pieces of script (include files are included in the script files so they don’t need to be set separately). You can override the Output folder with a path of your liking. Build Master index is "a part of the projected file system. It's only useful for multi-CD games, because it contains references to individual files and what CD they reside on. This way the engine can request a particular CD when needed" (quote from the engine creator).

You can rename the executable file, and change its icon.

The last option allows you to create an executable, which will have the data file included, in case you want to ship a single file.

In closing this section, I’d like to introduce the most important feature of Project manager. There’s full WME documentation which is accessible from Project Manager by pressing F1. In the next chapters I’ll reference this documentation for more detailed description of components, objects etc.

Now let’s leave the Project Manager and move on to the next tool: Sprite Editor


wmebook/ch1_1.txt · Last modified: 2008/01/10 16:07 by metamorphium
Recent changes RSS feed Creative Commons License Driven by DokuWiki