O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Source SDK Game Development Essentials

Book Description

Develop engaging and immersive mods with Source SDK

In Detail

The Source Authoring Tools are the pieces of software used to create custom content for games made with Valve’s Source engine. Creating mods and maps for your games without any programming knowledge can be time consuming. These tools allow you to create your own maps and levels without the need for any coding knowledge. All the tools that you need to start creating your own levels are built-in and ready to go!

This book will teach you how to use the Authoring Tools provided with Source games and will guide you in creating your first maps and mods (modifications) using Source. You will learn how to stay organized, map efficiently, and avoid the most common mapping mistakes.

This practical guide begins by setting you up with Source SDK and a 3D development environment. Through a series of guided tutorials, you will learn what it takes to create a professional, polished map or mod.

You will learn how to create varying types of worlds, from underground labs to flowing outdoor terrains. You will also learn how to bring life into your world with advanced texturing, lighting, and decorating techniques. Towards the end of the book, we will learn how to create goal-driven A.I. sequences and scripts to choreograph epic battles and take control of your enemies and allies.

The content has been developed using the illustrations from Half Life Episode 2

What You Will Learn

  • Sculpt the physical world with Hammer's easy-to-use block and terrain tools
  • Make visually engaging environments with props and textures
  • Use lighting and color correction to create immersive atmospheres
  • Import your custom content into the game
  • Script special events using the powerful input/output system
  • Control the non-playable characters to bring life to your world
  • Manipulate the A.I. to choreograph assaults, battles, and squad movements
  • Create an infinite amount of particle effects with the particle editor

Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.

