Archive for November, 2013

I originally planned to cover props & lights before I’d go into giving tutorials about adding a skybox, but I decided doing it now would be more helpful for you as it will make the map easier to navigate through.

Skyboxes are solutions intended to make maps look bigger than they are. They are typically used to display the sky, along with distant, unreachable areas and landscapes, such as distant mountains or buildings.

There are two types of skyboxes:

  1. 3D Skybox – It’s a surrounding area constructed by the level designer, outside the bounds of the gameplay area on the map. Players can never reach the 3D skybox.
  2. 2D Skybox – gives the effect of a giant cube surrounding the map used for applying textures in its interior faces. These textures usually consists of the ground meeting the sky in the horizon, clouds, and other distant details.

The 2D skybox for a level is set in the map properties which can be accessed through Map ->Map Properties.

Creating a Skybox

To start create skybox for you map first need to select the right texture. Select Browse to pop up the Textures window, then filter for ‘skybox’ or to be exact ‘tools/toolsskybox’. The selected texture should be like the one highlighted in red square box here:

skybox

Double click it for selection. Then create a block template with your map inside it like so:

Skybox Template

Then right click on the template and select Create Object.

We are not finished. Next need to make the skybox hallow, as the skybox brush has outer surfaces set to the texture. To make the brush hallow right click the brush and select Make Hollow.

Skybox Brush View

(Top-left view is how brush looks from outside. Bottom-left view is from within the brush. Need to make the inside look like outside)

After selecting Make Hollow a dialog box will pop up with text “How thick do you want the walls? Use a negative to hollow outward” and value 32 in the textbox. To make it hollow change the value ’32’ to ‘-32’ and select OK and we are done

Adding light_environment

When using Skybox it is also recommended to add light_environment entity. light_environment  is an internal point entity available in all Source games. It casts parallel directional lighting from the toolsskybox (Skybox) texture to approximate the light cast from the Sun or Moon.

To add a light_environment entity first select the Entity Tool from left side of the hammer editor. It should look like this:

entity tool

Then add ‘light_environment’ to bottom right side of the hammer editor under Objects:

light_env

And then left click somewhere in within the skybox to add the entity, in the middle of the skybox is the best place.

light_env2

Setting Up Skybox and light_environment

Now we move on to setting up skybox in-game texture and setting the appropriate fields for light_environment depending on the skybox texture view.

list of skyboxes that are available for the Counter Strike: Global Offensive can be found here: https://developer.valvesoftware.com/wiki/Counter-Strike:_Global_Offensive_Sky_List

The link provides a preview of skybox texture and values to add to the light_environment fields.  Things to take note of are :

  • Texture name, examples office, jungle, Italy, embassy..
  • Ideal Sun Angle
  • Ideal Sun Pitch
  • Ideal Brightness
  • Ideal Ambience

The other values such as; Ideal Directional Angle, Ideal Directional Pitch and Ideal Directional Brightness are not relevant for light_environment. They are for light_directional which I will cover in another post.

Lets start setting up. For course of the tutorial I’ll be going with;

  • Texture name : Vietnam
  • Ideal Sun Angle : 0 33 0
  • Ideal Sun Pitch : -36
  • Ideal Brightness : 239 228 186 600
  • Ideal Ambience : 199 224 233 350

First we set up the texture, go to map properties by clicking on Map->Map Properties. A pop up window with the heading “Object Properties” will show up:

settingup

Now change the value of the field “Skybox Texture Name” from ‘sky_dust’ to ‘vietnam’. Then click apply.

Skybox texture is now done. We move on to setting up the light_environment. Double click the entity or right click and select properties. This should show up:

settingup2

Now we take the values that I posted above and add them to the appropriate fields. They are given in order so you can just add them in the same order from the top.

  • Ideal Sun Angle – Pitch Yaw Angel : 0 33 0
  • Ideal Sun Pitch – Pitch : -36
  • Ideal Brightness – Brightness : 239 228 186 600
  • Ideal Ambience – Ambient : 199 224 233 350

settingup3

Click apply and you are done.

In-game Screenshot of Skybox and light_environment

2013-11-23_00001

2013-11-23_00002

2013-11-23_00003

Textures – Are two-dimensional raster image in the context of a game engine. Textures in Source are stored in the Value Texture Format or .vtf.

When you begin to add objects such as blocks into your map and focus on the map layout, you want to use developer textures(Dev textures). Dev textures allow you to focus on the functionality of the map and gameplay without being sidetracked texturing.

To find developer textures, filter ‘dev’ or ‘measure’ in Texture Browser window:

devmeasure2

measure1

Now move on to replacing textures. To replace any texture already used in the map, first enable Toggle Texture Application Tool to open up Face Edit Sheet.

Face Edit Sheet is what you will be using for texture functionalities on object surfaces. With the Face Edit Sheet open, Left Click on any texture in your map to set that texture in the Face Edit Sheet.

face edit

Once you have it set, click on Replace. The Replace texture window will pop up. Here you can define what texture you want to use to replace the current texture with. Click browse to choose the texture you want to use to replace current texture.

face edit2

Texture Browser will pop up. This is where you will browse for different textures you want to use in your map. Once you have the texture you want click OK to replace.

Face Edit Sheet is useful for replacing textures as well as other things:

  • You can use to apply already placed textures from one brush to another by left click on the brush face to set current texture in Face edit Sheet, then right click on any other brush you want to place the texture on. (Left click to select and right click to apply)
  • Use new textures, click on browse, filter for the texture you want, once selected right click on the brush to apply.
  • Add texture to entire brush. Hold shift and right click on the brush (object). This will apply the texture on all faces of the brush instead of a single face or side.
  • To  align, scale, justify or rotate your textures, you left click on the face of the brush (This will set the preview window in the Face Edit Sheet). Then use the options to manipulate and align your texture. You can scale, rotate, justify (top, bottom, left, right, fit) or move your textures. Use the up/down arrows to change values. You will see the texture being manipulated in the perspective view port as you change .

If things do not turn as you would of liked, then you could always click on undo button or Ctrl + z to undo to try again.

Decals – materials projected onto existing surfaces. They can be placed by the level designer, and are also generated by the engine for bullet impacts, blood, and other effects.

To add decals you first need to select one. Click on the Browse (The same for when selecting a texture) and filter for ‘decal’ or ‘decals’

decal2

Double click on the required decal and then select Apply Overlays or Shift + O

decal

Right click on the brush to add the overlay.

Sometimes the overlay/decal may be too big, but it is possible to resize by selecting and resizing it through the views.

Warning : Adding decal on cracked brush may only appear on one surface. Also unable to add overlay on breakable brushes.

decal 3 decal4

First image (Left) shows the end of the surface, second half of the decal/overlay is missing. Second image (Right) Decal/overlay is added on breakable object, unfortunately the overlay will not show up in-game.

In this post I will explain the basic architecture and how to create different shapes such as block, torus, spike, sphere, cylinder and arch.

Before starting your map in CS:GO, you need to know key unit dimensions for characters and architecture. This includes character crouching, standing, width. Wall heights, depths, stairs height and depth, windows, doors etc. You can’t fix this in the later stages of your production, without remaking and reworking your geometry. So you must make sure that when you build your first block, that they look correct. I recommend  creating a Test Map where you can test the objects development before adding them into your official map.

Player Dimensions

  • Player Height Standing: 72 Units
  • Player Height Crouching: 54 Units
  • Player Width: 32 Units

Jumping Height

  • Jump: 54 Units
  • Crouch Jump: 64 Units

Minimum Height & Geometry Constraints for Player Movement

  • Minimum Player Height to Pass Under Standing: 73 Units
  • Minimum Player Height to Pass Under Crouching: 55 Units
  • Minimum Player Height to Pass Width: 33 Units
  • Maximum Object Height for Stepping: 18 Units

Average Wall Height (Use dev/dev_measurewall01c Texture)

  • Average Wall Height: 128 Unit
  • Average Wall Depth: 16 Unit

Shapes

To create shapes first need to select the Block Tool or Shift + B

In side, top or front view, draw out brush template by left click and drag. This will create a brush template.

Right click then select Create Object or press enter to create geometry brush. The standard brush will be Block, but you are able to select different shapes from a list.

Object shapes

Shapes

Before deciding on the object shape that you wish to create make sure to measure out object template, just like you did when creating block object either in the top or front view windows.

If you select the cylinder option from objects drop list then it will create cylindrical shape to the object facing up.

Cylinder Object

If you select the spike option from the objects drop list, then it will create a pyramid shape.

Spike Object

Sphere option will allow you create sphere.

Sphere Object

To create Arch or Torus then the SDK will require more information from you to create these objects.

Lets start with Arch, after right clicking and selecting Create Object or hitting Enter, a pop up will show giving options to set additional information about the arch.

Arch ObjectThe ones you need to familiarise yourself with are:

  • Wall Width – Width of the arch wall, the greater the number the thicker the walls, too much can turn arch to semi-circle.
  • Number of Sides – Number of sides that makes up the arch, the greater the number the smoother the arch.
  • Arc – This is the number of degrees the object will span. 360 full circle and 180 is semi-circle.
  • Preview – Will give example view on how it should look when created. This is recommended to be used after changing the values of the parameters.

