Here, Valve put many of the ichy’s waypoints underneath the cover of the catwalk, to discourage the player from freely sniping at the monster from above water. To pathfind somewhere, the AI will look at all the different links between nodes to assemble its route. But instead of a path_track, a designer must place info_node points that automatically link with nearby nodes into a web-like ‘node graph’. NPCs in Half-Life are a lot like trains, they mostly go where the track leads them. If any walls got destroyed, it would become obsolete, which is one of the reasons few games have deformable worlds. Why spend precious cycles rendering something behind a wall? Valve designers had to pre-calculate a ‘potentially visible set’ (PVS) of which rooms can see into which rooms. S-shaped bends and hallway-room-hallway structures were great line-of-sight blockers for ‘visibility culling’, where a game engine avoids wastefully drawing hidden scenery. These days, a single shrubbery in the new Call of Duty probably uses two megabytes of texture memory, an entire Half-Life level’s worth by itself. How many megabytes of memory does your graphics card have? A few gigabytes? Back in 1998, game developers counted every megabyte: each map file in Half-Life was limited to two megabytes of texture memory. Thus, transition areas in Half-Life are often featureless narrow hallways with few details. However, it means that if the designers ever change that tunnel later, then they must also update the twin copy in the other map file, which can get messy and time consuming. If a map ends with a dark section of concrete tunnel, then the next map must start with an identical copy of the concrete tunnel. To give the illusion of a ‘seamless’ level transition, two map files must share the same room. Laidlaw interpreted the request more literally and asked himself, what were the possibilities afforded by using a train? To show off the new functionality, the programmer asked Laidlaw to write some use of func_tracktrain somewhere in the game. Unlike its simpler ancestor func_train, inherited with the Quake-derived codebase, func_ tracktrain could run on a long stretch of path_track, branch onto different tracks, and bank and pivot into turns. According to former Valve writer Marc Laidlaw, it began when a programmer implemented a new type of game object called a ‘func_tracktrain’. The chapter was pitched initially as more of a tech demo than a bit of subtle atmosphere. It is an iconic and oft-imitated stretch of scene-setting. The Black Mesa facility swirls to life around your monorail: co-workers run late to work, forklifts rush through maintenance tunnels, an idling helicopter waits for passengers. Half-Life begins with a seven-minute work commute.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |