If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Portal 2

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Portal 2

Developer: Valve
Publisher: Valve
Platforms: Windows, Mac OS X, Linux, Xbox 360, PlayStation 3, Nintendo Switch
Released in US: April 19, 2011
Released in EU: April 21, 2011


AreasIcon.png This game has unused areas.
CharacterIcon.png This game has unused playable characters.
CodeIcon.png This game has unused code.
DevTextIcon.png This game has hidden development-related text.
EnemyIcon.png This game has unused enemies.
ObjectIcon.png This game has unused objects.
GraphicsIcon.png This game has unused graphics.
ModelsIcon.png This game has unused models.
MusicIcon.png This game has unused music.
SoundIcon.png This game has unused sounds.
TextIcon.png This game has unused text.


PrereleaseIcon.png This game has a prerelease article
NotesIcon.png This game has a notes page

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.


Hmmm...
To do:
A whole bunch of stuff. See the Notes page.

Sub-Pages

Read about prerelease information and/or media for this game.
Prerelease Info
Miscellaneous tidbits that are interesting enough to point out here.
Notes
TBG-book-icon.png
Unused Lines
Cave Johnson has a lot of unused lines.
TBG-spacecore-icon.png
Unused Voice Lines
It's too big. Too big. Wanna go home. Wanna go to earth.
TBG-spacecore-icon.png
Want You Gone Demos
You're like a loaded gun.
Blank.png
Unused Maps
Starring, a DevTest.bsp that DOESN'T need to be recompiled!

Unused Sounds

Audio Summary
5 seconds of pink noise. Likely used for testing.

Adhesion Gel

Even though the Adhesion Gel was cut, the sounds for it still exist in the final game.

Audio Summary
Entering adhesion gel.
Exiting adhesion gel.
Unused paint idle SFX.
Unused paint trickling sound effect.

Portal Leftovers

Audio Summary
Portal leftovers.
Turrets
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.

Deleted Sounds

Sounds that were left over in the "slack space" of all the VPKs the game has.

Audio Summary
A metal crash sound.

Unused Music

Audio Summary
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 map 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"

Unused Textures

Sticky/Adhesion Gel

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 in the PeTI update. The gel is purple, however it is not known whether this would be the final color. All of the Sticky 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 the leftovers (albeit after the effects were removed) can be found here. It was later shown by Valve with the effects working in a presentation here.

The code for sticky gel is still in the game, although disabled by default, and can be re-enabled with this mod (archived download) that requires an older version of the game.

It is often referred to by the community as "Adhesion Gel". It has never been officially used by Valve, who simply call it "sticky gel" or "stick paint".

Reflection Gel

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.

Paint Gun Swap Indicator

Swap Guns Indicator

There's a texture intended for the Hammer map editor that would indicate swapping your portal gun with the paint gun.

During development, the developers used a paintgun for gels, similar to the student game called Tag: The Power of Paint, in which the player could use a gun to paint the environment. 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 removed from singleplayer early on in favor of keeping the game simple by using only the Portal Gun to manipulate puzzles. It was later planned again as a multiplayer gamemode named 2guns where one player would have a paint gun, and the other a portal gun, and could swap them, before being removed again. It was then planned to be brought back in DLC2, which did not happen. 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's files, including HUD icons, particles and a console command. Two entities for the paint gun, weapon_paintgun and item_paint_power_pickup, are still in the FGD. However, they are no longer implemented and will not spawn in-game. There are several maps in the reslists) that mention the 2guns gamemode. A video of the paint gun can be found here.

Camera

References to a camera weapon can be found scattered throughout the game's 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.

Placeholder Graphics

Two placeholder graphics found exclusively in the PS3 version of the game.

Early Emote Icon

Deleted Final
Portal2-Early Atlas Dance Icon.png Portal2-Final Atlas Dance Icon.png

An early version of Atlas's dance emote icon in Co-op, left over in the "slack space" of the package files. Seems to be much higher-resolution than the final.

Hover Turret Screens

The TV screens for the tubes have an unused skin for Hover Turrets.

Unused Entities

