From Valve Cut Content
Jump to: navigation, search


Shortly after the release of the Orange Box, Gabe Newell was concerned that Valve was focusing too much time on releasing games, and not on experimenting/innovation. To combat this, he thought up the 'Directed Design Experiments'. In essence, Valve would shut down development on games and let the employees do whatever they want. Valve would turn into a creative playground for four months, with no stress or pressure from developing full games.

One of these experiments was titled F-STOP; A project that made Gabe Newell think "Fuck yeah!" after seeing it. Valve were sure that this could be the mechanic for the next Portal game, thinking that Portal as a franchise would have a new mechanic each game, with a common link of Aperture Science experimentation.

This, of course, didn't pan out.

After nearing a year of active development, Valve began to question everything. Playtesters thought the overall mechanic of the game was fun, but were confused at the fact they didn't have a Portal gun... in the sequel to Portal. In October to December of 2008, development of the game was completely rebooted, leading to the Portal 2 that released.[1]


The project was headed by Joshua Weier[1], the lead behind the initial experiment, accompanied by Jeremy Bennett and Eric S. Kirchmer, two artists that went on to illustrate concepts for the project.

Post-Directed Design Experiment, F-Stop was decided to be a prequel to Portal with no GlaDOS (but a cameo as Betty), no portals (only for gameplay, possibly seen in a test for a prototype Portal gun behind glass), a new mechanic, and presented in Team Fortress 2's and Portal's art style. The mechanic itself was stated to be non-violent, much like the first Portal, involving a camera and taking photos of objects. The story of the game was to feature Cave Johnson, a dead southern billionaire with his intelligence put into a computer, much like GLaDOS.[2] He was imagined with a voice similar to that of George W. Bush, beginning as a partial side kick before turning on the player due to their inevitable crimes against robots throughout the game.[3] A character named Greg was performing as Cave Johnson's assistant. As evidenced during the Portal 2 ARG, Aperture Science at this stage were using “tramps, lunatics and foundlings” as test subjects.

General Trivia

  • The original Directed Design Experiment did not have any mannequins.[1]
  • Somewhat ironically, the camera is an old film camera yet it can produce photos instantaneously as if it were an instant camera, and can store photos as if it were digital in its `memory`. It has an SLR viewfinder despite the camera being based on Leica cameras that have a direct optical viewfinder.
  • Many pieces of F-Stop concept art have intentional typos in their grammar, ironic since they mostly state how much focus and vision that Aperture have on the future.
  • While portals were not present as a gameplay mechanic[1], there was a reference scene in which a mannequin tests an early Portal gun prototype (using the large beta Portal gun model).
  • References for Portal 2 underground chambers sound like F-Stop styled chambers trying to imitate a movie set.
  • The idea of folding environments was initially re-used for an early Portal 2 intro when the relaxation chamber was a virtual hotel room.
  • Although once thought to be Half-Life 2: Episode 3 or Half-Life 3 VCDs, both magnuss_wave and magnuss_idle are referenced in specific F-Stop map reslists, perhaps indicating that the other Magnusson VCDs were used in other F-Stop maps.
  • Expiration Date, a Team Fortress 2 promotional video, features a similar mannequin to that of the available male mannequin from Portal 2 but with visible joints, which is a feature shared with the high-poly render of the female mannequin.[4] Both the male and female mannequins have no visible joints on the in-game models while the high-poly versions (assuming the Expiration Date mannequin is related to the F-Stop equivalent) do.[5] link/image here
  • The beta for Source Filmmaker has a modified variant of the ‘color’ texture for the female mannequin featuring painted-on eyes and blush, presumably used as a placeholder when Expiration Date was in production.[6]
  • The Source Filmmaker beta also has an early version of the Team Fortress 2 death camera that used a stack of photos depicting various scenes, with the one on top being a photo of your own death. The photo design bears some similarities to F-Stop styled photos, being of similar ratio with curved off corners and a white border. Much of F-Stops concept art depicts photos with curved corners; additionally, the icon for the photo placement weapon depicts a hand holding the corner of such a photo.[6] Image here

Concept Art Trivia

The concept
  • The concept art still used the 1980s-era Aperture logo; the 1950s Aperture lobby concept art wasn't created until near the end of F-Stop's development.[3]
Screamer aperturew.png
  • The diorama with the psychiatric patient sports a passing resemblance to concept art for the cut Screamer Special Infected from Left 4 Dead.
  • Concept art of the Portal weighted storage cube reveals a design similar to that of the cube concept art for F-Stop, showing a slightly coloured base with no edge components and blank corners. Further concept art reveals a style for an early GlaDOS design later applied to Portal 2’s GlaDOS; these two factors show that some concepts and styles from Portal's development were re-used for Portal 2.[3]
  • The Portal 2 "Know Your Paradoxes!" poster’s depiction of a rogue AI was made by splicing together an icon for an Aperture Science Sentry Turret and some vector art for a mannequin.
    Underground 80s paradoxes.png

