This is a sub-page of Proto:Half-Life 2: Episode Two.
|
|
This prototype is documented on Hidden Palace. |
|
|
To do:
|
The Source Particle Benchmark demo, also known as the Multicore CPU Particle Simulation Benchmark, is a late 2006 benchmarking tool used to showcase the benefits of multi-threading in the Source Engine at Valve Hardware Day 20061. It was also given to a few third-parties for independent benchmarks234 and was later shared publicly by one of them. A hacker later rereleased this build to scare Steam users by pretending to have compromised Valve's servers.
The tool's code turns out to be an in-development version of Half-Life 2: Episode Two and of the Source 2007 engine, sporting features of the game and the engine in more or less finished states. It is also unique in that it runs without Steam.
Widescreen crash issue#
When changing the game's aspect ratio from 4:3 to a widescreen one (16:9, 16:10), the background texture will be replaced by a missing texture. Trying to boot the game directly in a widescreen resolution will result in an instant crash.
This happens because there is no widescreen background texture available. The Riverbed screenshot only exists for 4:3 resolutions, and there are no fallback textures from Half-Life 2 or Episode One for the game to use instead.
|
File: Source-Particle-Benchmark-Widescreen-Fix.zip (79 Kio) (info) |
Missing sounds#
The benchmarking map actually tries to play sounds, but it is unable to do so since the build comes without any game sound.
The sounds are managed by two ambient_generic entities.
Thunder#
Thunder sounds from Episode One are manually played by a timer. They can be restored by copying the appropriate sound files from that game.
Sound name |
Files |
|---|---|
|
|
Rain#
The unused rain loop sound is supposed to play forever once the map is loaded. This sound is not present anywhere, even in the final game, and thus cannot be faithfully restored.
Sound name |
File |
|---|---|
|
|
In-game differences#
Main Menu#
Normally, the game directly loads the benchmarking map when launched. By editing the batch file that starts the game, it is possible to get to the main menu instead. The menu tries to load the map ep2_background01 but it doesn't exist, so nothing happens.
The background texture is a blurred screenshot from a location named Riverbed. This was confirmed by leaks of various Half-Life 2-related map source files on March 24, 20175. Riverbed was the initial location for the train crash at the beginning of Episode Two.
Proto |
Final |
|
|---|---|---|
Main Menu |
![]() |
![]() |
Texture |
![]() |
![]() |
{| class="wikitable" style="margin: auto; text-align: center" ! scope = col | Texture !! scope = col | Screenshot |- |
|
|}
Friends Network and Steam Parlor Games#
From 2004 to July 2007, Source Engine games had a "Friends" feature to check your Friends List in-game. It was replaced by the Steam Overlay in 2007. The servers for the first version of Friends (which use Tracker severs introduced in 2002 during Steam Beta) was shutdown when Friends Beta was introduced, while second version (Friends Beta, later renamed to just "Friends" and referred as Friends v2), introduced in January 2006, still works with latest Steam client, but partially functional and buggy.
Since this prototype ships with a custom Steam.dll file which emulates some Steam features and trick the game into running in Steam Offline Mode, the Friends feature always says that "Steam needs to be running for Friends to be available.", even if Steam is running, but when using Steam.dll taken from Source SDK 2006/2007, and launch the prototype with -steam, the Friends feature will work.
Also, builds of the 2004 Steam Parlor Games (which cannot be accessed in any Source engine games due to a UI bug which doesn't show any games option at all, and was never fixed) can be found in platform\AddOns. The assets are the same as the one found in the retail version of Half-Life 2. This prototype ships with Friends v2 which removed the Parlor Games feature.
Player nickname#
When the game starts, the player is given the name ErikJ. The name is specified in the configuration file (config.cfg).
Erik Johnson is one of Valve's business development authorities6.
Flashlight#
|
|
This page or section needs more images. |
|
|
To do:
|
The prototype features an unfinished version of the final game's flashlight with shadow mapping capabilities.
For some reason, the flashlight can be turned on even if the player doesn't have the HEV suit equipped.
Also, special shaders like EyeRefract made specifically to handle the new flashlight effect don't exist yet, so rendering issues happen when shining the light on another character.
Episode One |
Source Particle Benchmark |
|---|---|
![]() |
![]() |
Flashlight icon#
In Half-Life 2 and Episode One, the flashlight uses the suit's power, sharing it with sprinting and oxygen. By late 2006 however, Valve had already implemented the flashlight's own power source. It uses the Half-Life: Source icon as a placeholder.
Proto |
Final |
|---|---|
Entities#
npc_magnusson#
npc_magnusson, the entity for Dr. Magnusson, already exists in the code but his model is missing.
npc_surface#
npc_surface is a test entity made of many blobs that can merge together into bigger shapes. An explosion can scatter the blobs around, after which they will merge back together. Each blob deals 5 damage when touched.
This entity functions using a technology known as Blobulator. Blobulator was eventually used for Portal 2's Mobility Gels7.



npc_blob#
npc_blob is a test entity designed to showcase the Source Engine's ability to render entities moving in packs and formation.
It uses the Snark model from Half-Life: Source. It is showcased in a map called demo_blob that wasn't present in the Benchmark by default but was part of the Repo VMF map sources that leaked in 2016. In the map, a flock of npc_blob will walk over map objects, entities, and even take on specific shapes, such as the Half-Life logo.
Files#
Steam Leftovers#
The same game icons leftover from Half-Life 2 are present. These were used in Steam during its early years.
Early Xbox 360 Orange Box Menu#
Early textures used for the Xbox 360 game selection menu (internally known as AppChooser), which allows you to select which Orange Box game to play at startup, are present.
Background |
||||||
|---|---|---|---|---|---|---|
Prototype |
![]() |
![]() |
||||
The Orange Box |
![]() |
![]() |
![]() |
![]() |
![]() |
Of note:
- In the final version, each game has its own loading background. In the prototype, only Episode Two's background is present.
- The buttons in the prototype have rounded corners, unlike the final versions.
- The button for Half-Life 2 reuses promotional art from the Collector's Edition box art, which itself is from a pre-release version of the game.
- The button for Episode One reuses promotional art from its retail box art.
- The button for Portal is a prerelease screenshot of Portal's Test Chamber 13.
Missing T-Minus One Chapter#
The chapter setup between the prototype and the final game is the same, except for the final T-Minus One chapter which is missing.
There is also no recap video. The command required to play it doesn't exist in the code.
Proto |
Final |
|
|---|---|---|
chapter1.cfg |
|
|
chapter2.cfg |
|
|
chapter3.cfg |
|
|
chapter4.cfg |
|
|
chapter5.cfg |
|
|
chapter6.cfg |
|
|
chapter7.cfg |
N / A |
|
Scenes#
|
|
To do: |
All scenes (VCD files) from Half-Life 2 and Episode One are present in hl2\scenes and episodic\scenes respectively.
The scenes for Episode Two were removed, leaving only the directory structure.
However, a few scenes did survive, most are for Dr. Magnusson, while a single one is for Griggs.
ep2\Scenes\outland_02\griggs_betweenwave_01.vcd
ep2\scenes\outland_11\mag_aband_critical.vcd
ep2\scenes\silo garage\mag_getgoing.vcd
ep2\scenes\silo garage\mag_littletotell.vcd
ep2\scenes\silo garage\mag_nothingelse.vcd
ep2\scenes\silo garage\mag_onelastthing.vcd
ep2\scenes\silo garage\mag_thatsit.vcd
ep2\scenes\silo garage\striderbuster.vcd
Early NPC soundscripts#
Soundscripts are files that identify sounds in the game. This allows developers and level designers to add sounds to their maps; the sound's properties such as the sound file to use, the volume, the pitch, etc. are controlled by the soundscript.
These files show that some parts of the final game were already planned, in the making or even done by late 2006.
File |
Use |
|---|---|
|
The Hunter-Chopper in the Riding Shotgun chapter |
|
The Fast Zombie getting on the Muscle Car |
|
The battle of the Our Mutual Fiend chapter |
|
Under the Radar chapter? |
Early soundscapes#
Soundscapes are sets of looping and random sounds that build the audible environmental ambience of the game.
The prototype contains two early soundscape text files, which are essentially the ones from the final missing a lot of entries.
scripts\soundscapes_outland.txt
scripts\soundscapes_silo.txt
Rain#
In the level_sounds_outland_episodic.txt soundscript, an ambience entry exists for a rain loop, suggesting a rainy level at some point. Considering that the Riverbed style guide maps have rain, this was very likely.
"ep2_outland.rain_loop1"
{
"channel" "CHAN_STATIC"
"volume" "1.0"
"pitch" "100,110"
"soundlevel" "SNDLVL_120dB"
rndwave
{
"wave" "ambient/levels/forest/rain_loop1.wav"
}
}
weapon_proto1#
In the ep2\scripts directory lies a weapon script for a prototype rail gun simply named weapon_proto1. However, the weapon itself doesn't exist in the code so it cannot be spawned.
The weapon script itself only shows that it had unlimited ammunition and its own ammunition type. Otherwise, it uses the .357 models and sounds as placeholders.
The code for this weapon was added as part of the Team Fortress 2 SDK release in February 2022. It reveals that:
- the weapon was being used for testing things for Episode Three,
- the primary fire caused a hitscan bolt to be fired; that bolt could penetrate an NPC or the world once, allowing the player to hit an entity through a wall or two enemies at once,
- the secondary fire would cause the weapon to detect NPCs in a specific radius around the player and play a sound as well as show a visual effect.
Source Filmmaker sessions#
Two Source Filmmaker sessions from Episode One are present in the files. Both of these were used in Episode One's trailer.
episodic\elements\sessions\alyxdemo01_grenadeflinch01.dmx
episodic\elements\sessions\alyxdemo02_antlionfight01.dmx
Voice lines soundscript#
|
|
To do: |
The prototype ships with an early version of the ep2\scripts\level_voices_episode_02.txt, which is a soundscript for the voice lines.
The biggest difference is that many voice lines are missing in the prototype. Some of them had their volume or file path changed.
However, there are a few interesting cut elements:
- Lines regarding Alyx's fall in the original beginning of Episode Two (presumably Riverbed) are present.
- Two characters named Cyril and Fred were to appear on the bridge near the Muscle Car is acquired in the map
outland_06, according to the file paths.- They would supposedly have talked to each other as well as Gordon and Alyx.
- Their names are references to science-fiction writers Cyril M. Kornbluth and Frederik Pohl10.
- The G-Man's monologue during Alyx's healing was much longer.
Broken Half-Life 2 binaries#
The hl2\bin folder contains a set of client and server DLLs for the base Half-Life 2 code (without the Episode One and Episode Two additions), as well as their PDB files. It is possible to reach the menu, but the game crashes when attempting to load a map. The issue is caused by an error when loading models.
Windows Registry#
The Source Particle Benchmark can be run without Steam, but it will still read and write Steam settings in the Windows Registry.
Source Engine games store their graphics settings in the Registry. They also update some Steam values.
The game uses Steam's language setting to determine its text language (HKEY_CURRENT_USER\Software\Valve\Steam:Language).
[HKEY_CURRENT_USER\Software\Valve\Source\ep2\Settings]
"AutoConfigVersion"=dword:00000001
"ScreenWidth"=dword:00000400
"ScreenHeight"=dword:00000300
"ScreenWindowed"=dword:00000000
"ScreenMSAA"=dword:00000002
"ScreenMonitorGamma"="2.2"
"mat_forceaniso"=dword:00000004
"mat_picmip"=dword:00000001
"mat_trilinear"=dword:00000001
"mat_vsync"=dword:00000000
"mat_forcehardwaresync"=dword:00000001
"mat_parallaxmap"=dword:00000000
"mat_reducefillrate"=dword:00000000
"r_shadowrendertotexture"=dword:00000001
"r_flashlightdepthtexture"=dword:00000001
"r_rootlod"=dword:00000001
"r_waterforceexpensive"=dword:00000001
"r_waterforcereflectentities"=dword:00000001
"mat_antialias"=dword:00000002
"mat_specular"=dword:00000001
"mat_bumpmap"=dword:00000001
"mat_hdr_level"=dword:00000002
"mat_colorcorrection"=dword:00000001
"VendorID"=dword:00000000
"DeviceID"=dword:00000000
"DXLevel_V1"=dword:0000005a
"User Token 2"=""
"User Token 3"=""
"key"="1234567890123"
[HKEY_CURRENT_USER\Software\Valve\Source\Settings]
"User Token 2"=""
"User Token 3"=""
[HKEY_CURRENT_USER\Software\Valve\Steam]
"Language"=""
"Skin"=""
"PseudoUUID"="4e9e5f47d37ed844"
"Rate"="10000"
"LastGameNameUsed"="ErikJ"
Build Date#
The version command dumps the engine's build date to the console (engine.dll):
Exe build: 17:37:52 Oct 31 2006 (2915)
It was built on Halloween 2006, theoretically making it the spookiest of Valve's games.
References#
- DriverHeaven.net: Valve Hardware Day: Multi-Core CPUs, James "Rasta Monsta" Gregory, DriverHeaven.net, 2006 (archived)↩︎
- Benchmark Performance - Valve Hardware Day 2006 - Multithreaded Edition, Jarred Walton, AnandTech, November 7 2006 (Wayback Machine)↩︎
- Hybrid-Threading Benchmarks - Valve Software's Source Engine Multi-Threaded Preview | [H]ard|OCP, Paul Jastrzebski, HardOCP, November 6 2006 (archived)↩︎
- Overclocking Intel's Core 2 Quad Q6600 | bit-tech.net, Tim Stalley, bit-tech.net, July 25 2007 (Wayback Machine)↩︎
- The leaked maps of the Half-Life 2 episodes - Part 1 | ValveTime.net | Valve News, Forums, Steam, Barnz, March 27 2017 (Wayback Machine)↩︎
- People at Valve, Valve, 2022 (Wayback Machine)↩︎
- Portal 2 Preview | Features | Edge Online, Edge Online, March 18 2011 (archived)↩︎
- The Orange Box Xbox 360 Preview - Video Preview (HD), IGN, ign.com, May 25 2007 (Wayback Machine)↩︎
- The Orange Box Xbox 360 Preview - Video Preview (HD), IGN, youtube.com, June 23 2011 (Wayback Machine)↩︎
- Half-Life 2: Episode Two - Cyril, Fred, and friends | ValveTime.net | Valve News, Forums, Steam, Barnz, April 12 2017 (Wayback Machine)↩︎











