Portal 2 (Windows, Mac OS X, Linux)
This game has unused areas.
This game has a prerelease article
|This page sucks.|
If you could make it suck less, that would be awesome.
Specifically: This is a really good game and deserves better than this horribly-formatted todo-filled piece of trash.
Portal 2 doesn't have any cake, but there's plenty of space to move around and find unused things in. The game's ending leaves several questions unanswered, although one was eventually answered in February 2012 as free DLC for The Elder Scrolls V: Skyrim - which ended up raising even more questions.
A whole bunch of stuff.
- 1 Sub-Pages
- 2 Unused Speech
- 3 Unused Sounds
- 4 Unused Music
- 5 Turret Wife Serenade's Internal Name
- 6 Unused Textures
- 7 Unused Entities
- 8 Puzzle Maker
- 9 Paint Fizzler
- 10 Unused Bitmaps
- 11 Pirate Speak
- 12 Unused Map Names
- 13 Hidden Monitor
| Unused Lines|
Cave Johnson has a lot of unused lines.
|Unused prerecorded messages from Chapter 1 which are replaced by Announcer's prerecorded messages.|
|Unused speech from the scene where GLaDOS is reactivated.|
|These are thought to be from an unfinished scene in which you'd hear a recording of Caroline getting forcibly turned into GLaDOS.|
|Extended unused speech of Wheatley talking about nanobots. The dialogue is shortened in the final.|
|An alternate version of meeting potato-ized GLaDOS. In one version of the script, she continued being a snarky jerk at you even while impaled on your Portal Gun. This got on testers' nerves very very quickly.|
|From an earlier version of the co-op plot, in which GLaDOS sent Atlas and P-Body out to find "artifacts" of the long-dead Aperture workers (coffee cups and such) to make them more human. Here, they've found a certain newspaper comic strip, presumably Garfield.|
|This was heard when the co-op demo was completed when the game was being played at PAX.|
|A snippet of dialogue from Dr. Kleiner in Half-Life 2, called error.wav in the game files. It plays when the game fails to load a required sound file, something that doesn't usually happen unless the game has been modified or improperly installed. It is most commonly heard in community maps, if custom sounds are not properly packed into the BSP file. It can also rarely be heard in the PS3 port when interacting with the buttons next to the vitrified test chamber doors, though it is unknown why this is, or if it occurs in other versions of the game.|
Unused SoundsEven though the Adhesion Gel was cut, the sounds for it still exist in the final game.
|5 seconds of pink noise. Likely used for testing.|
|Entering adhesion gel.|
|Exiting adhesion gel.|
|Unused paint idle SFX.|
|Unused paint trickling sound effect.|
|Unused line for when the player is spotted by a Turret.|
|Unused line for when a Turret is searching for the player.|
|Unused line for when a Turret is shooting at the player.|
|Unused lines for when the player knocks down a Turret.|
|Unused lines for when the player picks up a Turret.|
|A beep sound that was used as a placeholder for the real music cues. This is the same beep that is used in Half-Life 2 when you die.|
|This was originally meant to play after jumping a second time trying to say "apple", but its soundscript points to the final track, causing that to be used instead.|
|A fragment of "Self Esteem Fund" from Portal, followed by a spark sound effect.|
|Workshop maps made in the Perpetual Testing Initiative will randomly choose between five music tracks. This one is listed along with them, but is never chosen.|
Turret Wife Serenade's Internal Name
Going through game_sounds_music_a2.txt will reveal the internal, possibly original, name for the "Turret Wife Serenade" track.
// // sp_a2_laser_vs_turret // // Ode to Lamkin "music.sp_a2_laser_vs_turret_r1"
A gel which, when used with portals, would allow the player to walk on the walls and ceiling of test chambers. While this may sound neat, it proved to be disorienting and cause motion sickness among playtesters. This led to it being cut from the game and eventually replaced by reflection gel. The gel was made purple as a placeholder during development; a final color was never decided on before the gel's removal. All of the Adhesion Gel-related textures and particles remain in the final game. Because of this, several community map-makers have tried (with varying success) to implement it in their maps. A video of it (albeit after the effects were removed) can be found here.
Note that "Adhesion Gel" is a fan-made name. It has never been officially used by Valve, who simply call it "sticky gel" or "stick paint". However, the term has become almost universally known within the community, so it is used here.
An unused gel type that reflects lasers. Added in the PeTI update, and can be added into a map by setting the Paint Type keyvalue to 1 (Stick). It replaces the Adhesion Gel that was dummied out before the PeTI update was released, although it still contains all of the Adhesion Gel effects that made it into the final game.
The gel uses the same color as conversion gel when painted on a surface, but the blob texture is separate and can be customized in maps. Due to this and the fact that it is still usable (to some effect), it has been used by some community map-makers in their maps, with only minor problems with animation and textures. A video of the gel can be found here.
Two placeholder graphics found exclusively in the PS3 version of the game.
The Schrödinger's Cube is an unused Reflection Cube variant introduced in the Peer Review DLC. It is implemented as cube type 5 on the existing prop_weighted_cube entity. The cubes would be placed in pairs and linked together. When a laser enters one cube, it will come out of the cube it is linked to. Fizzling or painting one cube will also do the same to the other one (a behavior which is mentioned in The Final Hours of Portal 2). Additional skin slots were added to the reflection cube model and are used for these, though the textures themselves are missing.
While fully implemented in the game, the Schrödinger's Cube is not usable in maps, as Valve hardcoded them to change into normal reflection cubes on spawn. As a result, they are unable to link together, and do not do anything even if the cube type is changed mid-map, though they will use the correct skins in this case. It's possible to re-enable them by changing a specific byte in the DLL using a hex editor. The mod Portal 2: Community Edition has also re-enabled the cubes by default.
What byte needs to be changed to enable this?
The Schrödinger's Cube is unrelated to the used "Schrodinger's Catch" achievement. According to comments in the code, Valve intended to re-enable them in the Perpetual Testing Initiative update. Clearly they forgot to do that.
References to a camera weapon can be found scattered throughout the game files. One of these takes the form of a full unused texture for a camera model, likely a world model, simply named "camera.vtf". In addition, there are references to an HUD icon for this camera at "hud_icon_camera.vtf", along with several other similarly themed cut HUD icons. These are remnants of F-Stop, which was being made in 2008 before being cancelled to make way for Portal 2.
Investigate this. There may be more chicken references left in the code.
The most bizarre entity by far is the chicken. It has a script named npc_sounds_chicken.txt with five clucking sounds, a squawk, and a startled noise listed. According to a comment in the script, "strider footsteps are heard everywhere in map". There is also a HUD icon named "hud_loc_chicken". There is also a particle named chicken.pcf, and a sound effect of the Team Fortress 2 grenade launcher named "chicken_tube" (see below):
This NPC was used in the aforementioned cancelled game F-Stop. Sounds for the chicken stomping are heard in all of it's campaign maps (see reslists and it seems to have been encountered directly in puzzle_chickens.
An unused turret with the unique ability to shoot a light blue laser that causes damage to the player. Unlike the Thermal Discouragement Beam, the laser does not impede the player's movement and does not affect the game environment or mechanics. The turret does not appear in any of the final game's maps, but can be spawned using the developer console. When spawned in the final game, the lack of a model means that it shows up as a bright blue "ERROR" sign, although it still retains its laser function.
Pre-release screenshots show that the turret originally didn't hover, but was attached to the ceiling via a wire, and used the model of the Curiosity Core from Portal. It could also be carried around like a normal Turret.
Some of the items in the motel room at the start of the game could fold out. Likely a leftover from the aforementioned F-Stop. As seen in this demo intro, furniture would fold in order to reveal the room being a simulation.
The particles used for the cut Pneumatic Diversity Vent (see the Prerelease page) still exist in the final game under the name broken_tube_suck. As the vents are not used, neither are the particles. While this was to be used for the Diversity Vents, they are actually a leftover from Portal - specifically in the second escape map when the player has to smash a pipe to get access to the cubey goodness within.
The game has coded and modeled entities for small fragile spheres called "futbols". It comes in two versions: glass, and bomb. There are special spawner entities, with models, for both. The bomb version was reused for the redirectable bombs in the final game with a different model. Judging by the map "mp_futbol_01" these are very likely remains of the Competitive Multiplayer Portal 2, which was reworked into Co-op very early on as the matches quickly became hectic and confusing. The objective would have been to redirect a bomb of sorts into other players using portals.
The game has unused point indicators as seen in the first second of the video. Probably used for multiplayer testing or the early multiplayer concept with the Futbols.
Present in SteamApps\common\Portal 2\sdk_content\puzzles is devtest.p2c, a Perpetual Testing Initiative custom puzzle made by the developers to test the editor. You can play and edit it by copying the file into SteamApps\common\Portal 2\portal2\puzzles\your_steam_id. It appears as a nameless entry under Create Test Chambers. It has no image, and appears to have most items available in the editor placed in a room the same size as, and obviously based on, the blank template. Several of the items are missing connections. This was likely done because the level was only meant to test the editor rather than gameplay; these items appear to have had the same settings in the editor version this map was made in.
P2C Format Differences
The devtest puzzle's "Version" line (which is the version of the editor the puzzle was last saved in) has a value of 9. The earliest public release of the Puzzlemaker had a version number of 12, indicating that this map was made in an early version of the editor. Upon loading the map, the Puzzlemaker will convert it through each consecutive version up to 14 (the latest version), creating a backup of the puzzle before each conversion. By comparing these backups, we can determine roughly what was changed in each editor version.
|This needs some investigation.|
Discuss ideas and findings on the talk page.
Specifically: If these conversion paths still exist in the code, the ones for Versions 1-8 likely do as well. See if we can figure out what those are.
v9 -> v10
- Floor buttons, cubes, and paint splats are merged into single items with type dropdowns, instead of having separate IDs.
Original ID Combined ID
v10 -> v11
- Appear to be identical.
v11 -> v12
ITEM_BARRIER, to support Grating.
v12 -> v13
- The voxel format is redesigned, drastically reducing the size of the file.
Voxelsblock previously contained many individual
Voxelblocks, each one representing a single voxel.
- It now contains
- Each of those contains several
Z#blocks corresponding to each vertical layer of the map
- Each of those then contains several
Y#blocks corresponding to each row of voxels on the Y axis.
- Finally, each of those contains a series of binary values corresponding to each voxel along the X axis. For the
Solidblock, 1 is solid and 0 is open. For the
Portalblocks, 0 is black and 1 is white.
- Each of those contains several
v13 -> v14
- Co-op entrance/exit doors are added. Both are given connection count and Start Open properties.
- Two additional
CONNECTION_BARRIER_ANCHOR_TO_EXTENTconnections are added, linking the singleplayer and co-op doors for switching modes.
Upon resaving the map in the latest version of the editor, several additional changes occur:
- The map title, description, etc. lines are added.
- Connection Visibility properties are added.
- The door visibility properties are added.
- Corridor ID properties are added - it seems there was no corridor randomization originally.
- The funnel and cube dropper both have connection counts of 0, which are changed to the correct 1 after a resave.
- Cube Droppers have the non-deletable flag, which is removed.
- Cube Droppers'
item_fall_straight_downproperty is added.
- Track Platforms' starting positions, travel distances, and travel directions are set, though the properties themselves were present before.
- Barrier Type is added to Glass.
- The Piston Platform auto-trigger property is added, and the bottom/top levels are both increased by 1.
- Gel Droppers have a "vertical alignment" property, which is removed. This would presumably be set depending on whether it was on the ceiling dropping gel straight down, or on walls launching it out. The Allow Streaks and
paint_export_typeproperties are also added.
- Connection count and Start Open are removed from the Co-op entrance door.
- Start Open is changed to Start Locked on the Co-op exit door.
Unused Palette and GUI Icons
Upload the rest of the icons.
The folder portal2_dlc2/materials/puzzlemaker/palette contains all of the item and GUI icons, plus several extras not used in-game. These include a crusher, a large Faith Plate, and an unidentifiable "ghost" panel.
An unused variant of the Fizzler which destroys paint passing through. The entity itself (trigger_paint_cleanser) is used in-game to prevent using paint in certain locations, but it never appears as a Fizzler. An unused particle (paint_cleanser.pcf) is present in the game files as a red version of the Fizzler from the original Portal. Additionally, Paint Fizzler instances can be found in the instances/gameplay folder.
Interestingly, the only cut map referencing the Paint Fizzler in its name is a Co-op map, implying that Paint Fizzlers may have been Co-op exclusive.
Scrapped Paint Gun
During development, the developers used a paintgun for gels. The gun was from a student game called Tag: The Power of Paint, in which the player could paint the environment to add and remove paint with various effects. The Repulsion and Propulsion Gels are two of the paints actually used in that game. Developer commentary mentions that the player would be given the gun, so they could paint the grounds and walls to complete test chambers. However, it would cause confusion towards players not knowing exactly where to place what paint, as well as destroy the aesthetic of the game.
It was ultimately removed in favor of keeping the game simple by using only the Portal Gun to manipulate puzzles. The idea was revived in the standalone release of the Aperture Tag mod in 2014, which was approved by Valve themselves and is available through Steam. The paint gun seen there is not a C++ entity, though, but simply changes the Portal Gun model and uses standard Source entities to make it shoot paint.
Many paint gun-related assets remain in the game files, including HUD icons and particles. Two entities for the paint gun,
item_paint_power_pickup, appear in Hammer. However, they are no longer implemented in the engine and will not spawn in-game. The soundscape scripts for the maps the Paint Gun were going to appear in still exist in the final game's files.
Added in an update on October 31, 2018 according to SteamDB, Portal 2 has translation files for a pirate language. This does not appear in the list of available languages in Steam. The only way to enable it is by adding
-language pirate to the game's launch parameters, or replacing the files for another language. Only some text is changed, with others either using their default English strings or not appearing at all.
None of the audible voice lines are translated, but subtitles are, though the subtitles are not used by default as there is no
subtitles_pirate.dat file. This can be fixed by running
captioncompiler.exe, located in
Unused Map Names
All single-player maps have proper map names, including ones not normally playable in Challenge Mode. These maps and their names are listed below. The map names are stored in Steam\SteamApps\common\Portal 2\update\resource\basemodui_tu_english.txt.
|Map Name||Translation Token||Challenge Mode Name|
In addition, if the player adds those maps to the Challenge Mode map list (Steam\SteamApps\common\Portal 2\portal2_dlc1\challenge_maplist.txt), the game makes use of those map names in the Challenge Mode menu (except the Credits map, which never appears). They are fully playable although they lack dedicated goal points. The "Level Completed" screen will come up when the player hits the level transition trigger. The Steam server correctly records the player's times and scores. The Community Data chart is also available on these maps, with the somewhat expected number of Fewest Portals records.
Portal 2 keeps a list of resources used in each map under the Portal 2\portal2\reslists folder. These files are used when downloading the game to determine what assets are needed to load each map, but do not serve any purpose after that. Resource lists and sound lists exist for every single-player and co-op map in the game, as well as many, many extras that do not correspond to any map in the final game. No resource lists exist for the Art Therapy co-op DLC maps, or anything added in the PeTI update.
Interestingly, there are way more cut co-op maps than cut single-player maps. The used single-player maps all stick to a "sp_a#_MAP_NAME" convention, with # being the "act number" somewhere between 1 and 5. This must have been a late addition, as the old prototype maps don't follow this convention.
You can also see hints of unused concepts in the map filenames, such as Adhesion Gel ("paint_stick") and Rockets.
Unfortunately, the contents of these files are of little value, and the maps themselves do not exist in the files.
|aperture_training_doors||F-Stop test map|
|background_menu||Portal 2 uses background videos instead of 3D background maps.|
|demo_catapult||Portal 2 has no publicly-available demo version.|
|demo_underground||Nearly identical to sp_a3_03 with slight differences.|
|devtest||Map the developers probably used as a sandbox.|
|e3_paint_jump_bomb_flings||Maps for an E3 demonstration.|
|fizzler_test||A small room testing different Fizzlers, including ones from Portal.|
|lab_01||F-Stop campaign maps.|
|mp_coop_2guns_bridge_jump||Likely referring to the paint gun - either both players would have had both guns, or one player would have had a paint gun and the other a Portal Gun (like in Aperture Tag). Adhesion Gel references can also be seen here.|
|mp_coop_laser_1||"mp_coop_laser_2" does exist.|
|mp_coop_lobby||"mp_coop_lobby_2" does exist, and is the co-op hub room sans DLC area.|
|mp_coop_mic_calibration||A separate map for microphone calibration?|
|mp_coop_paint_bridge_02||"mp_coop_paint_bridge" does exist.|
|mp_coop_paint_bridge_intro||Apparently Valve decided bridge painting didn't need an introductory level after all.|
|mp_coop_paint_crazy_box||This map name exists in Art Therapy, suggesting that this was a concept saved for the DLC.|
|mp_coop_paint_fizzler_intro||"Paint fizzlers" exist in the game's code, and remove gel passing through them.|
|mp_coop_race_1||"mp_coop_race_2" does exist.|
|mp_coop_rat_maze_2||"mp_coop_rat_maze" does exist.|
|mp_coop_separation_1||Also re-used for Art Therapy?|
|mp_coop_start_02||"mp_coop_start" exists, and it is the only co-op Calibration Course map.|
|mp_coop_start_03||That means the Calibration Course was drastically shortened, or merged into one map.|
|mp_coop_start_pax||Likely a version of the Calibration Course to be shown at PAX demos.|
|mp_coop_start_sfm||A version optimized for Source Filmmaker? SFM was used for the Portal 2 commercials.|
|mp_coop_tractor_up_sfm||Another Filmmaker version...?|
|mp_coop_wall_1||mp_coop_wall_2 exists, and is a light bridge-centric map. mp_coop_wall_5 also exists.|
|mp_futbol_01||Conspicuously, this doesn't contain "coop" in the name. A glass futbol battle arena?|
|portal_placement_on_paint_test||Conversion Gel testing, likely.|
|pressdemo_01||Portal 2 press demo given to reporters. There's constant references to "vista" in these maps. The final game uses this term to refer to the large, open behind-the-scenes areas.|
|puzzle_chickens||A leftover map from F-Stop which was testing a puzzle involving chickens. This map contains a barn (likely the one seen in
this concept art), a "barrel machine", a mannequin spawner, an "aperture cleanser", a haybale gameplay element, a chicken nest, and a mousetrap.
|sp_a1_intro1_new_container||Likely used for playtesting a different form of the "hotel room" you start in.|
|sp_a2_ring_around_turrets||This, sp_a2_turret_tower, and sp_a3_02 were likely cut late in development, as they follow the "sp_a#" naming of the final maps.|
|sp_a3_02||sp_a3_00, _01, and _03 do exist.|
|sp_catapult_box_smuggle||Hinting that there were lots of Faith Plate chambers Valve was toying with.|
|sp_climb_for_los||Likely related to LOS (line of sight) in some way.|
|sp_glados_01||The overgrown GLaDOS chamber, but has better lighting and fog for some reason.|
|sp_incinerator_01||Likely an early incinerator test/mockup.|
|sp_intro_01||sp_a1_intro# maps do exist, but they only go up to 7.|
|sp_laserfield_intro||There is only one laser field in the final, in sp_a4_laser_platform.|
|sp_paint_bridges||Bridge-painting only exists in co-op. There's no single-player maps with both gel and a bridge.|
|sp_paint_jump_angled_fling||"jump paint" = blue Repulsion Gel.|
|sp_paint_jump_crazy_box||"crazy box" likely means a blue-painted cube, as in the existing sp_a3_crazy_box.|
|sp_paint_speed_flings||Probably an early version of sp_a3_speed_flings.|
|sp_paint_speed_intro||Probably an unused Propulsion Gel intro, akin to the Repulsion gel intro.|
|sp_paint_speed_ramp||Probably an early version of sp_a3_speed_ramp.|
|sp_paint_stick_catapult||"Zstick paint" was the cut Adhesion Gel.|
|sp_richard_sphere||Likely refers to Wheatley's placeholder voice actor during development, Richard Lord.|
|sp_rocket_box_trigger||Possibly referring to the "rocket turret", like the one in the ending of Portal?|
|sp_sabotage_jailbreak_03||There's no jailbreak_02, either used or unused. Odd.|
|sp_sabotage_turret_factory||In the final game, you do sabotage a turret factory.|
|sp_vista_roast_beef||Related to the removed roast beef dinner. Quote from The Final Hours of Portal 2: "...In one sequence that didn't make the final game, players would arrive at the start of the new puzzle and see a candlelit roast beef dinner sitting on a table, prepared by GLaDOS. Coming closer, you realize the roast beef is ice-cold, and then hear GLaDOS chastising you for missing dinner because you were too busy cheating on her with a personality sphere."|
|world_animation_zoo||Probably a "zoo" map with many common models and their animations.|
The area where Wheatley announces his upcoming big surprise includes a monitor. This monitor acts like the other ones and can be broken (complete with Wheatley complaining about it), but it is never triggered to extend and can only be seen by using the developer console. The command
ent_fire wheatley_monitor-relay_deploy_15degrees trigger will manually trigger the monitor.
|The Portal series|
|Windows, Mac OS X, Linux||Portal • Portal 2|
|Windows, Mac OS X, Linux||Tag: The Power of Paint • Aperture Tag: The Paint Gun Testing Initiative • Portal Stories: Mel|