{"id":37,"date":"2008-05-12T13:15:51","date_gmt":"2008-05-12T20:15:51","guid":{"rendered":"http:\/\/www.narby.net\/?page_id=37"},"modified":"2008-05-12T13:47:30","modified_gmt":"2008-05-12T20:47:30","slug":"hammer-creating-your-first-room","status":"publish","type":"page","link":"https:\/\/www.narby.net\/?page_id=37","title":{"rendered":"Hammer tutorial 1 &#8211; Configuring Hammer"},"content":{"rendered":"<p>Here\u00e2\u20ac\u2122s the first installment of my Half-Life level design walkthrough.<\/p>\n<p>This covers tools designed to edit Half-life and its mods, as well as very basic skills necessary for level design. This section will cover installing and setting up the Hammer editor and the files you will need to get started.<\/p>\n<p><font size=4><b>Stuff you will need<\/b><\/font><\/p>\n<p>1) The Valve Hammer editor, available from <a href=\"http:\/\/collective.valve-erc.com\/index.php?go=hammer\">here.<\/a><br \/>\n2) The appropriate FGD file (half-life.fgd for HL, cstrike.fgd for Counter-strike etc). Get those <a href=\"http:\/\/dev.valve-erc.com\/index.php?area=browse\">here.<\/a><br \/>\n3) An installed copy of Counter-strike, Half-life or Day of Defeat retail.<br \/>\n4) Download Zoners Half-Life compile tools from <a href=\"http:\/\/collective.valve-erc.com\/index.php?go=mhl\">here.<\/a><\/p>\n<p>It\u00e2\u20ac\u2122s more than worth (in fact go there now) visiting the <a href=\"http:\/\/collective.valve-erc.com\/\">Valve editing resource center<\/a>.<\/p>\n<p>Install the Valve hammer editor somewhere on the same partition as you installed Half-life\/dod\/cs and create a new directory somewhere close by where you will store your map source files (for example, create a sub-directory in the hammer editor folder called \u00e2\u20ac\u0153map source\u00e2\u20ac\u009d).<\/p>\n<p>The compile tools are used to convert the map from RMF (Rich Map Format \u00e2\u20ac\u201c Hammer uses) to BSP (Binary Spaced Partition file). When you compile the editor converts the .rmf file into a .map extension which is the same as RMF but without a few things irrelevant to the editor. The game can only read BSP files so you must compile your map into a BSP.<br \/>\nExtract Zoners compile tools into a suitible directory (create a compile directory in the Hammer folder for example).<\/p>\n<p><font size=4><b>Getting started<\/b><\/font><\/p>\n<p>When you\u00e2\u20ac\u2122re installed, load Hammer and you will be prompted to setup the configuration. Hammer has a really good setup guide, well worth reading but additionally, I\u00e2\u20ac\u2122ll cover the setup here.<\/p>\n<p>For future reference, a \u00e2\u20ac\u0153brush\u00e2\u20ac\u009d is the name of a solid object in the editor. Hammer works like lego, you build a map out of small individual units like lego bricks. Each \u00e2\u20ac\u0153brick\u00e2\u20ac\u009d is called a brush.<\/p>\n<p>An FGD file is a definition of all the entities used in a particular game. For example, they contain the entity used to spawn a player, or a light.<\/p>\n<p>The configuration tabs:<\/p>\n<p><b><font size=3>General<\/b><\/font> (leave all these as default if you\u00e2\u20ac\u2122re unsure what they do)<\/p>\n<p><font color=\"#C0C000\"><b>Use independent window configurations<\/b><\/font><\/p>\n<p>This toggles the 4 windows in the editor, when this option is checked they are free floating and set to your desired size and position. Leave this at its default.<\/p>\n<p><font color=\"#C0C000\"><b>Undo level<\/b><\/font><\/p>\n<p>Pretty obvious; the bigger the number, the more memory Hammer will use to store undo levels.<\/p>\n<p><font color=\"#C0C000\"><b>Allow grouping\/ungrouping while ignore groups is checked<\/b><\/font><\/p>\n<p>Hammer allows you to group brushes to make it easier to manipulate complex objects. To save you having to constantly group and ungroup brushes, there\u00e2\u20ac\u2122s a button called \u00e2\u20ac\u0153ignore groups\u00e2\u20ac\u009d. When this is pressed, you can select individual brushes without ungrouping them.<br \/>\nWith this option checked, you can group and ungroup while brush groups are set to ignore. Sounds complex, and for now, ignore this option.<\/p>\n<p><font color=\"#C0C000\"><b>Stretch arches to fit original bounding rectangle<\/b><\/font><\/p>\n<p>This is used to set the arch tool to keep the arch you\u00e2\u20ac\u2122re creating within the boundary you set during its creation. Again, leave this set to default.<\/p>\n<p><b><font size=3>2D Views<\/b><\/font> (leave all these as default if you\u00e2\u20ac\u2122re unsure what they do)<\/p>\n<p><font color=\"#C0C000\"><b>Crosshair Cursor<\/b><\/font><\/p>\n<p>As the name suggests, this toggles a crosshair cursor or the standard arrow cursor.<\/p>\n<p><font color=\"#C0C000\"><b>Default to 15 degree rotations<\/b><\/font><\/p>\n<p>By default, you\u00e2\u20ac\u2122re free to rotate objects to any angle. This snaps it to 15 degrees. Make sure this is on! You\u00e2\u20ac\u2122ll rarely need to rotate objects outside of 15 degrees, so this makes things a lot easier.<\/p>\n<p><font color=\"#C0C000\"><b>Display scrollbars<\/b><\/font><\/p>\n<p>Toggles window scrollbars, when off you scroll with the cursor movement in the window.<\/p>\n<p><font color=\"#C0C000\"><b>Draw Vertices<\/b><\/font><\/p>\n<p>Toggles the vertices being drawn in the windows.<\/p>\n<p><font color=\"#C0C000\"><b>White on black color scheme<\/b><\/font><\/p>\n<p>Toggles the color scheme (I personally find the black on white scheme hard on the eyes).<\/p>\n<p><font color=\"#C0C000\"><b>Keep group while clone dragging<\/b><\/font><\/p>\n<p>Hammer allows you to make a copy of objects by selecting them and holding shift to create a clone. This option toggles the retention of the groups assigned to the original object.<\/p>\n<p><font color=\"#C0C000\"><b>Center on camera after movement in 3D<\/b><\/font><\/p>\n<p>Fairly self-explanatory. <\/p>\n<p><font color=\"#C0C000\"><b>Use visgroup colors for object lines<\/b><\/font><\/p>\n<p>This toggle the rainbow fun colors assigned to each brush. When off, all brushes appear white unless assigned a vis color. When on, this gives all brushes a random color which is useful for identifying brushes. I prefer to leave this off, but you may wish to leave it on to help identify brushes.<\/p>\n<p>Arrow keys nudge selected object vertex<\/b><\/font><\/p>\n<p>When on, this options allows you to nudge a vertex (the point at which to vertices meet) or an object when selected.<\/p>\n<p><font color=\"#C0C000\"><b>Re-orientate primitives on creation in the active 2D view<\/b><\/font><\/p>\n<p>Centers the 2D view to the top of the created brush.<\/p>\n<p><font color=\"#C0C000\"><b>Automatic infinite selection in the 2D view (no enter)<\/b><\/font><\/p>\n<p>When you drag a selection box around objects by default you don\u00e2\u20ac\u2122t need to press enter to select the brush. This toggles that option.<\/p>\n<p><font color=\"#C0C000\"><b>Selection box selects by center handle only<\/b><\/font><\/p>\n<p>Each brush has a small X to mark its center point. This option toggles selection of the brush to that X rather than the vertices of the brush.<\/p>\n<p><font color=\"#C0C000\"><b>Grid options<\/b><\/font><\/p>\n<p>Tweak these to your own comfort, I prefer to have a size 16 grid highlighted every 64 units. <\/p>\n<p><b><font size=3>3D Views<\/b><\/font> (leave all these as default if you\u00e2\u20ac\u2122re unsure what they do)<\/p>\n<p><font color=\"#C0C000\"><b>Back clipping plane<\/b><\/font><\/p>\n<p>This scale changes the point at which the map fades out of the cameras view in the distance. For lower end systems, make this lower.<\/p>\n<p><font color=\"#C0C000\"><b>Navigation<\/b><\/font><\/p>\n<p>This is self-explanatory, tweak to your needs. <\/p>\n<p><font color=\"#C0C000\"><b>Reverse selection order<\/b><\/font><\/p>\n<p>Reverses the order brushes are selected when they line up (for example if the X of the brushes center point overlap, this option changes the order they will be selected if clicked on). <\/p>\n<p><b><font size=3>Textures<\/b><\/font><\/p>\n<p>This tab allows you to add or remove the texture wads you\u00e2\u20ac\u2122ll use in the map. Click \u00e2\u20ac\u0153add wad\u00e2\u20ac\u009d and point it in the direction of a wad file in the Half-life\/valve directory (or the mod directory \/cstrike\/ for example). You can add multiple wads.<\/p>\n<p><b><font size=3>Game configurations<\/b><\/font><\/p>\n<p>This is the important one. Here you set the location of the FGD files and the other file locations you will need. First, in the \u00e2\u20ac\u0153configuration\u00e2\u20ac\u009d section, hit Edit and \u00e2\u20ac\u0153Add\u00e2\u20ac\u009d. Type a name for your game (example: dod) and ok. Repeat this for however many mods you may want.<br \/>\nNext, add the FGD location, it would be a good idea to store your FGD\u00e2\u20ac\u2122s in the mod directory. FGD files are not location specific.<\/p>\n<p><font color=\"#C0C000\"><b>Default point and solid entity class<\/b><\/font><\/p>\n<p>These are up to you, probably best to ignore them for now, but they\u00e2\u20ac\u2122re basically setting the default entity that comes up when you choose to place one. I\u00e2\u20ac\u2122d suggest you set the default point entity to either \u00e2\u20ac\u0153light\u00e2\u20ac\u009d or \u00e2\u20ac\u0153info_player_start\u00e2\u20ac\u009d and default solid entity to \u00e2\u20ac\u0153func_wall\u00e2\u20ac\u009d.<\/p>\n<p>A point entity is an entity that is not made from brushes.<br \/>\nA solid entity is an entity that is made from brushes.<\/p>\n<p><font color=\"#C0C000\"><b>Game executable directory<\/b><\/font><\/p>\n<p>Point this towards your HL.exe in the half-life folder.<\/p>\n<p><font color=\"#C0C000\"><b>Mod directory<\/b><\/font><\/p>\n<p>Point this towards your mod directory, for example half-life\/cstrike. Default half-life, is half-life\/valve.<\/p>\n<p><font color=\"#C0C000\"><b>Game directory<\/b><\/font><\/p>\n<p>Point this to your Half-life\/valve directory or Counter-strike\/cstrike directory.<\/p>\n<p><font color=\"#C0C000\"><b>RMF directory<\/b><\/font><\/p>\n<p>Point this to the directory you created earlier. It\u00e2\u20ac\u2122s where you will store the RMF (source) files you create.<\/p>\n<p><b><font size=3>Build programs<\/b><\/font><\/p>\n<p>Select the game from the drop down box. There are six fields used to compile the map. Point the first to the location of the game exe. This is used to launch the game after the map has been compiled.<br \/>\nEarlier you created a compile directory with Zoners tools in it. The next four fields locate the individual tools needed to compile the map. Point each one to the appropriate file. For example, the CSG executable should point towards your compile directory and the HLCSG.exe file.<br \/>\nThe final field asks where you want to put the compiled map. Point this at the valve\/maps or cstrike\/maps etc folder.<\/p>\n<p>Hit ok, and you\u00e2\u20ac\u2122re ready to start mapping. <\/p>\n<p><a href=\"http:\/\/www.narby.net\/?page_id=38\">Continue to page 2 >><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Here\u00e2\u20ac\u2122s the first installment of my Half-Life level design walkthrough. This covers tools designed to edit Half-life and its mods, as well as very basic skills necessary for level design. This section will cover installing<a class=\"read-more\" href=\"https:\/\/www.narby.net\/?page_id=37\">Continue reading<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":35,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"footnotes":"","_links_to":"","_links_to_target":""},"class_list":["post-37","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.narby.net\/index.php?rest_route=\/wp\/v2\/pages\/37","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.narby.net\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.narby.net\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.narby.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.narby.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=37"}],"version-history":[{"count":0,"href":"https:\/\/www.narby.net\/index.php?rest_route=\/wp\/v2\/pages\/37\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/www.narby.net\/index.php?rest_route=\/wp\/v2\/pages\/35"}],"wp:attachment":[{"href":"https:\/\/www.narby.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=37"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}