Concept Art References

  • Greg's appearance is based on a modified screenshot of Arne Magnusson from Half-Life 2: Episode 2.[7]
  • The "Bioengineering for a Sizable Tomorrow" poster has two reference images:
  • Cave Johnson has a few pieces of concept art, three of which are portraits with reference images; there are also case studies for cartoon versions of him.

  • The F-Stop poster depicting the facility and six terminals are based on the Atlas Computer Laboratory. The computers to the right vary:
    • The top-left is unknown, but is present among the photos, and the top-right terminal is an IBM 3032 dual display console.
    • The middle-left terminal resembles an ADM 5, and the middle-right resembles an ICL 2904.
    • The bottom-left terminal appears to be a Zenith Z-89, and the bottom-right is similar to a Newbury 7002/7003 VDU.
  • The orange poster seen in the Portal 2 GDC post-mortem presentation that overlooks a relaxation chamber appears to be based on an IBM 360/195; of note is that the chair is similar to that of the poster.


Portal 2 Reslists / Snds

Reslists contain a list of content needed for a map, including default content. Alongside these are Snd files that contain a list of sound events occurring in the map, including default sounds. By looking at the content loaded in some of these files, it can be concluded that several are for F-Stop maps, allowing not only the name of the map to be discovered but also approximations of what they entailed based on the content loaded. These files indicate that not only was Portal content used, but also content from Team Fortress 2, Half-Life 2, and its episodes.
The camera had two sound events, called “capture” and “release”, along with associated sounds called “snapshot” and “release”.

Maps and Story

There are at least 7 maps in the reslist, with 50 more maps that are missing from map reslists, but their name's present in Steam VR Performance Test. However, these map name's do not include reference's making other F-Stop References and Assets we have hard to place, including F-Stop VCDs that have no reslist, the lack of reslists that contain diorama content, and further content from F-Stop that is not used in the available reslists.

  • lab_intro
  • Island is present.
  • The pedestal holding the camera is a display case type object
  • Kleiner and Magnusson models are present.
  • Camera angle popups.
  • The player wakes up in the motel.
  • The camera is introduced.
  • GlaDOS/Betty is introduced and gives a short speech.
  • Mannequins first appear. *likely as a set piece, not enemy
  • The player can hear someone typing on a keyboard in the background.
  • Help sound events.
  • Aperture Rugs, Bed and Pillows are referenced, possibly for the Motel Room.
  • a Radio playing Tiki Music.
  • A chicken can be heard but not seen.
  • Construction site seen somewhere in aperture.
  • Cranes, very big lights, and general construction lights referenced
  • available media
  • video intro
  • screenshot
  • uses the TF2 security camera
  • has the color version of the female mannequin texture
  • hydro skybox is used for the island
  • several TF2 textures used for the island, floor and drains
  • style guide
  • lab_01
  • Fizzler introduced.
  • Contrary to popular believe, there's no evidence of fizzlers being a chamber mechanic in F-Stop.
  • No special types of fizzlers referenced either.
  • Main Puzzle Mechanics. (doors, cubes and buttons)
  • 3 sets of wall and floor textures.
  • lab_02
  • More puzzles, nothing special
  • Not a lot of references. Could indicate this map wasn't that big, or finished.
  • lab_03
  • Greg again talking, possibly introducing the mannequins
  • Kleiner model
  • Help sound events
  • Chicken heard but not seen
  • Mannequins introduced as enemies
  • Lab variation of both bot_fem and bot_male show up, as well as their Color Variation.
  • Camera upgraded to allow you to size objects. Manual for scaling objects is referenced
  • lab_04
  • Little to no puzzles
  • Behind the scenes offices
  • Floppy disk
  • No elevators
  • Repeated Cave Johnson vcds
  • available media
  • concept art seemingly featuring the same assets as in this map, two ashtrays and wallpaper001a
    Mannequins apartment.png
  • (in between)
  • introduction to camera film capacity
  • a number of puzzles
  • betty shows up again (90 decibel version)
  • Mannequins are corrupted
  • Portal gun experiment with old Portal gun model and mannequins
  • Aperture_training_doors
  • Aperture_doorframe introduced
  • Acts as a photographable portal.
  • all Portal related sound events have a different number of uses
  • More Portal 1 testing elements such as light rail
  • Cave speaks his final pure intellect line
  • puzzle_chickens
  • No Cave Johnson related lines
  • Takes place in an area with a chicken nest, and of course a giant chicken
  • While the sounds indicate it used strider stepping sounds, this does not mean that it used the strider as a base
  • A barrel_machine gameplay element
  • vending machine textures and sound event
  • Possibly was a way to defeat the chicken, by either resizing the vending machine or the barrels that come out of it, then placing the result in front of the charging chicken to defeat it
  • A bot spawner exists in the map, which is meant to spawn Mannequins
  • Mousetrap is used in the map.
  • Acts the same as the aerial faith plate in Portal 2
  • Found F-Stop map mames from steamvr performance test
  • island
  • fan_test
  • devtest_fstop
  • mousetrap
  • mousetraps_01
  • mousetraps_02
  • mousetraps_03
  • mousetraps_04
  • puzzle_01
  • puzzle_02
  • puzzle_03
  • puzzle_04
  • puzzle_chickens
  • puzzle_chicken_fling
  • aperture_training
  • aperture_training_doors
  • aperture_training_fans
  • aperture_training_island
  • aperture_training_mousetraps
  • door_frame_training
  • chicken
  • dollhouse
  • dollhouse_demo
  • farm
  • chicken_farm
  • chicken_farm_2
  • chicken_farm_popup
  • farm_hangar
  • hangar
  • lab_intro
  • lab_01
  • lab_02
  • lab_03
  • lab_04
  • lab_barn
  • lab_concept
  • lab_concept_barn
  • lab_fan_lift
  • fan
  • fans_01
  • fans_02
  • fans_03
  • fans_04
  • monopole_01
  • monopole_02
  • monopole_03

Portal 2 scripts and Sound scripts

Within the scripts folder for Portal 2 is a fair amount of F-Stop related files. One of these related folders is called button_door that contains scripts used to spawn and setup all the buttons, signs and doors in a F-Stop map when it is loaded. This reveals how the buttons, doors and signs were formulated and what entities they used. Specifically, func_doors were still in use for the test chamber doors and func_brushes were used for the signs.

  • Vguiedit/scriptingtest.lua, contains strings of text relating to F-Stop, specifically
  • "particles/feather01"
  • The particle that used `feather01` still exists named `chicken`, albeit without a corresponding texture
  • "signage/camera_manual"
  • "photos/gnome"
  • "signage/size_manual"
  • "photos/camera"

Weapon_manifest.txt, References the removed weapon scripts for the camera and placement(photos) weapons Particles/particles_manifest.txt, Has several unused particles referenced, some of which were used for F-Stop, all of which are still in Portal 2 Game_sounds_props_Aperture.txt, Sounds used by a number of puzzle elements both F-Stop era and retail thanks to being updated throughout development Game_sounds_animation.txt, The sounds used by the mannequin performing the Portal gun experiment scene Game_sounds_vo.txt

Some but not all of these are featured in the reslists for the F-Stop maps along with accompanying VCDs, implying that there are more maps that do not have accompanying reslists. Some of the file names match lines that are said in both Portal 2 singleplayer and PeTI. Strangely some of the sound files are referenced out of order in the map reslists. Each of these sound events have an associated vcd that are still present in Portal 2, there is also a vcd for a 90 decibel version of the introduction to betty by Cave Johnson.
  • cavejohnson.RelaxationVault01
  • cavejohnson.CameraIntro01
  • cavejohnson.CameraIntro02
  • cavejohnson.CameraIntroSuccess
  • cavejohnson.Puzzle01Intro
  • cavejohnson.Puzzle01Success
  • cavejohnson.Puzzle02Intro
  • cavejohnson.Puzzle02Success
  • cavejohnson.FizzlerIntro
  • cavejohnson.Puzzle03Intro
  • cavejohnson.Puzzle03Success
  • cavejohnson.Puzzle04Intro
  • cavejohnson.Puzzle04Success
  • cavejohnson.FilmCapacityIntro01
  • cavejohnson.FilmCapacityIntro02
  • cavejohnson.Puzzle05Intro
  • cavejohnson.Puzzle05Success
  • cavejohnson.ScaleIntro01
  • cavejohnson.ScaleIntro02
  • cavejohnson.Puzzle06Intro
  • cavejohnson.Puzzle06Success
  • cavejohnson.Puzzle07Intro
  • cavejohnson.Puzzle07Success
  • cavejohnson.LegalBotIntro
  • cavejohnson.Philosophy01
  • cavejohnson.BEEKEEPING
  • cavejohnson.FIRSTSTEP
  • cavejohnson.PUREINTELLECT01
  • cavejohnson.PUREINTELLECT02
  • cavejohnson.PUREINTELLECT03
  • cavejohnson.PUREINTELLECT04
  • cavejohnson.PUREINTELLECT05
  • cavejohnson.PUREINTELLECT06
  • cavejohnson.PUREINTELLECT07
  • cavejohnson.SCALEINTRO03
  • cavejohnson.SISSIES
  • cavejohnson.SCALEINTRO00
  • GlaDOS.intro01
  • cavejohnson.BIGBRITCHES
  • cavejohnson.CANIPRESSIT
  • cavejohnson.FOLKSANIMALS
  • cavejohnson.SAFESCIENCE
  • cavejohnson.SOMEGREATSCIENCE
  • cavejohnson.SOMEGREATTIME