Hmmm...
To do:
  • Parts of this section could use more information, and a good rewrite.
  • Get better/more pictures of the furniture models, as they don't look like the ones in the final version.
  • A few of these things need to go on the pre-release page if they don't exist in the final game.
  • Upload the rest of the HUD icons.

Schrödinger's Cube

Now you're thinking with quantum-entangled laser cubes.
Hmmm...
To do:
What byte needs to be changed to enable this?

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.

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.

Paint Fizzler

paint_cleanser_128x128.vmf

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's 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.

Chicken

hud_loc_chicken.vtf
Elementary, my dear Cactus.
This needs some investigation.
Discuss ideas and findings on the talk page.
Specifically: 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. It seems to have been encountered directly in puzzle_chickens, which also references a barn and chicken nest (see reslists).

Hover Turret

Hover turret

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. Its eye would change color depending on unknown situations, and it could be carried around like a normal Turret.

Early Furniture

The furniture.

Some of the items in the motel room at the start of the game could fold out. This is similar to the aforementioned F-Stop. As seen in this demo intro, furniture would fold in order to reveal the room being a simulation.

broken_tube_suck

The particles used for the cut Pneumatic Diversity Vent (see the pre-release 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.

Futbols

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.

Point Indicators

The game has unused point indicators as seen in the first second of the video. The floating icons were from an unused multiplayer gamemode called Futbol (see above). Two teams juggled a crystal ball back and forth. If the crystal ball touched any surface it would explode.

Puzzle Maker

Devtest Puzzle

Portal 2-devtest.png

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.

Elementary, my dear Cactus.
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
ITEM_BUTTON_WEIGHTED
ITEM_BUTTON_CUBE
ITEM_BUTTON_SPHERE
ITEM_BUTTON_FLOOR
ITEM_CUBE_WEIGHTED
ITEM_CUBE_COMPANION
ITEM_CUBE_REFLECTOR
ITEM_CUBE_SPHERE
ITEM_CUBE
ITEM_PAINT_BOUNCE
ITEM_PAINT_SPEED
ITEM_PAINT_PORTAL
ITEM_PAINT_WATER
ITEM_PAINT_SPLAT

v10 -> v11

  • Appears to be identical.

v11 -> v12

  • ITEM_GLASS becomes ITEM_BARRIER, to support Grating.

v12 -> v13

  • The voxel format is redesigned, drastically reducing the size of the file.
  • The Voxels block previously contained many individual Voxel blocks, each one representing a single voxel.
  • It now contains Solid, Portal0, Portal1, and Portal2 blocks.
  • 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 Solid block, 1 is solid and 0 is open. For the Portal blocks, 0 is black and 1 is white.

v13 -> v14

  • Co-op entrance/exit doors are added. Both are given connection count and Start Open properties.
  • Two additional CONNECTION_BARRIER_ANCHOR_TO_EXTENT connections are added, linking the singleplayer and co-op doors for switching modes.

Resave

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_down property 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_type properties 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 Puzzle Elements

The folder portal2_dlc2/materials/puzzlemaker/palette contains all of the item and GUI icons, plus several extra items not used in-game. There exist icons for a crusher, a large Faith Plate, an auto-portal area titled "fixed_portal_door", and a transparent picture of a panel titled "panel_door".

CrusherFaith PlateFixed Portal DoorFixed Portal Door

Unused GUI Icons

There's also some unused GUI icons, being an error symbol (which you shouldn't see usually), a crappily drawn "Budget Error" and "Budget Warning" icon (likely related to the unused "budget bar" which would fill up as you add more test elements), a "pin button" being an icon of a dollar sign.

ErrorBudget WarningBudget ErrorPin Button

Pirate Speak

Warnin': Core be overheatin'. We be forseein' a nuclear meltdown

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.

Unused Text

