Differences

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


wmebook:ch1_1 2007/12/15 06:15 wmebook:ch1_1 2008/01/10 16:07 current
Line 33: Line 33:
**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. **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 section Game settings:+Let’s move on to the section called **Game settings**:
{{wmebook:p2.jpg|}} {{wmebook:p2.jpg|}}
-**Caption** is the caption the game window has. You enter a text there.+**Caption** is the caption for the game window. You enter text here.
-**Name** is the name of your game+**Name** is the name of your game.
-**Startup Scene** specifies which scene loads at the startup as the very first. You can also use a shortcut by rightclicking on the particular scene in the tree view and choose "Set as Startup Scene" option.+**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 scripts ranging from single to several. Those are main scripts attached to the game which take care of initialization, first scene preparations, mouse and keyboard handlers etc. We’ll get into those scripts later, but for now try to click on the line and you’ll see that you can open a new dialogue by clicking on [...] In this dialogue you can add, edit or remove other daemon scripts. When the game is run, those scripts get executed and they form the master brain of the game.+**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 presented, you can sleep easily.+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 ** define if Captions for speech or FMV’s are displayed. Also most of the following parameters are accessible from scripts in case you’ve been wondering about that for your ingame options.+**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 game without voiceovers. In case your game contains voiceovers, this value is overridden by the length of voice sample to achieve synchronization.+**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 path to font file which is then used to display system messages. More on the font files in the data blocks chapter.+**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 path to font file which is then used to display FMV captions.+**Video font** contains the path to font file which is used to display FMV captions.
-**Cursor** – path to an image or sprite which defines how the standard game cursor looks like. More on the sprites later. But as you probably guessed, you can easily use animated cursors.+**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** – path to an image or sprite which defines how the game cursor looks like when it points at some interactive region on screen.+**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** – path to an image or sprite which defines how the game cursor looks like when the game has been switched to non interactive mode.+**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. **Inventory window** – defines the window for storing inventory items.
-**Response window** – defines the window for dialogues.+**Response window** – defines the window for dialogs.
-**Items definition** – defines all items used in the game together with their scripts etc.+**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. +**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 the rectangle from which screen position is scene displayed and how big portion of the scene is displayed. This doesn’t affect other entities, so if you want try the following:+**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 ride.+=> 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.+**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. **Compatibility** - turns off some script compiler changes which could break older WME games.
-Next are **Savegame settings**:+Next is **Savegame settings**:
{{wmebook:p3.jpg| Save games}} {{wmebook:p3.jpg| Save games}}
-**Personal savegames** – I strongly recommend you turn this on Yes. If those are set to No, game tries to save your game 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. Personal savegame creates a folder in your My Documents folder and you’re safe. +**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** – in case you ignored my warning. you can specify, how is the save folder in the game directory called. In the Personal savegames approach it’s called the same way 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. **Thumbnail height, width** – are dimensions of the thumbnail images of your current position in case you want to include them in your savegame files.
Line 89: Line 89:
**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. **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 showed during the save / load process. You can set here individual images and the screen positions for load and save process.+**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. **File extension** - specifies the extension of savegame files. Simple as that.
Line 97: Line 97:
{{wmebook:p4.jpg|}} {{wmebook:p4.jpg|}}
-**Debug mode** – if this mode is on, it displays on the right side of the game window 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:+**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** – displays frames per second on screen to see a current frame rate.+**Show FPS** – shows the current frame rate on screen in frames per second.
-**Allow windowed** – even if the game itself disallow window mode, you can allow it in the debug mode.+**Allow windowed** – even if the game itself disallows windowed mode, you can allow it in debug mode.
-**Debugging console** - is a .Net 2 application which runs in another window separately and where you can watch the state of variables, set a 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 window mode. Note that the game starts much longer when the console starts too so be aware of that.+**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 a scene file of the scene which starts 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.+**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.
{{wmebook:p5.jpg|}} {{wmebook:p5.jpg|}}
-Last part of section 1 is contextual and we’ll get back to it a bit later when we’ll discuss game packages. Right now you can see that all game packages can have a description, can be on certain CD in case you won’t install the game or some of its packages on the harddrive and can have some priority (which is very useful for patches). But let’s get back to this later. So we’re done with section 1, take a deep breath and let’s bring on some more goodness.+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: Now we'll move onto Project Manager section 2:
-Section 2 is basically what’s inside your game. Before we speak about the section two though, let me backtrack a bit and tell you something about the WME [b]design vs. runtime mode[/b].+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**.
-If we design game we’d want to use a lot of folders and subfolders to keep our game neatly organized. But we don’t have to fear that after we want to 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.+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 the section 2 now:+Let’s look closely at section 2 now:
{{wmebook:p6.jpg|}} {{wmebook:p6.jpg|}}
-You can see, that the folder called **data** has completely different icon. That’s because it has been marked as a package. Now this operation is called “Promote to package” and you can do this only to folders which are in the top level hierarchy next to our data folder. As there is none, we can’t promote this package. 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 let’s move on.+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 is quite a lot of folders but their structure is entirely up to you. What you see is just one way how to organize your game. I’ll for now stick with it and later expand on it and bring more packages into question.+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.
-Again you can try to expand for example 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, full scenes or sounds.+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 press right mouse button on the folder scenes to get the following window (in this image I went to the sub menu Add as well). +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).
{{wmebook:p7.jpg|}} {{wmebook:p7.jpg|}}
-You can see various operations you can do with the folder but the most used will be various adding, especially of 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 addition itself uses various templates which we will uncover later. +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.
-As a side effect we’ve covered the section 3 as well. Section 4 is for various contextual help texts and other messages so let’s move directly to section 5.+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.
{{wmebook:p8.jpg|}} {{wmebook:p8.jpg|}}
-Graphic icons from left to right are New Project, Open Project, Save Project followed by Cut, Copy and Paste clipboard operations. Next three icons opens the following tools:  +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**.
-**Scene Editor, Sprite Editor and String Table Manager**. We’ve already covered the red exclamation mark as a run game and the last icon is opening the help file.+
-In the upper menu you find icon functions as well, but there are some important settings too. +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.
{{wmebook:p9.jpg|}} {{wmebook:p9.jpg|}}
-Compile packages (key F7) will create a folder called Packages in your game tree and in this folder you’ll find the game ready to be distributed. It will contain two exe files (for running game and for invoking base options) and all the compiled packages you’ve promoted to package in the project manager.+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 yet another window which would set the basic parameters like compiler, output filename, icon etc.+Project settings is another window which sets the basic parameters like compiler, output filename, icon etc.
{{wmebook:p10.jpg|}} {{wmebook:p10.jpg|}}
-Exclude from build are file types, which won’t be put in the package. Do not compress means that those file will be stored with no compression, use script compiler defines what filetypes will be treated as a pieces of script (include files inc are included to the script files so they don’t need to be set separately). You can override 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“ (from the engine creator)+**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. You can rename the executable file, and change its icon.
-Last option allows you to create an executable which will have appended the data file in case you want to ship a single file.+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.
-On closing of this section, I’d like to introduce the most important feature of Project manager. There’s a 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.+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.
-So for now let’s leave the Project Manager and we’ll move on the next tool: **Sprite Editor**+Now let’s leave the Project Manager and move on to the next tool: **Sprite Editor**
[[wmebook:ch1_1|Up]] [[wmebook:ch1_1|Up]]
 
wmebook/ch1_1.1197695752.txt.gz · Last modified: 2007/12/15 06:15 (external edit)
Recent changes RSS feed Creative Commons License Driven by DokuWiki