TitanFocus: Gameplay Scripting and Procedural Level Design
Map Type: Single player third person jet fighter level
Engine: Gears of War Development Time: 138 hours |
|
Theme/Environment:
Titan is a complete overhaul of Gears of War gameplay inspired by Starfox. Players pilot the Atlas, a powerful jet prototype, and fly over the blood red ocean, zigzagging through rock monoliths and arches while battling swarms of Locust forces. Tall, sharp mountain peaks rim the horizon as glimpses of lighting flash far in the distant sunset. At the end of the level, players test their skill inside a massive sea cave, gunning down groups of enemy air and ground troops while dodging the perilous confines of the cave.
Gameplay Description:
Gameplay is completely rebalanced from the original Gears of War to allow players to fight vast swarms of enemies. Using the three powerful mini-guns and dual missile launchers of the Atlas, players battle hordes of Reavers, Hunters, and Drones, while rolling and dodging swaths of deadly Nemacysts. In addition to gunning down enemies, players must maneuver through oceanic rock formations, weaving around columns and under arches as they hurtle forward.
Titan is a complete overhaul of Gears of War gameplay inspired by Starfox. Players pilot the Atlas, a powerful jet prototype, and fly over the blood red ocean, zigzagging through rock monoliths and arches while battling swarms of Locust forces. Tall, sharp mountain peaks rim the horizon as glimpses of lighting flash far in the distant sunset. At the end of the level, players test their skill inside a massive sea cave, gunning down groups of enemy air and ground troops while dodging the perilous confines of the cave.
Gameplay Description:
Gameplay is completely rebalanced from the original Gears of War to allow players to fight vast swarms of enemies. Using the three powerful mini-guns and dual missile launchers of the Atlas, players battle hordes of Reavers, Hunters, and Drones, while rolling and dodging swaths of deadly Nemacysts. In addition to gunning down enemies, players must maneuver through oceanic rock formations, weaving around columns and under arches as they hurtle forward.
Design Highlights
- Gameplay Scripting: Inspired by Starfox, scripted a custom-made player-controlled jet, new movement and targeting controls, two new attacks, and one new ability
- Systems Design: Rebalanced player and AI health, damage, and attack attributes to create empowering combat against large enemy swarms. Created two difficulty modes, each with their own enemy and level speed balancing
- Procedural Level Design: Designed and implemented a modular, scalable level generation system to create 8 minutes of gameplay using over 70 encounter sequences
Gameplay Scripting
For Titan, I created completely new gameplay by scripting a jet fighter that the player pilots. The jet was built from pre-existing static meshes (mostly city pieces), and "rigged" to a series of parented interp actors which act as its skeleton. Manual input events in kismet trigger movement, weapons, and the barrel roll ability. The player's avatar is hidden inside the jet, controlling a turret which governs the targeting systems for the jet weapons. Since interpolating meshes do not call collision events, I also manually created collision for the jet using dynamic trigger volumes, governing both jet crashes and Nemacyst proximity explosions.
Systems Design
Jet Weapons and Abilities
One of my goals for Titan was to empower players by having them battle large swarms of enemies, far more than they would ever encounter in a traditional Gears of War level. I began by equipping the Atlas jet with triple Brumak mini-guns, and dual missile launchers that fire six Boom-shots each volley on a two second cooldown. I also added the barrel roll ability, which grants 0.67 seconds of invulnerability on a 2.67 second cooldown. This allows players to avoid burst fire from enemies and reduce incoming damage overall. It's also excellent for spreading out missile volleys into dense packs of enemy Reavers.
Enemy Balance
In balancing enemies, I lowered the health of distant swarms of Reavers, Hunters, and Drones in order to correct for the inaccuracy of the jet's weapons at long ranges, while setting high health on close range, dense packs of Reavers in order to encourage smart use of the missile launchers. Because of the high move speed and low collision radius on Nemacysts in the level, I increased both the explosion radius and damage, and created a proximity explosion radius to make Nemacysts an actual threat during play. As they fly through the level, players also fight enemy control towers, scattered among the islands and packed with Hunters. Attacking the towers causes them to explode and collapse, killing nearby enemy ground forces. Alternatively, players can blast the Hunters off the cliff side with the powerful mini-guns.
Difficulty Modes
In order to cater to multiple player types, I created two difficulty modes. Hardcore mode presents a serious challenge to skilled players. Normal mode gives players an extra 50% health, slows the pace of the level to 80%, and replaces several particularly difficult spawns and obstacles with easier versions. In addition, Normal mode incorporates a larger spread between obstacles and enemies, giving players more time to react to obstacles and regenerate health between battles.
Procedural Level Design
Creating the play space for Titan demanded that I design my own system for procedural level generation. Mapped out end to end, the level is over 4,320,000 Unreal units long, a space larger than the actual map bounds of the editor. Instead of moving the jet through the space and dealing with the limits of finite length and static world design, I opted to create the level in chunks and dynamically matinee them towards the player, giving the illusion of forward motion.
I knew that creating a well polished city-scape or outdoor environment of the appropriate scale would be impossible given the time constraints of development and the massive frame-rate impact it would have, so instead I chose a sea-scape, allowing me to create an attractive, realistically populated space with as few meshes as possible. This had the side benefit of giving me more time for gameplay scripting, which was my primary focus for the project. It also made playtesting and balancing much easier, since I could jump to any stream point in the level with a few simple adjustments in kismet.
I knew that creating a well polished city-scape or outdoor environment of the appropriate scale would be impossible given the time constraints of development and the massive frame-rate impact it would have, so instead I chose a sea-scape, allowing me to create an attractive, realistically populated space with as few meshes as possible. This had the side benefit of giving me more time for gameplay scripting, which was my primary focus for the project. It also made playtesting and balancing much easier, since I could jump to any stream point in the level with a few simple adjustments in kismet.
Level Progression
The level begins over empty ocean while HUD overlays explain the controls and allow the player to select the difficulty and look inversion. The player then flies through a series of obstacles, becoming familiar with how the jet maneuvers in a calm environment. Next the player faces enemies, learning each type in progressively more difficult and complex encounters. The level then combines environmental obstacles with enemies, and culminates with the confined spaces of a sea-cave, forcing a mastery of both tight maneuvering and adept weapons combat.