Game: |
Gears of War |
|
Engine: |
Unreal |
|
Special Notes: |
Kismet scripting creates procedural level design |
|
Production Time: |
16 weeks, 40 hours/week |
|
Projected Completion Date: |
May 2012 |
|
Play Time: |
Tutorial: 5 minutes, Larger maps: 15-20 minutes |
Overview
Derelict is a single-player game for Gears of War PC. It features advanced Kismet scripting that procedurally creates a random map and encounters for each play-through. Using custom art assets from BRIG, I created Derelict, which explores Gears of War mechanics combined with Spacehulk level design. Using advanced scripting to control level-streaming, Derelict provides immersion and replayability.
Players start Derelict on board an O.R.C.A. shuttle, approaching a low-orbit derelict spacecraft orbiting the world of Sera. Large fleets of spacecraft from the Pendulum Wars remain in orbit, unused and forgotten. Dropships with unused payloads, warships to provide orbital bombardment, assault craft to attack and reach the Hammer of Dawn satellite network, all provide the setting for Marcus to explore, re-power and recover.
The derelicts contain Locust forces, that also recently gained awareness of the ships in orbit. Mutated Reavers inserted hundreds of Locust strike teams within the ships in orbit, to not only prevent COG forces from recovering them, but to also reverse engineer the technology for themselves.
Within the dim metal corridors, players encounter and destroy enemies, navigate large ships with labyrinthine layouts, and attempt to survive.
Above is an example of a small map.
Above is an example of a medium map.
Technical Aspect
Derelict features procedural level design, using Kismet scripting to determine:
The size of the ship The mission objectives The number and frequency of enemy encounters The starting state of the derelict The shuttle’s docking point to the derelict Placement of objects that provide additional cover
Within the Kismet, Derelict uses a manifold process for level generation. Once the player selects the size of the mission, scripting selects the appropriate manifold-rooms for the ship size. A manifold room represents a pre-determined location on the map where many room types intersect. After the manifold rooms load, the remainder of the map generates via script.
Each type of room loads a shell room that provides the outer skin of the level, and creates the gamespace for Derelict. Once the shell rooms load, the interior spaces of each shell type load based on random seed. The different shell types are:
Bridge – the brains and control center of any ship. Cargo – large spaces for transporting cargo and personnel. Engineering – location of the ship’s reactor Manifold – junction points within the ship where different rooms connect Spine – Interior corridors for HVAC, life support, and other critical systems
Derelict presents several challenges, including proper checkpointing, and handling map refreshing. By using clearly named Boolean values, and a simple integer value for mission type, the scripting handles and processes the map objectives and map refreshing.
Lighting provided a major constraint. Creating the levels with a believable amount of lighting and shadow without either washing out the shadows or leaving the ships too dark provided an interesting balance in level creation. A skylight actor illuminates the entire scene, and brightens up the darkest shadows with a subtle light. Emergency lights dot the ship, and highlight available paths for the player. After restoring ship power, the emergency floods turn off, and ship-wide lighting turns on.
Artistic Aspect
Derelict features familiar Gears of War gameplay and mechanics in a new setting. By utilizing many art assets created for BRIG, Derelict places a familiar hero in a new, immersive environment. The constraint of small ship compartments creates opportunities for a high level of detail within each one, and the freedom to use many dynamic light sources, for realistic lighting and shadow.
Each ship and O.R.C.A. shuttle feature a random light palette, and select one of four believable light colors for the ship theme. Many of the mesh actors in Derelict use a grayscale material, and thus appear to match the light scheme.
The engine room features large dynamo-reactors. Constructed out of interpactors, each dynamo receives several dynamic light sources, creating a mesmerizing, moving machine.
Static mesh, texture and material assets reused from BRIG with the permission of the artists.
Artist | Jason Eeg | |||
Artist | Katie Sabin | |||
Artist | John Stamos | |||
Artist | Travis Everett |
Scripting Explained
The scripting solution for Derelict features standard Kismet nodes, but arranged in a unique manner. Based upon the number of interior spaces each room shell type offers, the script assigns an integer seed for each shell. This seed controls the initial map layout, and subsequent map refreshes. This system arose to prevent map refreshing from loading in a different room interior during a play-through.
Each objective uses a discrete Boolean variable, stored in the persistent level. On subsequent map-refreshes, during checkpointing, or loading of a checkpoint, the value of these Booleans determine which map-wide events occur. Also, a mission type integer variable prevents these objectives from firing out-of-order, or cross-triggering a different objective list.
Derelict uses many prefabs to not only add to immersion, but to strengthen the level building process. Each airlock door prefab uses 22 sub-objects plus scripting to control behavior. This door prefab allows Star Trek style operation – where it opens for encroachers, and closes only after the immediate doorway vicinity is clear. By using a trigger volume and object list, the script counts the actors near the door and updates the list as they die, or leave. Additionally, the door prefab supports locking and unlocking. Locking the door toggles a new material, with a red glow instead of blue, and renders the trigger volume inoperable. Unlocking the door not only changes the material back to blue and enables the trigger volume, it also quickly toggles the collision on the trigger volume. This way, if an encroacher is at the door when it unlocks, the door detects the presences of the actor and opens naturally.
The lighting overhead uses multiple materials and light colors within a prefab to provide portable, repeatable lights with controllable behavior. By selecting the options on the scripting, the designer controls whether the light turns on, or is broken, or randomly working or broken.
The scripter controls the color of the light to match the ship, or use a random color, and finally a trigger to turn the light on. This prefab allows flexibility and utility in level design, and lets the designer focus on building the level, rather than each light instance.
The above and below shots show the same view from the bridge into a manifold space. The upper shot uses only emergency lighting. The lower shot displays the ship with power restored. Note that the emergency flood light above the opposite door has shut off.
Within the engine room, a pipe prefab creates another random event for players to encounter and enjoy. A number of pipes within the engine room need interaction before the reactor can start. With the scripting in the prefab, each pipe starts either ready or requiring player interaction, and a switch counter tallies the pipe interactions. Attached to the pipe interaction, a random Wretch spawn adds to the immersion, as the noise of opening the valve draws attention to the player in the engine room. With the scripting set up this way, players need to interact with as few as zero up to the total number of pipe prefabs to enable the reactor control panel. By creating the prefab in this manner, each play through of an engine room remains a different experience.
Additional Game Play Screenshots
Download Derelict