Source Engine

The Source Engine is the gaming engine that powers Half-Life: Source, Half Life 2, and other Valve games. For people that wish to create Mod's for a Source game, the Source SDK is available for use.


Steam Logo.jpg

The intense, real-time gameplay of Half-Life 2 is made possible only by Source, Valve's new proprietary engine technology. Source was built from the ground up by Valve and creates the most beautiful and realistic environments ever seen in a video game. In game characters have 40 distinct facial "muscles," and convey the full array of human emotion. The physics are also remarkable as they obey the laws of mass, friction, gravity, and buoyancy.

Source contains robust networking code, providing support for 32-player LAN and Internet games, and inclues a complete toolset for level design, character animation, demo creation, and more.

Below are the engine's features taken from the Source licensing page. Go here if you would like more information on licensing this amazing technology.

Renderer
  • Version 2.0 (and below) shaders, bump mapping, LOD on models and world
  • Author shaders with HLSL
  • Cube and environment mapping
  • Dynamic lights, vertex lighting and light maps, many light types
  • High-Dynamic Range lighting
  • Water with refraction and fresnel effects
  • Advanced particle system that can emit sprites or models
  • Projected shadows allow for a large number of characters per scene
  • Occluder entities for visibility blocking
  • Indoor/Outdoor environments

    • Deformable terrain
    • 3D skyboxes extend the horizon and add parallax on distant objects
    • Dynamically rendered organics (grass, trees etc)

  • Subdivision surfaces, diffuse & specular bump maps
  • Real-time radiosity lighting
  • Effects include but are not limited to: particles, beams, volumetric smoke, sparks, blood, environmental effects like fog and rain
  • Scalability

    • Dx6-Dx9 hardware supported

Materials System
  • Instead of traditional textures, Source defines sets of materials that specify what the object is made from and the texture used for that object. A material specifies how an object will fracture when broken, what it will sound like when broken or dragged across another surface, and what that object's mass and buoyancy are. This system is much more flexible than other texture only based systems.
  • Materials can interact with objects or NPCs such as mud or ice for vehicles to slide/lose traction on.

Multiplayer Network Code
  • Time and gamer tested by millions of gamers around the world
  • Support for both LAN based multiplayer and Internet based multiplayer games
  • Prediction analysis for interpolating collision/hit detection
  • Optimizations for high-latency, high-packet loss 56k connections

Advanced Characters
  • Detailed and believable characters
  • Realistic eyes

    • Focus on player/object, not simply parallel views
    • Proper eye 'bulge' for realistic eye reflections

  • Simulated musculature provides emotions, speech and body language
  • Language independent speech, characters can naturally speak in many languages
  • Skeletal/bone system for animation
  • Layered animation system can synthesize complex animations out of several pieces

Physics
  • More responsive world with realistic interactions
  • Sounds & graphics follow from physics
  • AI characters can interact with physically simulated objects
  • Ropes/cables, machines, constraint systems,
  • ragdoll physics
  • Can be controlled by level design
  • Kinematic animated bone followers
  • Custom procedural physics controllers
  • Vehicles

    • Wheels slip and skid
    • Realistic suspensions with springs on each wheel
    • Realistic leaning during acceleration/deceleration and turning
    • Individually tunable parameters such as horsepower, gearing, max speed, shift speed, tire material, tire friction, spring tension/dampening etc.
    • Multiple players in a vehicle in multiplayer
    • Hovercraft support for cheaper simulation

Advanced AI
  • I/O system allowing level designers to control AI
  • Sophisticated navigation: characters that run, fly, jump, crouch, climb stairs and ladders, and burrow underground
  • AI senses things using sight, sound, smell
  • AI relationships determine friend/foe status of other entities
  • Battle AI allows squads of AI characters to operate together, know when to advance, retreat, lay cover fire, etc.

Sound
  • 5.1 surround sound, 4 speaker surround
  • High-quality 3D spatialization
  • Custom software DSP
  • Automatic DSP based on environmental geometry
  • ADPCM decompression
  • 16-bit 44KHz, stereo wave data with all features
  • MP3 decompression (requires Miles license)
  • Support for audio streaming on any wave
  • Real-time wave file stitching
  • Pre-authored Doppler effect encoded waves
  • Pre-authored distance variant encoded waves

UI
  • Server browser - Displays all active game servers and allows a player to choose which one to participate on. Players can filter and sort server lists in order to speed up the display and selection of a server.
  • Friends instant messenger - Allows players to message each other both in and out of the game as well as join friends in existing games. No more confusion about what server your friends are on, you can easily join with this feature.
  • VGUI - Valve's custom GUI interface mimics most of the windows controls but is rendered using the Source engine for both in game and out of game uniform UI display. VGUI is platform independent and is Unicode compliant for ease of localization

Programming
  • All code written in C/C++ using Visual Studio 6.0. Easily and quickly derive new entities from existing base classes.
  • Internal context sensitive performance monitoring system
  • Graphics performance measurement tools built into the engine
  • Modular code design (via DLL's) allows swapping out of core components for easy upgrading or code replacement
  • Dx9 shaders all written in HLSL

Tools
  • Faceposer

    • Facial expression tool used to craft speech and emotions

  • Valve Hammer Editor

    • WYSIWYG World editor
    • Create world brushes
    • Terrain editor
    • Place detailed world models and AI NPCs
    • Set navigation points/paths for NPCs
    • Place triggers, clip brushes, logic etc.
    • Allows level designer to hook up I/O between entities to control AI

  • Half-Life Model Viewer

    • Full model previewer
    • Rotate models in any direction
    • Setup hit boxes
    • View physics hull
    • View normals
    • Wireframe, shaded or textured view modes

  • Studiomdl

    • Model compiler

  • Vbsp, Vrad, Vvis, VMPI

    • Map compilation tools (bsp, lighting and visibility)
    • VMPI - distributed compilation tool allowing level compiles to be spread across many pc's greatly reducing compile times

  • Exporters

    • XSI, Max and Maya .smd exporters for exporting 3D models

Related Threads

Mods: Behold the power of the Source engine (Mod List First Post) - last post by @ Nov 25, 2003
Deus Ex: Source Officially Announced - last post by @ Jun 10, 2006
Half-life : Source - last post by @ Nov 22, 2004
PC combination that brings out the best f HALF-LIFE 2:Source - last post by @ Oct 28, 2004
Half-Life 1 Deathmatch: Source Hits Steam - last post by @ Aug 29, 2005
Last edited by andersersej on 14 April 2012 at 12:15
This page has been accessed 3,496 times.