n the past, game developers employed a trick known as staged lighting to give the impression that light in a game was behaving as it would in the real world. That meant a lot of pre-rendering—programming hundreds of light sources into an environment that would then be turned on or off depending on in-game events. If a building collapsed in a given scene, all the light effects that had been employed to make it look like a real interior would remain in place over empty space. Shadows would remain in the absence of structure; glares that once resulted from sunlight glinting off windows would remain floating in midair. To avoid this, designers programmed the light to look realistic in any of that scene’s possible situations—one situation at a time. “You would have to manually sculpt the lighting in every section of every level,” Bleszinski says. “The number of man-years that required was astounding.” UE4 introduces dynamic lighting, which behaves in response to its own inherent properties rather than a set of preprogrammed effects. In other words, no more faking it. Every light in a scene bounces off every surface, creating accurate reflections. Colors mix, translucent materials glow, and objects viewed through water refract. And it’s all being handled on the fly, as it happens. That’s not realistic—that’s real.
[...]
Making a splashy videogame used to be something that a small group could accomplish. Now it takes a small army. “Call of Duty was a game that a team of a few dozen could develop on PlayStation 2,” Sweeney says. “Now Activision has hundreds of people working on Call of Duty for the current-gen consoles. What’s supposed to happen in the next generation? Are they going to have 4,000 people?” To combat the bloat, Sweeney has stuffed UE4 with tools that promise shortened production pipelines and lower production costs (and all the profit that such efficiency represents).
How does that happen? For one thing, Unreal Engine 4 allows developers to see changes to the game instantly, as they work. Current production pipelines have the least WYSIWYG process imaginable: For example, when lighting elements are altered, computers have to parse the data and figure out how to render the changes. Depending on the extent of those edits, this process, sometimes called baking, can take half an hour or more. UE4 removes that bake time entirely. The effect it could have on studio workflow is staggering.
Most interesting, though, is Kismet 2, Epic’s newest visual scripting tool. Scripting is the way programmers define the attributes and actions of all the objects within the game world—everything from how doors open to when bad guys spring their preprogrammed ambush. In Unreal Engine 2 this was all accomplished using strings of code that connected objects and their behaviors in a web of cause-and-effect relationships. A good example is the connection between a switch and a lightbulb. Flip the switch one way and the light goes on; flip it the other way and the light goes off, as specified by the code. What happens, though, when turning on the light needs to trip a silent alarm that alerts guards in the next room? What if you’re wearing a stolen guard uniform when they enter? As events accumulate in a game, that web of relationships becomes significantly more elaborate, making it a Herculean task just to manage and troubleshoot the code. In Unreal 3, Epic addressed this by developing Kismet, a tool that simplified the scripting of minor tasks—that relationship between a switch and a lightbulb—by allowing the programmer to choose from a palette of options, no coding required. It was like jumping from the clunkiness of MS-DOS to the relatively intuitive world of Windows 3.0.
Then something surprising happened: Kismet democratized programming. “There were people who weren’t programmers but who still wanted to create and script things,” says James Golding, senior engine programmer. In other words, some artists weren’t content simply to draw the monsters; they wanted to define how they acted as well. Kismet let them do that. “When we got them a visual system,” Golding says, “they just went completely bananas with it.” This was off-label usage, though; while it was a great secondary benefit, Kismet hadn’t been designed for this task, so it was kludgy and slow.
And thus was born Kismet 2, which again converts tedious lines of code into an interactive flowchart, complete with pulldown menus that control almost every conceivable aspect of behavior for a given in-game object. Need to determine how many bullets it will take to shatter that reinforced glass? Kismet 2 is your tool. Once behaviors are set, they can be executed immediately and edited on the fly. With Kismet 2, Epic empowers level designers—the people responsible for conceptualizing the world—to breathe life into that world directly, rather than relying on programmers to do it on their behalf. Says Golding, “We’re turning our level designers into godlike creatures who can walk into a world and create with a swipe of their hand.”