Now move on to the Torus. After selecting it from the drop list and creating the object a pop up will show.

Torus

It has similar parameters to the Arch with edition of:

  • Cross-Section Radius – This represents the side of the hole. Smaller the value the bigger the hole.
  • Rotation Sides – The amount of faces/sides in total volume of the torus.
  • Rotation Arch – The amount of rotations in degrees. (360 = one complete rotation)

This is in-game view of the objects

Objects

 

(Torus may have few texture problems)

In this post I will go through basic navigation and important interface features.

Navigation

I recommend using an existing map to help with the navigation. To do this left click once or select File –> Open. This will open a file window. Select the map that you wish to view (give it a minute to load).  When the map loads it should display like this:

Open Map

if not then go to view –> Autosize 4 Views. This will give four view instead of one. These are:

  • In-game Textured view
  • X/Y Top view
  • Y/Z Front View
  • X/Z Side View

These view can be changed, but not really necessary to do so, as these views are the real essential view required.

To navigate the Editor you use he WASD keys to move; forward, left, back and right. Arrow keys to look up, down and turn left and right. Mouse scroll to Zoom in and out.

To change the grid size you can use Grid size change buttons at the top left side or [ and ] keys on the keyboard.

Interface

Now that you have learned how to navigate, we can move on to the Hammer Editor interface features that you will be using. Before that start setting up some important feature and show how to create a new map.

To create a new map select File then click on New. This will make top left view black and others will have empty grids

.New Map

Options

You can look at editor options by going up to Tools –> Options. This will give you some editor preferences you can set. Some require more knowledge about what they do, but others are self-explanatory.

You can switch over to different tabs from game configurations to general to 2d/3d views.

Recommendation: I recommend changing a value within Options under the 3D Views. Increase the value of the back clipping plane to maximum, which is 1000. I’ll explain reasoning for this in future post.

Toolbar Functions

002-csgo-07

counter strike 1.46   Simple redo and undo buttons

counter strike 1.44 Radius Culling, this will show what can be renders in the texture view.

counter strike 1.43 Helpers, this will show certain helpers in the texture view to help setting the object task.

counter strike 1.45 L-R. Group selection objects, Ungroup selection objects and Toggle group ignore. Group selection objects will group together selected objects. Ungroup selection objects does the opposite and will separated objects individually. Toggle group ignore allows you to select an individual object within a group of objects without removing it from the group.

counter strike 1.42  Run Map, this will run the map in-game

These are all you required to know, others are made for more advanced level editors.

VISGROUPS

Visgroups are organizational tools within the editor. Think of these as layers or folders that you can place objects into and then switch the display on and off. This helps to keep the viewports to what you are working on without being overwhelmed by all the geometry within the scene. This becomes very important as you map grows in size.

VISGROUPS

 

This and future posts will be set around how to install and use the Source SDK Hammer World Editor to create maps for Counter Strike: Global Offensive only. Also this Counter-Strike: Global Offensive – SDK is only available for PC.

Lets Start;

In order to access Counter-Strike: Global Offensive SDK Hammer World Editor you need three things:

  1. Steam Client. Visit http://store.steampowered.com/about/ and install the client if not already have.
  2. Counter-Strike: Global Offensive game. Can be purchased from the Stream store.
  3. Counter-Strike: Global Offensive – SDK (Software Development Kit) downloaded from Steam.

INSTALL Counter-Strike: Global Offensive & Counter-Strike: Global Offensive – SDK

If you have just purchased the game, then at the end of the transaction Steam will ask if you would like to install the game. If not and plan to install it later on, then you will find the game under the  Library greyed out. Double click to launch the installer. At the end of the installation the game will be displayed white.

counter strike 1

Once you have the game, we can install Counter-Strike: Global Offensive – SDK. To do so white in Library and under All Games, use the drop down menu and select Tools. Then search for until you see Counter-Strike: Global Offensive – SDK and double click it. This will pop up the installer.

counter strike 1.1

Launch Counter-Strike: Global Offensive – SDK Hammer World Editor

To build maps, double click on Hammer World Editor and the editor will open. That is all you need to know at this stage. I will cover Workshop Map Publisher in a later post.

counter strike 1.2

When the editor opens, it will be displayed like shown in the image below. From there you have the option of starting a new map (File –> New) or opening an existing map (Left click once or File –> Open).

Hammer Editor

Note: Maps are saved at C:\……\Steam\steamapps\common\Counter-Strike Global Offensive\sdk_content\maps