"Entities" { "entity" { "classname" "point_commentary_node" "targetname" "Elevator Shaft" "origin" "5011.298340 -1487.579834 418.031250" "angles" "0 -90 0" "precommands" "" "postcommands" "" "commentaryfile" "#commentary\ep2-comment071.wav" "printname" "Elevator Shaft" "viewtarget" "" "viewposition" "" "prevent_movement" 0 "speakers" "Brian Jacobsen" "synopsis" "Until we added the wooden landing here, players were very reluctant to jump down into the elevator shaft. Some playtesters went all the way back to the previous level, looking for another way down. In the days of Half-Life 1, we depended on players jumping willynilly down every elevator shaft they encountered, but over the years they have learned to be afraid of the things we tend to put down there." "parser_id" "71" } "entity" { "classname" "point_commentary_node" "targetname" "Flashlight Upgrade" "origin" "5748.541016 -2497.245117 -1182.698608" "angles" "0 178 0" "precommands" "" "postcommands" "" "commentaryfile" "#commentary\ep2-comment064.wav" "printname" "Flashlight Upgrade" "viewtarget" "" "viewposition" "" "prevent_movement" 0 "speakers" "Jason Mitchell" "synopsis" "One of the major graphical enhancements we made to the Source engine for Episode 2 was the addition of shadow mapping for the player's flashlight. This allows the flashlight to cast soft dynamic shadows into the world, adding realism and drama to the scene, particularly in dark underground areas like this one, in which the use of the flashlight is required to navigate the space. As you move around, notice that all objects in the world cast and receive realistic shadows from your flashlight." "parser_id" "64" } "entity" { "classname" "point_commentary_node" "targetname" "Headcrab Room" "origin" " 4519.621094 -1367.796753 -1273.736206" "angles" "0 100.673889 0" "precommands" "" "postcommands" "" "commentaryfile" "#commentary\ep2-comment072.wav" "printname" "Headcrab Room" "viewtarget" "" "viewposition" "" "prevent_movement" 0 "speakers" "Ken Birdwell" "synopsis" "Early versions of this area had serious problems; it was brutally punishing and unfun. We were trying to make an experience about timing and tension, but playtesters perceived this as another boss battle, but without physics and explosives there's no way to kill the guardian. They would empty all their ammunition into him and die horribly over and over before giving up and running away. They hated it. Our first solution to this problem was to add an arena immediately before the maze, where we hoped players would use up most of their ammo on headcrabs and barnacles and not even try to shoot him. But clever players managed to lure the headcrabs into barnacles and rush past while the barnacle was feeding, arriving in the guardian's lair with plenty of ammunition and again with a false impression that they could kill the boss. In the end it was necessary to have the Vortigaunt tell the player 'Remember, do not kill the guardian or the extract will be ruined!'--therefore justifying why you wouldn't be able to do we didn't want you to do and what you couldn't do in the first place. This area is really fun now. The battle is almost exactly like the original layout, the big difference is that we're communicating our expectations to the player, rather than having them learn by dying." "parser_id" "72" } "entity" { "classname" "point_commentary_node" "targetname" "Antlion Guard" "origin" "3304.020752 282.793396 -1447.176392" "angles" "0 -163 0" "precommands" "" "postcommands" "" "commentaryfile" "#commentary\ep2-comment082.wav" "printname" "Antlion Guard" "viewtarget" "" "viewposition" "" "prevent_movement" 0 "speakers" "Scott Lynch" "synopsis" "In Half-Life 2, the Antlion Guard was originally meant to be a sort of super-bug bloodhound that pursued the player through caverns and harassed him while he slipped into small spaces to hide. While we never realized that design in Half-Life 2, this scenario is, for the most part, exactly what his original design sought to accomplish. Over the course of many years of production on various titles, we've found that ideas often go away into the ether for years or more, only to resurface and thrive in a new game environment. Even failed prototypes can flourish down the road." "parser_id" "82" } "entity" { "classname" "point_commentary_node" "targetname" "Maze Loops" "origin" "3253.009521 814.923584 -1575.625610" "angles" "0 90 0" "precommands" "" "postcommands" "" "commentaryfile" "#commentary\ep2-comment074.wav" "printname" "Maze Loops" "viewtarget" "" "viewposition" "" "prevent_movement" 0 "speakers" "Greg Coomer" "synopsis" "Before we simplified the path through the guardian's lair, we allowed a right turn at this junction, leading the player right back to where they began. One of our playtesters continued to repeatedly turn right here for half an hour. That was a compelling argument for removing the mazelike elements." "parser_id" "74" } "entity" { "classname" "point_commentary_node" "targetname" "Visual Theme: Antlion Chambers" "origin" "2612.550049 -306.3699951 -1764.819946 " "angles" "0 131.3099975586 0" "precommands" "" "postcommands" "" "commentaryfile" "#commentary\ep2-comment060.wav" "printname" "Antlion Chamber Visual Theme" "viewtarget" "" "viewposition" "" "prevent_movement" 0 "speakers" "Kelly Bailey" "synopsis" "The Antlion tunnels, carved out by worker antlions using their acid secretions, make up the third of three subterranean spaces with a distinctive visual style (man-made mines and natural cave formations being the other two). The presence of crawlspaces was dictated by game design, but they evolved into chambers that fit logically with the life cycle of the antlions. Here, the young grubs can develop and feed in safety, although--conveniently for the player--they cannot digest useful items such as health kits." "parser_id" "60" } "entity" { "classname" "point_commentary_node" "targetname" "Decoupling the Flashlight" "origin" "2095.887939 -1431.387207 -1829.708740" "angles" "0 -56 0" "precommands" "" "postcommands" "" "commentaryfile" "#commentary\ep2-comment076.wav" "printname" "Decoupling the Flashlight" "viewtarget" "" "viewposition" "" "prevent_movement" 0 "speakers" "Aaron Seeler" "synopsis" "One change we made to Episode 2 was to decouple the flashlight power from the suit power. Playtesters constantly had their flashlight on during the guard chase sequence and were unable to sprint to safety because the flashlight drained their suit's sprint ability. We wanted players to be able to outrun the guardian with their flashlight shining. Sometimes we are forced to make tradeoffs between conventions we've established in earlier installments, and gameplay we need now. It would be silly to not have cool looking underground passages just to keep flashlight behavior consistent until the end of time. As for the rationale within the story, players might assume this new feature was apparently the result of damage sustained in the train crash." "parser_id" "76" } "entity" { "classname" "point_commentary_node" "targetname" "mazelike tunnels" "origin" "3116.950928 -3418.527344 -1900.317871" "angles" "0 54 0" "precommands" "" "postcommands" "" "commentaryfile" "#commentary\ep2-comment066.wav" "printname" "Simplifying the Tunnel Maze" "viewtarget" "" "viewposition" "" "prevent_movement" 0 "speakers" "Alex Vlachos" "synopsis" "In early versions of this map, the tunnels here were more maze-like, with branches, loopbacks and dead-ends. After watching numerous playtesters get lost, it became obvious that they were not having fun. We simplified the paths and added a number of one-way chokepoints. The curving tunnels still keep the player in suspense, but as long as he keeps moving he'll continue to progress, with very little time wasted in retracing steps." "parser_id" "66" } "entity" { "classname" "point_commentary_node" "targetname" "Amount of Boards" "origin" "5220.968750 -4215.134766 -2053.067871" "angles" "0 0 0" "precommands" "" "postcommands" "" "commentaryfile" "#commentary\ep2-comment075.wav" "printname" "Slowing the Player Down" "viewtarget" "" "viewposition" "" "prevent_movement" 0 "speakers" "Mike Durand" "synopsis" "In this scene, we wanted the player to feel under tremendous pressure to break through the boards. Ideally, they just barely make it through the opening before the guardian arrives. To get this effect consistently, we had to reduce the number of boards again and again until we saw playtesters consistently scrambling to safety at the last moment." "parser_id" "75" } "entity" { "classname" "point_commentary_node" "targetname" "Guardian Animation" "origin" "5364.649902 -4200.609863 -2111.100098 " "angles" "0 -37.4900016785 0" "precommands" "" "postcommands" "" "commentaryfile" "#commentary\ep2-comment077.wav" "printname" "Guardian Animation" "viewtarget" "" "viewposition" "" "prevent_movement" 0 "speakers" "Jason Ruyman" "synopsis" "In early versions of this map, the player was allowed to drop straight to the bottom of the shaft. Nobody ever saw the guardian break through the boards. Therefore we added a small floor area and required the player to turn around to break more boards, making it much likelier that players would see the guardian's attack." "parser_id" "77" } "entity" { "classname" "point_commentary_node" "targetname" "Difficulty Tuning" "origin" "5436.709473 -2323.398193 -2272.546143" "angles" "0 30 0" "precommands" "" "postcommands" "" "commentaryfile" "#commentary\ep2-comment079.wav" "printname" "Difficulty Tuning" "viewtarget" "" "viewposition" "" "prevent_movement" 0 "speakers" "Matt Scott" "synopsis" "One of our toughest jobs is tuning for difficulty. There are all kinds of ways that sloppy game design can make players miserable when they are supposed to be enjoying themselves. If the player is laughing as he dies, it's a good sign--it means the death is perceived as part of the entertainment experience, that the player died fairly and not as the result of poor design. But if the playtester beats his head on the keyboard, we usually take this is a sign that there is still work to be done." "parser_id" "79" } "entity" { "classname" "point_commentary_node" "targetname" "spare gear" "origin" "5796.175781 -1686.682617 -2300.887695" "angles" "0 -144 0" "precommands" "" "postcommands" "" "commentaryfile" "#commentary\ep2-comment068.wav" "printname" "Finding the Gear" "viewtarget" "" "viewposition" "" "prevent_movement" 0 "speakers" "Gary McTaggart" "synopsis" "At various times this gear was loose in the environment, tucked in a dark crevice, hidden in a small box, or lost at the bottom of a flooded pool. One playtester, unaware of his low health, actually drowned in two feet of water while retrieving the gear. We realized that attaching the gear to a chassis identical to the engine motor was the best way to help the player make the connection between this gear and the empty space on the other assembly." "parser_id" "68" } "entity" { "classname" "point_commentary_node" "targetname" "Gear puzzle" "origin" "5140.725098 -1718.468140 -2300.669434" "angles" "0 -140 0" "precommands" "" "postcommands" "" "commentaryfile" "#commentary\ep2-comment067.wav" "printname" "Tuning the Gear" "viewtarget" "" "viewposition" "" "prevent_movement" 0 "speakers" "Vitaliy Genkin" "synopsis" "This puzzle proved surprisingly difficult for many players. In an earlier version, not only did you need to find the spare gear, but this elevator was connected to a disabled generator that wouldn't operate until you also attached a crank and jump-started it with the gravity gun. Although it sounds simple, most playtesters got stuck here for many minutes. We kept simplifying until we hit the version you see here." "parser_id" "67" } "entity" { "classname" "point_commentary_node" "targetname" "Vort aquiring extract" "origin" "6105.063965 178.937286 -2502.997803" "angles" "0 10 0" "precommands" "" "postcommands" "" "commentaryfile" "#commentary\ep2-comment081.wav" "printname" "Differentiating the Nectar" "viewtarget" "" "viewposition" "" "prevent_movement" 0 "speakers" "Jason Holtman" "synopsis" "When the vortigaunt discovers the extract, we wanted to do something to distinguish the nectar from all the other glowy alien substances we've seen in the caves so far. Therefore we had him perform a bit of a chant, and had the extract give off a show of its own." "parser_id" "81" } "entity" { "classname" "point_commentary_node" "targetname" "Vortessence particles" "origin" "5934.395020 223.847397 -2509.998047" "angles" "0 56 0" "precommands" "" "postcommands" "" "commentaryfile" "#commentary\ep2-comment069.wav" "printname" "Vortessence Particles" "viewtarget" "" "viewposition" "" "prevent_movement" 0 "speakers" "Scott Dalton" "synopsis" "We had wanted to implement a generalized particle system for quite some time, and after Episode 1 we set out to create one. In previous Half-Life games, each effect had been hand coded by a programmer working with an artist. It was effective, but not easily scalable. Our new system drew upon the aspects we found most useful from team members who had worked with both real-time systems in games and offline renders for movies such as the Lord of the Rings. The results were an artist friendly, modular, component driven system. Each system can have renderers which display the particle in some form, initializers which set up certain properties of the particle, operators which carry out actions upon the particle each frame, constraints which provide movement limitations such as collision, forces which impart complex dynamics, and emitters which determine how new particles are created. Together they are plugged into a system as needed to be as lightweight or as complex as required for the effect. Each individual component is simple, but when combined, can create rather complex dynamics. Furthermore, adding additional components to support the specific needs of a game or mod is easily done. The results can be seen in everything ranging from the simple glows of the larval extract here, to Citadel effects, blood, smoke, Hunter effects, portal effects, fire, and so forth. Dynamic effects are now in the hands of the artists, who can use them to create whatever is needed--from unique one-offs in specific levels, to generalized effects for gameplay." "parser_id" "69" } }