Table of Contents

  1. Source SDK Game Development Essentials
    1. Table of Contents
    2. Source SDK Game Development Essentials
    3. Credits
    4. About the Author
    5. About the Reviewers
    6. www.PacktPub.com
      1. Support files, eBooks, discount offers and more
        1. Why Subscribe?
        2. Free Access for Packt account holders
    7. Preface
      1. What this book covers
      2. What you need for this book
      3. Who this book is for
      4. Conventions
      5. Reader feedback
      6. Customer support
        1. Downloading the example code
        2. Downloading the color images of this book
        3. Errata
        4. Piracy
        5. Questions
    8. 1. Getting Started with the Source SDK
      1. Installing Steam
      2. Getting your tools
        1. Instructions for installing Half-Life 2: Episode Two
      3. The Source SDK tools overview
      4. The Source SDK
        1. Installing the Source SDK
        2. The Source SDK overview
          1. Applications
          2. Documentation
          3. Utilities
          4. Links
      5. Creating your own modification (mod)
      6. Summary
    9. 2. Grasping Hammer
      1. Terminology
        1. Brush
        2. Entity
        3. World
        4. Void
        5. Settings
      2. Loading Hammer for the first time
      3. The Hammer overview
        1. Viewports
        2. The Map toolbar
          1. The Selection Tool
          2. The Magnify Tool
          3. The Camera Tool
          4. The Entity Tool
          5. The Block Tool
          6. The Texture Tool
          7. The Apply Current Texture Tool
          8. The Decal Tool
          9. The Overlay Tool
          10. The Clipping Tool
          11. The Vertex manipulation Tool
        3. The selection mode bar
        4. The texture bar
        5. The filter control bar
        6. The object bar
      4. Navigating in 3D
        1. Looking around
        2. Multiple cameras
        3. Selecting objects in the 3D viewport
      5. Navigating in 2D
        1. Moving around
        2. Selecting objects in 2D
        3. The grid
      6. VisGroups
      7. Summary
    10. 3. Shaping Your World
      1. Creating your first room
      2. A crash course on compiling
      3. Basic brushwork techniques
        1. Cloning brushes
        2. Scaling brushes and objects
        3. Rotating brushes and objects
        4. Skewing brushes and objects
        5. Flipping objects
      4. The Vertex Tool
        1. Splitting faces
      5. The Clipping Tool
      6. The Carve function
      7. Another window method
      8. The Object Toolbar
        1. Creating cylinders
        2. Creating spikes
        3. Truncated cones
        4. Creating a sphere
        5. Creating arches
          1. Standard arch
          2. Hollow cylinders
          3. Spiral staircase
        6. Creating a torus
          1. Cross Section Preview
          2. Top View Preview
          3. Springs
      9. Creating SkyBoxes
        1. 2D SkyBox
          1. Adding light_environment
        2. Changing the SkyBox texture
        3. 3D Skybox
      10. Summary
    11. 4. Textures, Terrain, and Props
      1. Using the Texture Application Tool
        1. Applying textures
        2. Aligning textures
        3. Shifting and rotating textures
          1. Saving time while aligning textures
        4. Using different selection modes
        5. Shifting textures
        6. Locking textures
        7. Locking the texture scale
      2. Applying decals
      3. Applying overlays
      4. Creating terrain with displacements
        1. Creating a displacement
        2. Using the Paint Geometry tool
        3. Using the Smooth tool
        4. Modifying the displacement options
        5. Using the Raise To option
        6. Using the Paint Alpha tool
        7. Sewing
        8. Subdividing
        9. Creating caves quickly
        10. Sculpting
        11. Carving
      5. Creating props
        1. Creating static props
        2. Creating physics props
        3. Creating dynamic props
      6. Summary
    12. 5. Importing Custom Content
      1. Creating materials
        1. Setup
        2. Creating a VTF file
        3. Creating a VMT file
      2. Using VTFEdit
      3. Importing other materials
      4. Importing models
      5. Importing sounds
      6. Summary
    13. 6. Lighting and Compiling
      1. Using lights
        1. Using point lights
        2. Using spot lights
        3. Using light environments
        4. Using dynamic lights
        5. Using texture lights
        6. Using projected textures
      2. Emphasizing lights
        1. Placing point light sources
        2. Placing spot light sources
      3. Modifying Lightmap Grid
      4. Assigning Smoothing groups
      5. Compiling concepts
        1. Checking for problems
        2. Running BSP
        3. Running VIS
        4. RAD
        5. Compiling with HDR
        6. The Expert mode
        7. Checking for and fixing leaks
      6. Cubemaps
      7. Adding color correction
      8. Summary
    14. 7. Triggers and the Input/Output System
      1. Creating your first trigger
        1. Creating a trigger once entity
        2. Adding outputs to a trigger once
        3. Creating a trigger multiple
      2. Input/Output links
      3. Cascading triggers
      4. Automatic triggers
      5. Modifying entity effects
      6. Using different flags
        1. Using filters
        2. The filter activator name
        3. The filter multi entity
      7. Creating subroutines
      8. Summary
    15. 8. Trains and Camera Systems
      1. Track trains
        1. Player-controlled track trains
          1. Creating the func_tracktrain entity
          2. Creating the path
          3. Tying the track train to the path
          4. The controls
        2. Adding detail
        3. Branch paths
        4. Controlling entities with GameUI
      2. Point camera
        1. Multiple cameras
        2. Panning the camera
      3. Point_viewcontrol
        1. The camera
        2. The camera path
        3. Tying it all together
      4. Summary
    16. 9. NPC Movement Basics
      1. Using the Model Viewer
        1. Unpacking models
        2. Loading a model
        3. Model manipulation
        4. Viewing animations
      2. Making NPCs walk
        1. Simple NPC movement
        2. Controlled NPC movement
          1. The aiscripted_schedule properties
          2. Triggering the schedule
      3. Scripted sequences
        1. Choosing your animation
        2. Combining sequences
      4. Actbusy
        1. Creating the actbusy.txt file
          1. Your first actbusy script
        2. Making it work
      5. Summary
    17. 10. Advanced NPC Scripting
      1. Using nodes
        1. Using info nodes
        2. Using hint nodes
      2. Scripting assaults
        1. Setting up an assault
          1. Placing the assault point
          2. Placing rally points
          3. Placing assault goals
            1. Actors to affect
            2. Setting rally points
            3. Search type
            4. Start active
            5. Rally Point Selection Method
      3. Creating squads
        1. Your first squad
        2. Scripting a flank
          1. Creating a schedule and a path
            1. Aiscripted schedules
            2. Aiscripted schedule flags
          2. Math counter
          3. Setting up our soldiers
      4. Summary
    18. 11. Source Particle Editor
      1. Accessing the tools menu
      2. Using Particle Editor
        1. Creating a fire particle
        2. Creating particles
          1. Using Emitter
          2. Using Renderer
          3. Using Initializer
          4. Operator
      3. Particles manifest
        1. Master manifest
        2. The map-specific manifest
        3. The info particle system
      4. Particle children
        1. Modifying existing particle systems
      5. Making fireworks
        1. Creating the explosion
        2. Simulating gravity
        3. Fading and other properties
        4. A parenting example
          1. Setting up the shell
          2. Launching the shell
          3. Stabilizing the shell
          4. Setting up the particle
          5. Adding sound effects
          6. Tying everything together
        5. Results
      6. Summary
    19. Index