Differences

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


wmebook:ch1_1 2007/12/05 16:10 wmebook:ch1_1 2008/01/10 16:07 current
Line 3: Line 3:
{{wmebook:projman1.jpg|}} {{wmebook:projman1.jpg|}}
-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 the red exclamation mark located in the area 5 to get your first taste of WME. When you’re done with playing the demo, come back and we’ll speak more about 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.
-As you already saw, Project Manager is here for several purposes. You can set the global game parameters here, you can create new scenes you can use additional tools (Sprite Edit, String Table Manager), you can run your game in the debug environment or you can compile your game and create the version other people get without having to install WME. +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.
-So let’s not waste any time and we’ll start right away with section 1. I’ve cut it into individual section and note, that the + or – sign denotes the tree. So you expand the tree by clicking on + and collapse it by clicking on -.+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 -.
{{wmebook:p1.jpg|}} {{wmebook:p1.jpg|}}
-So the very first section is about the startup settings. First you see the game **resolution**. Demo runs in 800x600 unlike Ghost in the Sheet which you can see here and 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 game creating so think about this well and then set the resolution once for the whole course of the game designing.+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). **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 3d accelerator card. Note that this setting is nowadays obsolete as nearly every single computer has 3d accelerator card installed. Also if you’re going to use 3D actors, you’ll have to check this value to yes.+**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) is the option which forces the sound card hardware to be present in the computer otherwise the game won't run.+**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.+**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. **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) puts in case of yes to the initial dialogue window option to run the game in window instead of full screen.+**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, hardware T&L. If your game is using 3D characters, enable this option. Otherwise disable it.+**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) shows in case of yes in the initial dialogue window the tab with extended accessibility features like sending all captions and other texts to speech synthesizer, setting hotspot highlighting on keyboard shortcuts or pausing the game upon pressing special shortcut. Those are mainly for visually challenged gamers.+**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) puts in case of yes to the initial dialogue window the About tab which shows WME logo, its creator and other about information.+**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 information in this section. It contains the filename of the translation file. You can here either select another file, remove this file or open the file in the editor. We’ll get more into 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.1196867409.txt.gz · Last modified: 2007/12/05 16:10 by metamorphium
Recent changes RSS feed Creative Commons License Driven by DokuWiki