Remember that HL1 snowball fighting mod back in the day? It was around for one of those winter season. I always thought someone would bring it back for HL2 and I'd get to re-live that fun mods game play all over again. No one did tho, and Ill be damned if I let that happen again this year! Here's a snowball fighting mod for release this winter!

Post tutorial Report RSS Mapping - Getting Started

Getting started into mapping for the Source 2013 SDK, setting up Snowball Fight for mapping in Hammer world editor, and the Snowball Fight beta 1 map entities infomation.

Posted by on - Basic Mapping/Technical

Mapping for Snowball Fight in Source SDK 2013

Hello, welcome to a short tutorial for the Source 2013 SDK, and this mod, Snowball Fight. I've broken the tutorial up into three parts to help keep track of where you are, or where you left off if you need to come back and finish it up. Those three parts are: Getting started, Hammer Manual Configuration, and Using Snowball Fight Entities. I hope I kept things clear and to the point.


Part 1 - Getting Started

This part of the tutorial I will assume you haven't downloaded the 2013 Multiplayer SDK, nor downloaded the mod yet. If you've already done this and have a working Hammer editor, move on to Part 2.


Loading the SDK for the mapping program

01 setup


1. So, firstly were going to download the "Source SDK Base 2013 Multiplayer". You'll find it in your Steam app, in the Library->Tools section. Download it.
2. Once it is downloaded, right click it and open the "properties", using the tabs at the top of the window pop-up, navigate to the "BETAS" page. Under the "Select the beta..." choose to opt into "beta_test -" and click "Close" on the bottom right of the pop-up window.


02 setup

This is the only way hammer will run properly.


3. Now run the SDK by Right Click->Play Game, or double clicking "Soucer SDK Base 2013 Multiplayer [beta_test]"
4. Once it starts up and you have the menu loaded, you can exit out, back to the desktop and this should have set up some important files for you.

Loading the mod
1. Download the mod here: SNOWBALL FIGHT
2. Install the mod folder to your ..\sourcemods\ folder. For example, my folder was extracted to "E:\Games\steamapps\sourcemods\Snowball Fight".

Ok! That's done, and on to Part 2 where we'll manually configure Hammer editor to work with Snowball Fight.


Part 2 - Hammer Manual Configuration

Main Configuration

03 config


1. Locate your hammer.exe, you are going to find it in the ../bin/ folder of the Multiplayer SDK. For example, my hammer.exe is located here: "E:\Games\steamapps\common\Source SDK Base 2013 Multiplayer\bin\", Run it!
2. Hammer may ask for a configuration on startup, select any of the few that are there. "Source Test" will be fine if its there. Once in hammer, select "Tools->Options" to bring up the hammer configuration options.
3. Under "Configuration:" click the "Edit" box to the right of the mod type you selected in the last step. This open up the "Edit Game Configurations" options. Click "Add" to make a new entry, and enter in the games name "Snowball Fight", hit "OK". Now that it is on the list, Close the "Edit Game Configurations", Then back at the Configure Hammer, under Game Configurations, switch "Configuration" to our newly added configuration "Snowball Fight".

All the information should now be blank. This is a good thing, lets fill it all in now.


4. For the "Game Data Files:" click add. Hopefully this will open to the SDK Multiplayer\bin\ folder, and you should see "base.fdg", and a couple others. Select that one, and click "open". That should have added it to the list. Now we still need to add Snowball Fight's FDG, for the entities that are specific to the mod. So, once again, click "add", navigate to the Snowball Fight mod folder (mine is still "E:\Games\steamapps\sourcemods\Snowball Fight") and select "snowball_fight.fgd", and click open.

Now you should have the two important .FDG files for all the entities you should be using in your maps.


(5. optional)
5. Change the "Default PointEntity class" to "info_player_deathmatch", and change the "Default SolidEntity class" to "func_detail". I prefer it this way, because most often, I'm turning brushes into detail. Or I'm placing down death match locations, and this way I don't have to switch to them.

6. For the "Game Executable Directory" browse to the "Source SDK Base 2013 Multiplayer" directory. ($SteamUserDir\Source SDK Base 2013 Multiplayer)
7. For the "Game Directory" browse to the "Snowball Fight" mod directory. ($SteamDir\steamapps\sourcemods\Snowball Fight)
8. For the "Hammer VMF Directory" create a work folder somewhere on your computer (I put mine in the SDK folder and called it "mapSrc"), and browse to that folder. ($SteamUserDir\Source SDK Base 2013 Multiplayer\mapSrc)

OK! Finished? nope, now we just need to set the build programs, then we're good to go. so:


Build Programs

03 config2


9. On the very last tab in "Configure Hammer" is "Build Programs", open it.
10. Change the Configuration to your new configuration "Snowball Fight".
11. The "Game Executable" is located in the "Source SDK Base 2013 Multiplayer" directory. ($SteamUserDir\Source SDK Base 2013 Multiplayer\hl2.exe)
12. The BSP, VIS, and RAD Executables are located in the ../bin/ directory. ($SteamUserDir\Source SDK Base 2013 Multiplayer\bin\vbsp.exe)
13. ($SteamUserDir\Source SDK Base 2013 Multiplayer\bin\vvis.exe)
14. ($SteamUserDir\Source SDK Base 2013 Multiplayer\bin\vrad.exe)
15. Lastly, you set where you want the compiled maps to go. This is into the maps folder of the mod folder. ($SteamDir\steamapps\sourcemods\Snowball Fight\maps).

And that's it, you're now ready to start mapping in the 2013 multiplayer SDK for Snowball Fight! In this last part of the tutorial I'll explain all the entities that are new with Snowball Fight, and how to use them.


Part 3 - Using Snowball Fight Entities

The ideal map for Snowball Fight will work for all game modes. Because Snowball Fight is a beta, and I didn't have much time to make it smart enough to tell that certain goals are unobtainable because the map lacks the right entities for the game mode to function correct, you'll run into issues, and maybe even crashes. The main entities to include to have a map that's functional for all games types are:


03 ent


Mandatory to prevent crashes, and incompatible game types:
*a info_player_deathmatch
(best to have a bunch, 16 would be a nice start as it is usually the max amount of players)
*b info_player_rebel (for team mode, this is a rebel team spawn point, I like to have about 12 for each team even tho the max amount of players is 16)
*c info_player_combine (for team mode, this is a combine team spawn point)
*d func_kothill_zone brush entity with "trigger" texture on all sides. (this brush entity will the the hill location for capturing point in KOTH game modes)
*e info_snowman x2 (one over by the team spawns points (or where ever you'd like), and set the info_snowmans key values "Team" to corresponding defensive team)

And that's all the mandatory ones.


Other Entities included in the Snowball Fight FDG Include:
*f powerup_adrenaline
*g powerup_jetpack
*h powerup_cloak
*i powerup_bigballs
These are the power-ups included in the mod. They have a few Keyvalues that can be tampered with, but the default values will set a specific height and drop a special prop on the floor below it (called a spawner prop).
Key values:
Place Spawner Prop: yes / no
Fix Height: yes / no (no will leave it un-altered, wherever you have it placed in the map)
Respawn Time: 5 (set the respawn time in seconds)

*j info_bouncer
info_bouncer is a remake of the HL1 alien looking launch pads.
Key values:
Snowy Skin: yes / no (for blending into snow, or not)
32 * (bounce multiplier): 4 (This will change how much you get launched, there is a cap so you cant make it ridiculous).

*k func_game_zone
func_game_zone is another brush entity, it would be good to keep all sides in the "trigger" texture. This entity kills players who shouldn't be in that game zone. This keeps players from spawn camping the enemy spawns, and can keep all players inside the game map.
Key values:
Team: None / Combine / Rebel (None is for out of game bounds, Combine can be in Combine, and Rebels can be in Rebel zones.)
Count Down Timer: 5 (how long the count down and the fade into white, will be.)

And that's all you need to know for the beta entities! There is one more * "info_game_mode" fires off when you want to know what game type is being played. But I'm not sure I did it right and couldn't get it working. My only tests were to remove other entities if it was a certain game mode at the start of a map. Maybe it just can't be used at the start? Not sure.. But I'm getting tired so here's where I end the mapping tutorial for Snowball Fight. I hope this helps you get started good luck!




Post comment Comments
notaclevername Author
notaclevername - - 522 comments

There is somewhat of a glitch, that if you jump while hitting a bouncer pad, you'll accumulate the jump speed to the bouncer pads "32 * (bounce multiplier)" speed. In the map sf_two_base, if you pull it off correctly, you can jump right up to the roof.. Or the cover guard on the roof, then walk around it. I think I'll leave this in the game. It plays well and adds some depth of play style.

Reply Good karma+1 vote
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: