top of page

Rogue Flight

 

An open world air combat prototype
  • Team Size: Individual

  • Role: Designer, Programmer, Artist

  • Tools: Unity, C#, Photoshop, Maya, Google Docs

  • Development Time: 3 months

  • Platform: PC

To create a challenging, but rewarding, fast paced open world air combat roguelike adventure, that is satisfying to control, empowers the player as they take down swarms of enemies on their own, and which brings the player into unique and interesting environments.
Intent:
 
Overview:
In Rogue Flight, the player explores a unique environment where they must fly their bi-plane from airbase to airbase, battling boats, turrets, and other aircraft. It was a solo project, which I created all the assets, design, and code for, and was created over the course of 3 months.
Process Overview
  1. Brainstorm
  2. Document/Plan
  3. Prototype Controls
  4. Test and Iterate on Controls
  5. Design and Implement Enemies
  6. Create World
  7. Design Airbases
  8. Polish/Feedback
 
 
Design Overview
While designing Rogue Flight, I had a set of goals and objectives in mind that helped to drive my design descisions. These goals were:
 
  • The enironment and each airbase must compliment the flying mechanics, and must make it fun to use these mechanics to navigate.
  • The world must be unique and fun to explore.
  • The enemies must be enjoyable and satisfying to fight against.
 
 
 
Environmental/Level design
To make an engaging world that worked in tandem with the flight mechanics, I created the environment with a focus on scale and verticality. The focal point of the map is the large mountain in the middle of the island, which gives the player something to orient themselves within the world to, while also drawing them up to the center of the environment.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
The mountains serve as landmarks which can be visible from virtually any part of the game world. These allow the player to orient themselves within the space, serves as a way to naturally break up the world, and provides the player with a unique environment to explore.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A sense of progress is acheived as the player ascends towards the top of the mountain, and they are rewarded with views of the surrounding environment, as well as a unique volcano themed airbase at the peak. For a walk through of a take over of this airbase, please see this video: https://www.youtube.com/watch?v=3TqD_JgLXQ4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
While designing the airbases, I wanted to ensure that each individual airbase was a unique experience to take over. To do this, I thought of a core concept or theme for each airbase, and then created them with that in mind. Below is a short list of all the airbases in the game, and the core concepts behind each of them.
 
 
 
 
 
Tutorial Airbase
Rock Bluff Airbase
  • First airbase players encounter.
  • Introduces players to all enemy types.
  • 3 AA turrets.
  • 3 planes.
  • 1 boat.
  • Mountains give player plenty of cover, while airstrip is open, making it easy to destroy targets.
  • 8 AA turrets.
  • 5 planes.
  • 1 boat.
  • Rock bluff and hills funnel player's approach, and give them cover.
  • Multi-level AA turrets allow players to attack them from many directions, including below them. 
Small Islands Airbase
  • 3 AA turrets.
  • 8 planes.
  • 3 boats.
  • Steep, jagged islands make players engage enemies acrobatically. 
  • Encourages fast strafing run type combat.
  • Boats placed strategically to make players think about how they approach the airbase.
Cliff Airbase
  • 8 AA turrets.
  • 10 planes.
  • 0 boats.
  • Airbase located on the edge of a cliff promotes open air dogfighting.
  • Limts the direction that players can approach turrets from.
Naval Airbase
  • 6 AA turrets.
  • 6 planes.
  • 8 boats.
  • Little cover encourages players to fly very low, darting in between the boats.
  • Boats create channels which funnel the player around the environment. Surrounding terrain contains them.
Desert Airbase
  • 6 AA turrets.
  • 12 planes.
  • 0 boats.
  • Very little cover encourages low altitude dog fighting.
  • Planes spawn both on the airstrip, as well as in the air in the surrounding air space, making players juggle planes coming in from many directions.
Valley Airbase
Bunker Airbase
  • 12 AA turrets.
  • 5 planes.
  • 2 boats.
  • Steep walls contain the player, and limit the main entrances to heavily guarded openings.
  • Turrets perched in walls shoot down on the player, and limit the directions that player can approach them from.
  • 4 AA turrets.
  • 4 planes.
  • 6 boats.
  • Valley contains the player, but still allows them to climb to high altitudes with ease. 
  • Encourages high altitude dive bombing runs.
Volcano Airbase
  • 7 AA turrets.
  • 8 planes.
  • 2 boats.
  • Interesting environment rewards players who climb to the peak of the mountain.
  • Players can use the side of the crater as cover, and can also dart between the small rocky outcroppings. 
Enemy Design
While designing the enemies, I focused on creating behaviors that were challenging, fair, and engaging, while also remaining within the technical scope of what I could accomplish on my own. I also wanted to ensure that these enemy types complimented each other, and provided the player with unique challenges and gameplay experiences. 
 
 
 
Planes
  • ​Challenges the player with air to air dogfighting.
 
  • Most manuverable and dynamic of the three enemy types.
 
  • Can come from any direction, so the player must be spacially aware of the world and where the enemy planes are within it relative to them.
Of the three enemy types, enemy planes have the most involved AI behavior system. To maneuver, these AI get the direction to the player, and apply a roll along with an upward pitch to turn. To avoid terrain, they have a sensor which tells the plane to pitch up if it detects an obstacle. If the player enters this sensor, the plane knows that the player is directly in front of the unit, and begins to fire.
 
Because of how the plane AI was created, I am able to simply place them into an environment with colliders on it, and have the planes able to maneuver in the space. This allowed for fast iteration and development of the 9 airbases.
AA Turrets
  • ​Stationary enemy which fires on the player when they enter it's range.
 
  • Placed around airbases to draw the player around the environment.
 
  • Though one turret is not a demanding challenge, multiple turrets can pose a significant threat to the player.
AA Turrets slowly turn to face the player when they are within range, and then fire when the player is in front of it's sights. While building the airbases, I spent a substantial amount of time thinking about how the turret placement affects the player experience. 
 
Turrets placed against cliff walls prevent the player from approaching them from wide angles, and force players to tackle them head on. 
 
Turrets placed in concentrated packs give the player a strategical reason to use the rocket and bomb weapons, and could be deadly to the player if they don't successfully evade the barrage of fire.
 
Turrets placed up high allow the player to attack from a wider range of angles, such as coming up from below the turret. However, this also allows the turret to fire down at the player, meaning the player must be aware of where they are flying and what turrets are able to fire on them. 
Boats
  • ​Stationary enemy which has the most amount of health out of the three enemy types.
 
  • Carries three turrets.
 
  • Can be destroyed be either doing enough damage to the hull of the ship, or by destroying each of the turrets.
Boats were the final enemy that I developed in Rogue Flight. While designing them, I needed to make something that I could develop with the remaining time in the project, while also creating a unique enemy type for the players to challenge themselves against. To accomplish this, I used the exisiting AA turret enemy, and tied them to the new boat model that I created. 
 
By allowing the player to either destroy the boats by attacking their hull, or by destroying each of the three turrets, I give the player a strategic choice in how they want to approach the enemy. Going after the ship's hull will take much more time, but is an easier shot that beginner pilots will be able to make. On the other hand, skilled players who are able to precisely target the turrets will be able to eliminate the boat faster.
Controls and camera
When creating the controls, I knew from the start that I wanted to create a game which was a cross between arcade and semi-realistic movement. For example, moving faster will make the player turn slower, while moving slower will allow the player to turn faster. 
 
The plane also moves faster when going down, and moves slower when going up. During combat, the player must balance their speed and height, allowing them to fire on targets while also moving fast enough so that they themselves don't get hit.
 
Players can also cause the plane to stall, which will cause it to drop at a fast rate. However, players are still able to roll and rotate their aircraft at a quick speed, which allows them to retain control of where they are facing, allowing players to pull off acrobatic stunts while firing on enemies.
 
Initially, I developed the camera so that it rolled with the player. This created a lot of disorientation with my testers, so I experimented with constraining the camera so that it would always remain upright. Testers found this to be much easier to both play and watch, and allowed the player to have a stronger sense of spatial awareness.
Design Document
To read the design document that I created for this project, which includes a detailed breakdown of the project's schedule, click here.

TOOLS EXPERIENCE: 

AS3 ActionScript, Blender, Box2D, ChiliProject, CMake, CryEngine, C++, C#, Flash, Flash Develop, Git, Hammer, Illustrator, Jira, Maya, Photoshop, RakNet, Redmine, SFML, SourceTree, Stencyl, Tiled2D, Tortoise SVN, Unity, Unreal 4, Visual Studio, XNA 

bottom of page