A - Z Beginner Full Guide Start Here!

From The DarkMod Wiki
Revision as of 16:27, 12 August 2008 by Tels (talk | contribs) (some keys)
Jump to navigationJump to search

"Teach Yourself Dark Mod In One Day!" by Fidcal

Page 1 | Page 2 | Page 3 | Page 4 | Page 5 | Page 6 | Index

PLEASE NOTE: 
THIS GUIDE CONTAINS SPOILERS FOR THE "THIEF'S DEN" DEMO MISSION RELEASED JAN 18TH, 2008.

Introduction

This is an easy guide for complete beginners to Dark Mod. It will lead you from start to finish, 'push that button, click that menu' and at the end you will have a fully working (but tiny) Dark Mod mission with all the main essential features including objectives all zipped up. You will be able to include variations of your own as you progress if you wish. Links to more detailed info is included but ignore those first time if you wish. Creating this mission is a learning process: although others will be able to play it, it will be too simple for that purpose - though it might be fun to see how varied the results might be from different players following the same instructions! When finished you can modify it and customise it to learn more or just shelve it for reference while you start your real mission!

This tutorial does not describe how to make your mission architecturally beautiful - just the opposite; the build may be as crude, quick, and ugly as you like. This is a method tutorial, not a design tutorial. Nor can it answer every question. It will merely present the most basic information for making a complete mission.

Feel free to experiment, add to, or even skip parts you already know or seem obvious, especially if you have a background producing Doom or Quake maps.

This guide was inspired by Komag's famous tutorial which helped a great many Dromeders (including myself) to get started producing Thief 2 FMs. If you are or were a Dromeder then you might first like to browse quickly through Dromed - Dark Mod Differences before proceeding - though it is not essential for this tutorial as I am trying to make few assumptions of prior knowledge. It will refer to default keys/mouse settings in Dard Radiant (editor - see later) so if you have changed any hot keys in Dark Radiant's help menu then keep that in mind. Also note that any screenshots might be in a different colour to your settings of course.

Installation

This tutorial assumes that you have Dark Mod already installed. If not, please refer to http://www.thedarkmod.com/ for information.

Alternatively you can use the limited Dark Mod resources provided by the pre-release demo mission Thief's Den

The Dark Mod Editor

To edit Dark Mod missions you will need a game editor. This tutorial is based on the Dark Radiant editor (hereinafter may be called DR) but you can possibly follow most of it in other editors like DoomEd. Variations might be shown where possible but it will mainly assume Dark Radiant. If you haven't got Dark Radiant yet, consult the Dark Radiant sections, install it and set it up how you like it. If you want to use DoomEd then you need to look elsewhere first. DoomEd of course is supplied with Doom.

You might wish to open the DR Controls page in a new window in your web browser for quick reference while following this tutorial. I'll try to make it so you don't need to!

Make sure you can run Dark Mod and your editor before proceeding. In particular remember you can undo your last step(s) (edit menu or CTRL+Z)

Your First Mission