Leftover soundscripts for different npcs developed during F-Stop's development

  • npc_sounds_android.txt
  • npc_sounds_mannequin.txt
  • npc_sounds_chicken.txt
  • npc_sounds_zombie_aperture.txt

Voice lines

During the Portal 2 ARG, it was possible to access BBS messages on the ARG website, including corrupted transcripts of Cave Johnson voice lines from F-Stop (including the casting call), and a memo on low risk test subjects (orphans, vagrants and psychiatric patients), some of which are featured in F-Stop screenshots in a diorama.
A number of voice lines seem to have made it all the way from F-Stop development into Portal 2 (although voiced by J.K. Simmons), as evidenced by the original casting call (which was pictured to have had a voice similar to that of George W. Bush) compared to some of the retail lines.[2] While the Portal 2 Perpetual Testing Initiative sound files for the uploaded Cave Johnson are not named similarly to those of their F-Stop conventions, the subtitles call him "Pure Intellect Cave", the same as in F-Stop.

Casting Call

  • (Introducing himself over a loudspeaker to the Player)
  • "Welcome, friend! I hope you enjoyed yer brief detention in the Relaxation Vault. Cave Johnson here, founder and CEO of Aperture Science -- the best damn applied sciences company on Earth. How good is the science here? Get a load a' this: I am dead! Now, yer probably askin' yourself, "Cave, come on now. How is this possible? Are you some manner of Dracula? Or Frankenstein? Or dependin' on yer cultural heritage, a Blackula or Latin Frankenstein? No sir! It's science. As of this mornin', yer old buddy Cave has been resurrected inside of a computer. And I never felt better!"
  • "You may also be askin', "Cave, where am I? When can I leave? Am I in danger?" Let me answer them questions, with a question. "Who is ready for a science adventure?" Yeah! I hope the answer is you! Because the test starts in three… Two… Go!"
  • (Cave congratulates you on your success)
  • "Masters level testing: Completed! Hell, crushed! You. Are. A. Genius."
  • (Cave contemplates the afterlife)
  • "I been thinkin. Heck, suspended as I am in this inky purgatorium, I got nothin' to do but think. What if them engineers didn't do me no favors pourin' me into a computer? What if they denied me my final reward? Lemme tell ya about a fella. Lived thousands a years ago. Didn't want nothin' but fer folks to be a little bit nicer to each other. And in the end, he sacrificed himself to save us all. You know who I'm talking about: Hercules."
  • "The man battled minotaurs! Medusas! Hell, he put the gods themselves in an arm bar. And for overcomin' all them trials? He got to go to Olympus. Damn it! I battled my monsters! Where's my Olympus? Unless… I haven't killed all my monsters… Anyway, this next test. Whoo… Yeah… Good luck with that…"

In game

Some F-Stop line names appear to have represented what was being said, as a few have content matches to both single player lines and Perpetual Testing Initiative lines (such as the uploaded Cave Johnson). Some of these are "altcave_dead_cave" lines from the Perpetual Testing Initiative, and match up with the lines from the casting call; these are still called “Pure Intellect Cave” in the closed captions.

  • dlc2_0710_altcave_dead_cave01
  • "Hello, test subject! Cave Johnson here, founder and CEO of Aperture Science: the best damn applied sciences company on Earth. How good is the science here? Get a load of this: I'm dead! Now, you're probably asking yourself, "Cave, how is that possible? Are you some manner of Dracula or a Frankenstein, or, depending on your cultural heritage, a Blackula or a Latin Frankenstein?" Heh, nope! Just science! As of this morning I have been resurrected inside of a computer. That aside, situation normal. So, continue testing."
  • dlc2_0711_altcave_dead_cave02
  • “Just a warning to you test subjects, Greg and the boys told me that the massive influx of information I’d receive when they transferred my consciousness into a stadium-sized supercomputer would turn me crazy. So, once again a warning: Greg and the boys are no longer working here, so if they were doing something for you, that’s not getting done.”
  • dlc2_0711_altcave_dead_cave03
  • “Cave again. Now, I’d admit losing my body does have its drawbacks, but it's got its perks too. As a being of pure intellect I’ve now got time to read the entire literary canon of the human race; here I go. [electronic noises] And I am done. [sigh] Continue testing.”
  • dlc2_0711_altcave_dead_cave04
  • “Pure Intellect Cave here. Not to brag, but while you were cat-assing that last test I re-wrote the collected works of everything ever. If I’ve got to read this garbage for eternity I might as well improve it. So next time you curl up with a time-honoured classic and think to yourself, "Man, I do not remember the Brothers Karamazov busting so many ghosts", you can thank yours truly.”
  • dlc2_0711_altcave_dead_cave05
  • “Here’s a question for ya: who is not afraid of no ghosts? [beep] As of just now, every character in every book by Virginia Woolf. Man, those things were dull.”
  • dlc2_0711_altcave_dead_cave06
  • “Cave again. What is the one thing that could never ever ever ever in a million years get boring? If you said busting ghosts, tragically, you’d be wrong. I was almost all the way through the W’s when the bloom came off that rose. Heathcliff was defending Moonbase Wuthering Heights from the crafty poltergeist when I realized exploring the vast realm of pure intellect is... boring. It's boring. You know what I’d really like to do? Like to scratch my nose.”
  • dlc2_0711_altcave_dead_cave07
  • "I've been thinking: what if Greg was right? What if injecting my consciousness into a computer robbed me of an eternal reward? Spiritually speaking. [electronic noises] Alright, I just read up on it. Stumbled on a book about a fella who lived thousands of years ago. Sacrificed himself to save mankind. Went by the name of Hercules. Destroyed all the world's monsters so humans'd be safe, then went to Olympus for his trouble. Damn it, death was my monster! And I killed it. Where's my Olympus?"
  • dlc2_0711_altcave_dead_cave08
  • "Unless... Aperture was the monster. Aperture and everybody inside it. Holy Hercules! I just thought of something. Keep testing. Or don't. Doesn't matter. I'll be back."


  • "So, you might be wondering: why you? Simply: Human test subjects get better scientific results than animals. Why? For one, your tramps, lunatics, foundlings, what-have-you, can bring problem-solving ability to test environments with a facility that shames lower ruminants. For another, you have thumbs."


  • "Science isn't about WHY, it's about WHY NOT. Why is so much of our science dangerous? Why not marry safe science if you love it so much. In fact, why not invent a special safety door that won't hit you on the butt on the way out, because you are fired."


  • "When you’re making some great science, it helps to keep a positive attitude. Look at Marie Curie. Invented radiology. Won two Nobel prizes. Dumb as a bag of hammers. Thought the light radiation gave off was pretty, walked around with it in bottles. Buried her with a smile on her face."


  • Mousetraps, only in "puzzle_chickens", acted as a catapult, found in mouseholes
  • Giant Chicken, assumed to be a boss of some kind, could smash through breakable objects
  • Cleanser, erased the contents of photos in your inventory
  • Android dispenser, assumed to spawn androids/mannequins
  • Fans, boosts you up into the air when jumping onto it. Scaling it makes it stronger.
  • Mannequins/androids (npc_android, npc_android_basic, npc_mannequin), Difference between mannequins and androids ai is unclear. Both are mannequins.
  • Would chase the player and attempt to attack them. AI was reused from Half-Life 2's Zombie
  • A demo reel of the female mannequin walking animations is available[8]
  • They were not immobile, nor did they only move when not looked at
  • They have a normal walk speed animation and a slower creeping animation
  • They have corrupted forms (although it is hard to discern whether it is the ones that have parts missing or the slower creeping variant)
  • They could loose parts of their body, as shown by the animation reel and the damage areas chart on the mannequin poster
  • Thus any actions they could complete to prevent the player from progressing must not be dependent on the presence of their limbs
  • Door frames, only one available map reslist, acted as a photographable portal
  • Cubes/buttons, were placed in the map by a script on map load to allow for their size to be set. The buttons had an associated sign brush that moved to the closest door to the button, this is seen in concept art.
  • Camera/photos, exact details not known, but has a fair amount of relations to camera terminology
  • Through the probable purpose of the info_placement_helper and func_placement_clip, it was to be objects that were photographed and then placed back into the world. This is also reaffirmed with the commands for the F-Stop photos targeting physical entities.
  • Objects apparently had a singular discrete scale value rather than multiple continuous ones as evidenced by the chicken particle effect, the leftover filter_size and the button vscripts. It is commonly believed that the scaling seen in the Portal 2 sixense dlc was what F-Stop used but these facts are against it as the dlc uses multiple continuous variables on different axis. The scaling itself was not the main part of the mechanic as the ability to scale was to be gained later as evidenced by the reslists/snds.
  • Inventory
  • The exacts of how this would add more to a puzzle is unknown, if it is assumed to just allow multiple photographs to be taken then all it does is remove the back and forth between areas when transporting a variety of objects
  • Photos had an item form that could be picked up, it is unknown if a held photo can be dropped in the world while retaining the contents of that photo
  • Exposure is shown to have some visual effect during gameplay, there is only one piece of concept art that shows that this affected the world. Exposure can be affected by the shutter speed, Aperture diameter and depth of field of real world cameras
  • Blur is applied to objects that have had their photo taken, as evidenced by the blur commands and the intro screenshot which presumably has the effect applied to the pedestal. The code for this effect is available in the Alien Swarm SDK, with the materials for it to work in CS:GO.[9][10]
  • Photos
  • Had a foreground and a background texture
  • Had some separate “photo” icon textures for testing elements could be photographed
  • Had 3 render textures defined in code for each of the 3 photos you could hold at any one point in time


There are several commands still present in Portal 2 that relate to F-Stop in some way. Most of these relate to the blur that can be applied to entities. Another leftover from F-Stop is the presence of TF2 commands related to the hud in certain game modes, of which the TF2 hud textures are referenced in F-Stop.[11]

cl_blur_test                             : 0        : , "cl"           : Blurs entities that have had their photo taken
cl_blurClearAlpha                        : 0        : , "cl"           : 0-255, but 0 has errors at the moment
cl_blurDebug                             : 0        : , "cl"           : 
cl_blurPasses                            : 1        : , "cl"           : 
cl_blurTapSize                           : 0        : , "cl"           : 
cl_camera_minimal_photos                 : 1        : , "cl"           : Draw just the targetted entity when taking a camera photo
cl_photo_disable_model_alpha_writes      : 1        : , "a", "cl"      : Disallows the target entity in photos from writing to the photo's alpha channel

The code for this entity blurring effect is present in Alien Swarms SDK[9], it also has some updated code from the directed design experiments such as the npc addon system and some entities from the 2bots1wrench experiment. The entity blur effect requires several unique materials that are not present in Portal 2 but are present in CS:GO[10].
Portal 2 still has vmt proxies for some F-Stop specific materials, but the render targets for each of the 3 photos have been removed:

  • CPhotoMaterialProxy material proxy name is PhotoMaterial.
    • Does as below.
    • Only works if the entity is a C_Photograph.
  • CPlacementPhotoMaterialProxy material proxy name is PlacementPhoto.
    • Does something with $alpha
  • The player has the m_bPlacingPhoto network property.
    • C_Photograph has 1 unique variable being a texture and otherwise is just a C_BaseAnimating.
bool CPhotoMaterialProxy::Init(IMaterial *pMaterial, KeyValues *pKeyValues)
    bool found = false;
    m_pBaseTexture = pMaterial->FindVar("$basetexture", &found, false);
    return found;

void CPhotoMaterialProxy::OnBind(void *pC_BaseEntity)

    C_Photograph *pPhoto = dynamic_cast<C_Photograph *>(pC_BaseEntity);

    ITexture *pTexture = materials->FindTexture(pPhoto->m_szTextureName, TEXTURE_GROUP_MODEL, true, false);



There are several entities still in Portal 2 that are very likely to have been in use around the time F-Stop was in development. Two of these entities have similar names and no references to portals in their descriptions; with one of which being directly used for portals, it would be assumed that its description would make that known as with other Portal related entities.
Firstly, info_placement_helper[11], an entity used to help move portals to a specific position if the player attempts to place one near it, has no references to portals specifically. It is stated to be used to move objects around instead; its keyvalues imply that when it was just for objects, it could attach the object that is being placed to another by the use of attachment points, similar to the TFObject code present in the Source 2007 leak that allowed for buildings to be built on top of each other.[12]
Next is func_placement_clip[11], stated to be similar to func_noportal_volume at some point. Despite this, it does not provide any apparent functionality relating to portals and has no description relating to portals, as with info_placement_helper. Going by the name and its relation to the placement part of the F-Stop mechanic, it would have prevented objects from being placed within its area.
Much of the available information about F-Stop uses the word “placement” for functions relating to moving an object from its original position to a new one through the use of the camera and photograph. Its description is very similar to that of the Team Fortress 2 entity func_nobuild.[12]
Seemingly due to its simplicity in being something like a trigger brush but by radius around a point, it was re-used for Portals due to its higher versatility.

  • filter_size
  • would have allowed map IO to find entities based on their size
  • specifies an exact size rather than a size range

