# Source SDK: Mastering the Source

Welcome to Source SDK: Mastering the Source, a featured wikibook that will help you understand and master the difficulty that is the Source SDK. This book will guide you through all aspects of Valve's Source: Software Development Kit, and help you across the road to designing, modeling, and creating new games with Source.

## You Can Help!

You are strongly encouraged (read as begged) to contribute to this book! There are many things you can do to help:
* edit existing modules (to correct errors, improve the writing, or make additions)
* add new modules (tutorials or reference material)
* upload new images (screen shots or sample renders)
* join the team responsible for this WikiBook

### How to Edit a Module

To edit any wiki page (including this one):
* Click on the Edit tab at the top of the page.
* Make your change in the large text box.
* Type an explanation of your change in the Edit summary text box below.
* Click on the Show preview button below the edit summary to preview your change.
* If you're satisfied with the result, click on the Save page button.
Your contribution will be reviewed before it is officially published.
Things you shouldn't add to modules:
* external links that are not directly related to the module
* comments or questions regarding the text
To ask questions and make comments about any module:
* Click on the Discussion tab at the top of the page. This will take you to the corresponding talk page. Note that the talk page name begins with the "Talk:" prefix.
* If the topic of your question or comment is under discussion, edit the relevant section.
* If it's a new topic, click on the Add topic tab at the top of the talk page to start a new discussion.
* Sign your message by typing ~~~~ at the end. (This will expand to your username and the date.)
* Remember to save your edit when you're done!
* To return to the WikiBook, click on the Book tab at the top of the talk page.

### How to Add a Module

To add a module (such as a tutorial or reference page) to this book:
* Edit the Table of Contents section (below) and add a list item with a descriptive wikilink.
* After saving your edit, follow the redlink to create the module and begin adding content to it.
* To make it easy to read the book in sequence, each module should have navigation links to the previous module and the next module. Provide these links by transcluding the NAV template at the top and bottom of the page.
* Preview your work. When you're satisfied with it, use the Save page button to add your new module to the wiki.
* If you provided navigation links, update the NAV templates on the previous and next modules, if they exist.
* If you didn't provide navigation links, please ask someone to insert your new module in an appropriate place. One way to do this would be to create a talk page for your new module and type your request there.

### Images

Images are a vital part of this book. They clarify instructions, provide a point of reference, and improve the teaching process. However, if the image's copyright is not attributed correctly, we must remove it. Please make sure every image you use is not copyrighted or that you have permission to use it.
Before uploading an image:
* Search Wikimedia Commons to see if the image you want to use already exists. (Uploading duplicate images is wasteful.)
* Before uploading a general image (such as an icon or button) or if you want an image to use as an example, look in our image portfolio. Remember to attribute the work of others.

### How to Join the Team

If you want to join our WikiBook team, go to the team page for information and advice.

## Overview

Welcome to the wiki book Source SDK: Mastering the Source, and most importantly, the Source SDK itself. This chapter will teach you the very basics of the Source SDK and this book concerning it.
* What is Source?
* About this Book
* How do I get Source?
* Application Browser

# Table of Contents
## Section One: The Hammer World Editor
### Chapter 1: Getting Familiar

Navigating your way through the Hammer Editor's features will take some getting use to. This chapter is going to teach you where to find all the different buttons, flips, and switches so that you know where to find something when you need it.
* What is Hammer?
* The Control Bar
** File Menu
** Edit Menu
** Map Menu
** View Menu
** Tools Menu
** Instancing Menu
** Window Menu
** Help Menu
* The Menu Bar
* The Tool Bar
* The Four Viewports
* Selection Box
* Texture Box
* Entity Box
* VisGroups Box
* Status Bar

### Chapter 2: The Basics

Time to get crack'n, this chapter will familiarize you with all of Sources shapes and editors. Don't worry, we'll only be introducing you to what kinds of materials there are, we won't be getting into any advanced editing and construction just yet.
Simple Meshes
* Blocks(squares and rectangles)
* Cylinders
* Cones
* Wedges
* Spheres
* Arches
Simple Editing
* Transform Tool
* Make Hollow
* Carve
Simple Texturing
* Texture Tool
* Texture Types
* Changing Texture size
* Multi-face Texturing
* Nodraw
Simple Entities
* Spawn Points
* Simple Lights
* Basic Props
** Prop Statics
** Prop Physics
** Prop Dynamics
* Doors
Saving and Compiling
* Saving your Map
* Compiling Basics
* Making a Skybox
* Common Compiling Errors
* Creating a Prefab
Our First House
* Making a House
* Making the Land
* House Basics
* Texturing
* House Advanced
* Furnishing our House
* Compiling our House

### Chapter 3: Entities

This chapter will familiarize you with all known entities in the Hammer Editor. Entities are a critical and necessary component in all forms of Hammer level design and construction.
Point Entities
Brush Entities

### Chapter 4: Advanced

Meshes and Editing
Lighting
Textures
Entities

### Half-Life 2 Mapping

Tools and techniques used specifically when mapping for Half-life 2 or it's episodes.
Entities
* Items
* NPCs
* Weapons/

### Counter-Strike Mapping

Tools and techniques used specifically when mapping for Counter-Strike.

### Left 4 Dead Mapping

Tools and techniques used specifically when mapping for Left 4 Dead, or Left 4 Dead 2.

### Other Help Resources

Valve Developer Community
World of Level Design
ModDB

## Section Three: Documentation

Release Notes
SDK Reference Docs

## Section Four: Create a Mod
# Photos for this book

Photos