Let's get started.

  • Open Dark Radiant (hereinafter DR) and also open Dark Mod for quick testing.
  • If you have a mission already open in DR then select File menu > New Map to clear it.
  • Save it now as any suitable name. You might prefer to save later but I always do it immediately. All missions must go (with exceptions I will describe later in Managing your Mission Files) in the darkmod\maps folder or a folder within that. I urge you to create a new folder for each project within that maps folder. In this case:
  1. Open File Menu > Save As
  2. Make sure you are in the 'maps' folder.
  3. Select 'Create Folder' and type in say 'tutorial'. You might prefer 'Tut' or even 'T' because you have to keep typing it over and over in the Dark Mod console when testing!
  4. Select that folder
  5. Enter the name of your mission at the top. If you have a dedicated folder why not just use a number for the name and name it fully when published? You will be frequently re-saving with new names (see also autosave in DR's Edit menu > Preferences) and then typing in the path in the Dark Mod console and if you're lazy like me why keep typing deathsheadmanor/deathsheadmanor99 over and over when you can type T/99 or say T/T99 ? Your call.
  • The game will be saved as a 'map' file with a .map suffix and is commonly called a 'map' in Doom circles. But I will use the term 'mission' or 'FM' (Fan Mission) or maybe 'game' for the map file to try to avoid confusion with actual 'city' or 'treasure' maps within the mission.

First, let's consider our rough storyline so we have some idea what to build...

Story, Briefing

Formal mission objectives will be described much later in this tutorial. But before you begin your mission you will obviously need to have at least some idea of storyline and plot else you will have no idea what to build. You might have a detailed story or just some simple ideas which you can develop later.

Ultimately, you will need to brief the player with information about the story, characters, and the main purpose of the mission. It probably makes sense to write that fully when you are nearly finished the mission because new ideas or even technical difficulties might make you change your story. However, in this tutorial I'll describe it early so as you build the mission the layout and objects make sense.

At the time of writing your briefing text should be entered in the file G:\doom3\darkmod\guis\mainmenu_briefing.gui using a plain text editor. If you scroll down to the section headed windowDef BriefingText you will see the existing text there which you can change. All the text lines must end in \ except the final one and \n means the next text starts on new line. It is very likely that this text will eventually be in a separate .xd file and imported into that gui file so check and use your judgement.

The background image to the briefing is also defined in that same file in the section headed windowDef BriefingParchment.

This mini tutorial mission is called 'Thief's Den' so here is an example briefing (not in correct format for the gui or .xd file):

"I had a nice haul the other night including a grand scepter from Lord Frothley. But a low-life named Creep who had given me the info, then stole it from ME! Never trust a thief I say. But I know where he lives...

I also still have his message in his own hand, giving the low-down. If I can dispose of Creep and drop the message nearby then he should take the heat for the heist diverting all suspicion from me.

Creep is a nasty piece of work who is handy with a blade. He can be dangerous and may be expecting me - may even have recruited a thug or two as back up - but he has badly underestimated my stealth skills..."

Preparing to Build

When you open Dark Radiant it will default to a grid size (in the XYZ orthoview) of 8 units by 8 (changeable from version 0.9.5 onwards.) These units are 1.1 inches. Check your preference (default key P) in DR as it will be easier during this tutorial if you have the following checked (ticked) in Preferences > Orthoview...

  • Show Grid
  • Show Size Info
  • Show Coordinates

We'll mostly be working in the XYZ grid orthoview but if you have room for the camera view at the side so much the better. The camera view does a rough render in 3D (F3 toggles a better rendering with lighting etc but keep that off if it slows things down which it is likely to and just use it now and again.)

  • Note the origin icon of the 'world' at 0,0,0 in the grid view
  • Zoom in and out with the mouse wheel
  • Right mouse drag the grid view to scroll around (zoom out further to scroll around faster)
  • Use CTRL+Tab to rotate from top, front, and side views (or you might have three windows open from the view menu)

The blank windows in the grid and camera views can be regarded as empty void - the space in which we shall build. We have to build in bubbles sealed off from that void like an airtight spaceship or a submarine. Any gaps will cause leaks and crash your game so it's obviously the first major rule to learn: always build inner spaces sealed off from the outer void

Apart from special materials like water and weather, all the raw material you will use is 'solid' to form different shapes. So we can make panels and place them together to form lots of floating airtight boxes and these can be linked together. The entire game then takes place inside those boxes. One box can hold a tiny cupboard or an entire cathedral and a lot of boxes can hold a city. Inside those boxes you cannot see the void.

A shortcut to putting panels together is to make one solid block and hollow it out to form a box and this is what we are going to do now to form our first room.

Making Your First Room

First we make a rough solid block...

  • Select the top view in the grid view.
  • Left mouse drag out a rectangle any few grid units across in the middle somewhere.
  • This rectangle is called a 'brush' and used to define raw shapes for walls, floors etc.
  • Left drag within that brush to drag the brush around
  • left drag outside that brush to resize it.

Now we adjust its top view area...

  • left drag outside that brush to resize it to 256 across left to right (X direction) by 192 up and down (Y direction in top view.) You should see those dimensions at the sides of the rectangle if you have 'Show Size Info' set in Edit > Preferences > Orthoview. The position of the top left corner is in brackets at top left.
  • Left drag within the brush to move it so its sides fit on the bigger grid. If all sides don't fit then check your dimensions and that you are still in grid size 8 (see grid menu.)
  • I prefer to build up in the top right corner from the world 0,0,0 so none of the values are negatives but you decide for yourself. Move it where you want but ideally so the sides are on the big grid.

Now we adjust its height to get our finished block (brush)...

  • Ctrl + Tab to side or front view and left drag outside the brush to change its height to 128
  • Left drag inside the brush to move it up and down so its sides are on a big grid same as you did in the top view.
  • You should now have brush 256 x 192 x 128 (see Unit Tips)

Selecting and DEselecting

We only have one item in our view but eventually many. Operations only work on what is currently selected. When you have just created something as we just have it is automatically the current selection and should be highlighted in your views (see DR Preferences for colour.)

  • To DEselect it, point your mouse at it in either the grid or camera view and use SHIFT+ALT+Template:Lbm (or just press the Esc key.)
  • To select it again, point your mouse at it and use SHIFT+ALT+Template:Lbm again.

Selecting is something you'll do a lot of so get familiar with that Shift + Alt + Left mouse. It's an exclusive select to get just one item. There are other selects I'll describe later. The Esc key always deselects and it is vitally important to get into the habit of DEselecting before you select or create something new or in some cases you will have multiple selections without knowing it and can delete or change something you didn't want to. This is why the Shift + Alt + Left mouse is the safest select as it is exclusive and will automatically DEselect anything else that was left selected. But it won't protect an item when creating. Yes, it is possible to have say a brush selected, forget it is selected, then create say, a new light. Oh! what happened to the brush? It's gone - replaced by the light. Develop a nervous habit of keep hitting Esc to deselect when you go to create!

From now on I'll use LMB, MMB, and RMB to refer to the mouse buttons.

Camera View

You should be able to see this block in the camera view. If the camera view is just black remember F3 toggles true light rendering and we don't yet have a light so hit F3 to get a constant bright test light throughout. I won't go into details of all the camera controls suffice to say use the arrow keys and D and C to move vertically. But scroll down to 'camera' in Dark Radiant Controls, Keys & Mouse and you will see a fantastic amount of control you have in DR's camera view - especially with the mouse. It will take time to get used to them all so for now perhaps just learn enough to move around to see what you've done so far.

If you can see your block(brush) in the camera view then it is likely not to have any particular texture unless you were doing something before this tutorial. Close up you may see it is covered in a checkered blue 'shader not found' message. Don't worry if it's covered in something else like stone or wood though. Since it will eventually be hollowed out to form a room, let's paint it now with some material more suitable to the Dark Mod universe...

Materials, Textures, Painting the Block

This is the tiny home of a cheap thief so we'll use some old stonework.

I've mentioned 'textures', 'shaders', and 'materials'; what do these terms mean? A 'material' or 'shader' is the properties of a surface, including (but not necessarily) texture, sound, and others. To 'paint' our block we...

  • Select the Media Browser. This is one of the tabs on a panel. Pressing N or T hides/shows the whole panel but I guess most people leave the panel showing all the time and just select the tab they want.
  • Allow a few seconds for DR to read in the media first time and then you should see 'textures' listed
  • Click 'textures' and it opens up to show all available textures. Many of the ones you see are Doom textures. Scroll down and select 'darkmod' which reveals the ones most suitable for our use. Scroll down to stone, open it, then cobblestones and select blocks_mixed_multicolour. Right click it and select 'Apply to selection'. This covers all surfaces of the block because we have still got selected the whole block not just one surface. You should see this in the camera view. Use this throughout the house (and eventually on its outside surface for consistency.)
  • Select the Texture Browser. This is one of the tabs on the same panel as Media Browser. The Texture Browser only shows recently used textures. You should see only the one texture you selected so it's handy for future use. Odds are you will want to re-use the same textures. It will also show other textures if you clicked on them in the media browser plus any others if you were using DR before this tutorial. You can also copy and paste textures onto single or multiple surfaces (see later.)
  • Hover the mouse over the four little buttons at the top of the Texture Browser and read the text so you have some idea of what features are there for the future. For now, click on the one that says 'Flush and Reload Shaders' and it should clear all of them except the one we put on our brush. As we add others they will appear in the texture browser so you can get to them more quickly.
  • Now, press S for Surface Inspector (or View menu)
  • In both Horiz and Vert scale enter 0.3. This makes it harder for the player to see any pattern repetition (this situation and my opinion - use your own judgement with other textures and wall sizes.) Whatever scale you use, generally you should be consistent with it for the same texture wherever used in a mission. If you use copy and paste then it will transfer the scale as well which is far easier.
  • There will be more on texture adjustment later in this tutorial.

Hollowing out a Room from the Block

Building to a large grid size helps performance. The outside of our block will never be seen in the game. Once we hollow it out then the player will only see the inside so that is the surface that is rendered and that we need to align to the large grid. There are two tools to hollow out a block, both activated by a button on the left button bar: one called 'hollow' and the other 'room'. Don't use 'hollow' as it reduces the internal sides so they don't fit the big grid AND it overlaps the corners which can cause rendering errors like so....

BAD!




Instead use the 'room' button which does the job right (note the increased size so the internal dimensions will be the same as our original block and align to the big grid...

GOOD!



All brushes in Doom must be convex. They cannot have any inward angles (like an L shape which would have to be two brushes together) and cannot actually be hollow. The above tools really create new side panel brushes to replace the original brush. In the case of our six-sided block that is six new brushes positioned as walls, floor, and ceiling. The walls they create are one small grid line wide so their width will vary depending on your grid size setting.

Examine the block in the camera view and zoom right inside so you can see it internally which is where it will be seen in game. Note the texture aligns nicely because we stuck to a big grid size. The stone is appropriate for all four walls (which is why I textured the whole block in one go rather than one surface at a time) but now we need different textures for floor and ceiling...

Selecting and Texturing Individual Surfaces

You cannot select a surface in the grid view so move inside the room in the camera view.

To texture the floor...

  • Press Esc to make sure everything is DEselected
  • Point at the floor and use Shift + LMB. Repeat a few times and you will see it selects/DEselects the surface. Keep it selected.
  • Select the Media Browser again (on the tabbed panel)
  • In the darkmod section select say stone/cobblestones or maybe you would like some wood/boards/worn_01 ? You choose but something like carpet might need special alignment so stick with stones or boards maybe for now? Remember - RIGHT click the texture name and select 'Apply to Selection'
  • Alternatively you can click on several possibles then select them with one LMB in the Texture Browser on the other tab. In the Texture Browser you can enlarge the textures if preferred to see them better.
  • Esc to DEselect so you can see it better in camera view.

To texture the ceiling...

  • Press Esc to make sure everything is DEselected
  • Point at the ceiling and use Shift + LMB again to select its surface.
  • Select the Media Browser again (on the tabbed panel)
  • In the darkmod section select say plaster/plaster01 and apply it.

If you change your mind about the walls you can change them to something else...

  • Press Esc to make sure everything is DEselected
  • Point at one wall and use Shift + LMB again to select its surface.
  • Point at another wall use Shift + LMB again so now both surfaces are selected
  • 'Accidentally' select the ceiling. No problem. Just use Shift + LMB again to DEselect it but the walls are still selected. In this way you can select which surfaces you want to select.
  • Select the Media Browser again and just apply another type of stone, perhaps brick, to the walls if you want or just leave it as it is.

Now press Ctrl+S to resave the mission or use the File menu. Get into the habit of doing this often unless you have autosave set. Now and again you can also save with a new name so you can go back to an earlier one if you totally mess up. Note: There is also a backup file made automatically by DR.

Adding the Player's Start Point

One more thing is essential to play this in Dark Mod and that is the Player's starting position.

  • Press Esc to DEselect everything.
  • In the TOP grid view, point the mouse in the middle of the room and RMB to get a pop up menu. This menu is important so glance at some of the other items on it while you're here. 'Entities' are special function items and the player start is amongst them but there is a shortcut on the menu so instead...
  • Select "Create Player Start here" on the menu. This will create the playerstart entity (red box) and put it where you clicked. Drag the entity around to the point where you want the player to start.
  • You should see an arrow on the red box indicating the way the player will face at the start. If you cannot see the arrow then menu View > Show > Show Angles will reveal it.
  • Ctrl+TAB to get a side view and LMB drag down inside the player start box so its base is on the floor of the room. Make sure you do not go below or the floor or the player might be stuck with his feet in concrete! Tip: In Thief games it was common to start just dropping over a wall with this player start a few feet above the ground. You might note that entities do not directly resize like brushes so LMB drag outside the box does nothing.
  • RMB in the grid view again and you will there is now a 'move player start here' so you can quickly move its position while testing different areas of your mission. But always keep in mind the vertical as well as top view when moving things around (and note that this does not select the player start - you will need to select it if you need to adjust its position by dragging.)
  • With the player start still selected you can select the Entity Inspector (on the panel, else N to hide/show it) and see the properties of your first entity.

The game could now be played but it will be totally dark so we need to create at least one light.....

Creating a Light

  • Press Esc to DEselect everything.
  • In the TOP grid view, point the mouse in the middle of the room and RMB to get the pop up menu.
  • Select "Create Light" on the menu.
  • A large red box appears with diagonals representing the light's centre and its rough 'radius'. The default light is more like six pyramids pointing out to their peaks in the centre of each side of the box. This gives a rough impression of a sphere of light and helps performance.
  • Ctrl+TAB to get a side view and LMB drag right in the centre of the light to move it up/down to centre it in the room if it is not already. Just dragging inside the radius box won't move it - you have to point at the centre.

Resizing a Light

Resizing a light is awkward because dragging any side moves the centre. Two ways of dealing with this. Just roughly drag it about and keep moving the light back to where you want it. But if you have very precisely positioned a light then you don't want to have to keep doing that so this is what I do...

  • Select the Entity Inspector on the panel
  • You should see it has a light radius property with three values for XYZ for the three dimensions. They are north and south for Y, east and west for X, and up and down for Z. (those are the compass directions in game by the way.)
  • Click on the light radius property to highlight it.
  • Note that its values appear in a choice of inputs at the bottom - You can type new values in a line with a space in between then click the check(tick) button or enter them as separate values or even use the little scrolly buttons at the side and then click the Apply button.
  • The room interior is 192 x 256 x 128 (in XYZ order) so give the light radius the values 200 260 133 so it just protrudes outside the walls. We may well change this again later if we want the light to spill out through a doorway or something.

The light radius is not just a cut-off point. It can be regarded as a 'fade to zero point'. What this means is that the light is at maximum brightness at its centre and fades to zero at the limit of the radius. So in a big open area, if you extend the radius you will 'stretch the brightness' further. Imagine the scale from max to min compacted in a small radius or expanded in a large one. More on this later when we place wall torches.

Changing a Light's Brightness

The light may be a little bright. To change it...

  • Press L (or View menu)* to call up the Light Inspector
  • Click on the white rectangle button just below where it says 'Colour'
  • The brightness value is called erm... 'Value' and should default to 100. Reduce it to 90. It might not matter. I'm just showing you where the control is for now.
  • Fool around with the colours if you want - there are extensive features I won't cover here.

Hey! We should have your first working mission! Do a Ctrl + S to save it and then follow the next sections in Dark Mod itself not in Dark Radiant.....

Sound

There is no need to do anything special about hearing sounds such as footsteps, collision sounds, etc. at this stage as it will work automatically. Adding custom sounds will be dealt with later.

Pathfinding

Pathfinding data to tell the AI characters where they can move is created by dmap by default when compiling in the next section...

Dmap: Compiling the Mission

  • Your mission file cannot be played itself; it is simply the directions to create a game file. To do this...
  • From any Dark Mod menu select the Doom console. Ignore the following if you have this working. By default, the console is CTRL+ ALT+ ~ (US Keyboards) or CTRL+ALT+ ' (UK Keyboards) but most people set up a shortcut to just use the ~ (` in UK) on its own. This key is the top left below Esc and to the left of "1" on all keyboards I believe. By shortcut I mean a Windows desktop shortcut. If you don't have one you can right cick the desktop and select New. Right click the shortcut and select Properties and in the target section at the end of the line with doom3.exe in it add a space then +seta com_allowConsole 1. Another useful thing to add is +set r_fullscreen 0 so it plays in a window while testing.
  • In the console type and Enter dmap Tut/T001 where you should substitute your subfolder name for Tut and your mission filename for T001. So, if you created your mission file directly in the maps folder then you do not need a folder name and can put dmap T001. If you made a subfolder in maps called MyMaps and named your mission MissionImpossible999.map then enter dmap MyMaps/MissionImpossible999. I recommend you do not use upper case in filenames in Doom as I think it can cause problems on other platforms.
  • Wait while dmap compiles the mission. This should only be a few seconds with this tiny mission but will be much longer for big missions.
  • If you get a 'leaked' error or some other serious red warning then recheck your work; look for gaps in the wall or a wrong texture like nodraw or have you got an entity outside in the void? See HERE for more about fixing leaks but at this stage of this tutorial it might be easier just to redo. What I have laboured over is basically make a block, texture it, hollow it, stick in a player start and a light. As you get more proficient you can do it in less than a minute.
  • Assuming no dmap red warnings then you should be returned to the Dark Mod menus and can now play the mission...
  • Return to the console.
  • Type and Enter map Tut/T001. Tip: Press the up arrow key toggles back through the history of what you have typed before so your dmap should re-appear. Just press the Home key and delete the 'd'. An alternative is to use 'testmap' instead of dmap which does both dmap and map but I prefer to see dmap's results.
  • You should now be able to walk around in the room. If you have a player shadow set then you might notice that walking through that light looks odd so keep that in mind for light placement. But most lights you will place close to a visible source like a gaslight or wall torch.

That's the first part done!

"Teach Yourself Dark Mod In One Day!" by Fidcal

Page 1 | Page 2 | Page 3 | Page 4 | Page 5 | Page 6 | Index