within the Dota 2 file listings are the filenames for several F-Stop entities [13]

  • item_photo
  • related to having a photo inventory, you could hold 3 photos in memory at a time
  • it is unknown if photo items could be dropped by the player without loss of the photographed object
  • prop_mousetrap
  • Several HUD-related scripts for both the viewfinder and the glow effect referenced in the F-Stop maps
  • In Alien Swarm's FGD is an entry for “Aperture Nest”, a node for NPCs that is not present in Alien Swarm's code, presumably a leftover from F-Stop for the giant chicken nest.[9]
  • In Portal 2's content are miscellaneous references and scripts for the sound of weapons or entities:
  • weapon_camera
  • Able to capture objects. Captured objects data gets sent to weapon_placement
  • weapon_placement
  • Allows for placing down captured objects
  • Once upgraded, also allows for scaling objects
  • npc_zombie_aperture
  • Likely the first version of androids, made in a much earlier variation of F-Stop
  • npc_mannequin
  • The Exposure leak included the rest of F-Stop's Entities:
  • npc_chicken
  • Chicken that pecks the floor and walks around idly
  • Scaling it up makes it chase you
  • Feather particles fly out of it when moving around
  • Semi-Complex AI Behavior to npc_android
  • When both npc_android and npc_chicken are scaled normally, nothing happens.
  • When the npc_android is scaled larger than the npc_chicken, the chicken runs away from the android, and the android chases it
  • When the npc_chicken is scaled larger than the npc_android, the chicken chases the android, and the android attempts to flee
  • Used Strider footstep sounds from Half-Life 2
  • The use of the sound does not indicate it was edited from the Strider code
  • Concept art and sound events loaded in the map it was present in indicates that it could charge through breakable objects
  • npc_android
  • Reuses Half-Life 2 Zombie AI.
  • Mannequin that attempts to play voicelines and chase the player.
  • npc_android_basic
  • Despite being referred to as the "basic" version, it has more functionalities than npc_android.
  • Can be squashed on the floor when scaled down.
  • prop_air_vent
  • Photographable fan that lifts you up when jumping on it
  • Scaling the fan changes the strength of the fan
  • prop_monopole
  • Magnet that can have its polarity changed
  • Scaling it also changes its strength
  • Uses the Team Fortress 2 intelligence model. Changing the polarity of the monopole switches the model skin between red and blue
  • prop_balloon
  • Balloon that can be attached to objects using the camera, having them lift off into the air.
  • prop_geyser
  • Geyser that spews out particles every 3 seconds, which can lift you up or push you just like prop_air_vent
  • prop_mousetrap
  • Mousetrap, worked as a catapult
  • Plays a snapping sound when triggered
  • Flips when snapping
  • prop_building
  • A Dollhouse that opens a portal at its doorway when scaled up to the largest scale
  • The portal would lead to another prop_building, if another exists
  • trigger_photo_eraser
  • Trigger that cleanses any photos in your inventory
  • Going through it while in placement mode removes the photo from your inventory, and brings it back to its original spot
  • prop_swap
  • An entity that when photographed, swaps your position with it.
  • prop_reflect
  • Entity that teleports you towards it when photographed.
  • prop_android_dispenser
  • Dispenses an npc_android_basic on spawn
  • aperture_nest
  • Entity that, when placed in a map that has an npc_chicken, has the chicken go to it and nest itself in it. Disturbing it with an android makes it freak out.
  • android_missile
  • Photographable RPG missile, shoots in whatever direction you place it in after capturing
  • A Specific type of androids, 'npc_android_missile', would be able to shoot these out of their torso

Textures and Particle Effects

Within Portal 2 is a fair amount of F-Stop textures. Most F-Stop world textures have the key word ‘Aperture’ defined in their VMT; one such remaining texture is wallpaper001a, which is seen in concept art.


Within the weapons texture directory used for the Portal Gun is "camera", the texture of F-Stop's weapon_camera which shares similarity with cameras derived from the Leica 2 and 3 models, and v_hands, the texture of the viewmodel hands that hold the camera and photo. Within the models texture directory is: "bot_male", a mannequin texture which has a wireframe of an earlier model's UV in its alpha channel; "button", an F-Stop re-colour of the Portal floor button; and "door_01", a F-Stop re-colour of the Portal door.

For the HUD, some of the viewfinder textures were re-purposed for Portal 2's Co-op Mode when the players view is swapped to one of GlaDOS’ cameras. Oddly, one of the textures appears to be in an entirely separate folder (crop_mark001). There are also HUD icons for when you have either the photo or the camera active, but are unlike normal weapon icons in that there is a neutral version of the icons. There is also a locator that can point out which direction the chicken is currently.

  • camera_viewfinder_halfcircle
  • camera_viewfinder_normal_ul
  • camera_viewfinder_ul
  • hud_icon_arrow
  • hud_icon_camera
  • hud_icon_neutral
  • hud_icon_picture
  • hud_loc_arrow
  • hud_loc_chicken
  • inv_full
  • inv_photo_numbers1
  • inv_photo_numbers2
  • inv_photo_numbers3
  • inv_photo1
  • inv_photo2
  • inv_photo3
  • invalid
  • light_glow03

Within the old SteamVR performance test depot files is a variety of Portal 2 beta content, including a large amount of earlier versions of sign textures. Among these files is a texture for Portal’s Portal gun pedestal, using F-Stop’s color scheme, as indicated by the altered versions of the floor button and door. This would likely have been used for the prototype Portal Gun scene.

Within the Source Filmmaker beta files is an edited version of the colored variant of the female mannequin (with additional googly eyes, lipstick and blush), apparently used as a placeholder for the mannequin in Expiration Date. It contains a separate set of UVs from the other mannequin model.

There are also a few particle effects left over from F-Stop including Chicken.pcf and Zombie.pcf, the former of which is missing a texture called feather01.


  • Within Portal 2 there are still some leftover sounds from F-Stop.
  • The mannequins/androids had pain sounds from "2 Bots, 1 Wrench", another Directed Design Experiment.
  • The chicken used the footstep sounds of the Strider from Half-Life 2, and Team Fortress 2's pipe bomb launcher sound for “chicken_tube”.

Similar games

Pillow Castle’s Museum of Simulation Technology (Site) (Trailer)

  • Forced perspective dual scaling and placement
  • Fans

Retro Affect’s Snapshot (Steam)

  • Secretly in development around the time F-Stop was being developed (RetroAffect)
  • Almost exactly matches the evidence for F-Stop’s mechanic except in 2D
  • Also has similar parallels for other puzzle mechanics like an obvious doorframe, possible fan etc
  • Camera based mechanic
  • 3 photos
  • Placement of objects back into the environment
  • Objects retain their velocity before and after being placed
  • No scaling

Both make use of forced perspective on objects so that while the player is not in the correct position they appear painted on the surrounding environment but in the right position they appear whole and can be interacted with.



  • Portal 2
  • Reslists/Snds
  • scripts/vcds
  • models/textures
  • commands/Entities
  • Perpetual Testing Initiative DLC
  • Portal 2 ARG
  • SteamVR perftest early depot Portal2_imported
  • Team Fortress 2 2009-2010


  • Portal 2 file listings
  • Portal 2 GDC

Concept art

  • Neoseeker Left 4 Dead concept art, Valve Time, Valve Archive
  • Chilton Computing Photo gallery

Second hand

  • Unofficial Portal 2 wiki
  • Valve Archive
  1. 1.0 1.1 1.2 1.3 The Final Hours of Portal 2
  2. 2.0 2.1 Cave Johnson Casting Call
  3. 3.0 3.1 3.2 Portal 2 the official guide
  4. Valve Artists
  5. Expiration Date (Team Fortress 2)
  6. 6.0 6.1 Source film maker beta content
  7. Portal: the uncooperative cake acquisition game
  8. Joe Han animation reel
  9. 9.0 9.1 9.2 Alien Swarm
  10. 10.0 10.1 Counter Strike Global Offensive
  11. 11.0 11.1 11.2 Valve Developer Wiki
  12. 12.0 12.1 Source 2007 leak (2012)
  13. Dota 2 beta file listings


  • Jaycie
  • Finding the length of the F-Stop voicelines within the Portal 2 sound scenes file
  • DankParrot
  • Working out how the blur code works
  • Finding the blur materials in CS:GO
  • Finding the mannequin texture in the SFM beta and the pedestal texture in the steamvr perftest
  • Realising that the bbs messages in the arg were related to cave Johnson’s F-Stop voicelines
  • ArthurDead
  • Delving into the MacOS dylibs
  • Photo entity
  • Photo proxy, Reverse engineered
  • Photo placement proxy
  • Client side camera and placement weapons
  • Flash
  • Takephoto more than 5
  • Uncanny
  • Found the code for the blur
  • Assembling the initial article
  • Large amount of information diving
Previous section:
Portal 2 - Eras Next section:
Experimental Era