Challenge Mode

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
Chapter 1
sp_a1_intro1 SP_MAP_NAME_CH1_MAP1 Container Ride
sp_a1_intro2 SP_MAP_NAME_CH1_MAP2 Portal Carousel
sp_a1_intro7 SP_MAP_NAME_CH1_MAP7 Secret Panel
sp_a1_wakeup SP_MAP_NAME_CH1_MAP8 Wakeup
Chapter 2
sp_a2_laser_intro SP_MAP_NAME_CH2_MAP1 Laser Intro
sp_a2_catapult_intro SP_MAP_NAME_CH2_MAP5 Catapult Intro
Chapter 5
sp_a2_bts6 SP_MAP_NAME_CH5_MAP4 Tube Ride
sp_a2_core SP_MAP_NAME_CH5_MAP5 Core
Chapter 6
sp_a3_00 SP_MAP_NAME_CH6_MAP1 Long Fall
Chapter 8
sp_a4_intro SP_MAP_NAME_CH8_MAP1 Test
Chapter 9
sp_a4_finale1 SP_MAP_NAME_CH9_MAP1 Finale 1
Chapter 10
sp_a5_credits SP_MAP_NAME_cH10_MAP1 Credits

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.

Unused Chapter Config

In the cfg folder, there are several unused files titled chapter1.cfg through chapter6.cfg. These config files all run a map command loading early maps starting with the p2_lab prefix (except chapter1.cfg, which loads a non-existing map with the sp_ prefix). These were likely the first maps for each chapter at the time (and not just the only maps). This is not to be confused with the lab prefix used in most F-Stop maps. p2_lab_slowfield_1 also references the cut slowfield mechanic.

File name Map referenced
chapter1.cfg sp_a1_intro
chapter2.cfg p2_lab_lasers_1
chapter3.cfg p2_lab_slowfield_1
chapter4.cfg p2_lab_catapult
chapter5.cfg p2_lab_wall_01
chapter6.cfg p2_lab_mixup

Half-Life 2 Leftovers

All the text referring to the weapons and "Game Over" screens from Half-Life 2 are leftover in portal2_%language%.txt, however, the Game Over screens are from Episode Two.

"HL2_GameOver_Object"			"IT ENDS HERE\nTHE FREEMAN HAS FAILED TO PRESERVE RESOURCES\nDEEMED CRITICAL TO VICTORY\nINESCAPABLE GLIMPSES OF DOOM CLOUD THE VORTESSENCE"
"HL2_GameOver_Ally"				"SO IT ENDS\nTHE FREEMAN HAS FAILED TO PRESERVE A LIFE REQUIRED FOR VICTORY\nSUCH ARE THE SHAPES WE SEE IN THE VORTESSENCE"
"HL2_GameOver_Timer"			"ALL IS DONE\nTHE FREEMAN'S FAILURE TO SEIZE A SWIFT VICTORY\nLEADS TO OUR TOTAL DEFEAT"
"HL2_GameOver_Stuck"			"ASSIGNMENT: TERMINATED\nSUBJECT: FREEMAN\nREASON: DEMONSTRATION OF EXCEEDINGLY POOR JUDGMENT"

"HL2_357Handgun"	".357 MAGNUM"
"HL2_Pulse_Rifle"	"OVERWATCH STANDARD ISSUE\n(PULSE-RIFLE)"
"HL2_Bugbait"		"PHEROPOD\n(BUGBAIT)"
"HL2_Crossbow"		"CROSSBOW"
"HL2_Crowbar"		"CROWBAR"
"HL2_Grenade"		"GRENADE"
"HL2_GravityGun"	"ZERO-POINT ENERGY GUN\n(GRAVITY GUN)"
"HL2_Pistol"		"9MM PISTOL"
"HL2_RPG"			"RPG\n(ROCKET PROPELLED GRENADE)"
"HL2_Shotgun"		"SHOTGUN"
"HL2_SMG1"			"SMG\n(SUBMACHINE GUN)"

"hl2_AmmoFull"			"FULL"

Hidden Monitor

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.

Unused Models

elevator.mdl

An early model for the elevator. It was used in the Portal 2 Co-op demonstration for PAX 2010.

cappoint_hologram.mdl

A model for a hologram with five skins and four sub-models. Sub-models 3 and 4 are TF2 leftovers.