Soar into The World of Tomorrow!
Captain Rocket vs The World of Tomorrow is a top-down shooter where the player takes on the role of New Yorks own super heroine, Captain Rocket, in the fight against a crazed robot army that has swarmed the streets of the New York World Fair! With interesting weapons and the versatile Jetpack, Captain Rocket vs The World of Tomorrow offers fast-paced, high action gameplay that’s fitted to cater to the top down shooter genre lovers!
THE GAME PROJECT
Genre: Twin-Stick/Top-Down Shooter
Engine: Unity 5
Team: Four 3D artists – Three Designers – Two 2D Artists
Development Time: 2 months (2 weeks pre-production)
Captain Rocket vs The World of Tomorrow was the third game project at Futuregames, where we were tasked at creating a third person game with a 2D representation of the 3D world, with an alternative history setting. The game was to be developed using Scrum project methodology, Unity 5 and scripting in C#.
- Lead Designer
- Product Owner
- UI Scripter
- Assisting Gameplay Scripter
- Putting together a Game Design Document and coordinate the team around the concept
- Setting up and prioritizing the Feature List
- Managing and prioritizing Tasks and User Stories for each weekly sprint
- Script functionality for all User Interface
- Design and script functionality for the Pick Up system
THE DESIGN PROCESS
The process of creating Captain Rocket started with a 2 week pre-production, where I sat with the team (then only including designers and 2D artists), and we discussed the genre and core gameplay that we would like to explore in the project. We came up with a few basic ideas – we wanted to make a top-down, twin stick shooter, where the 2D element involved some form of tactical/strategical advantage that the genre sometimes lack. I was then tasked with writing down some basic feature/gameplay concepts after our discussion, which resulted in the Pre-Production Game Concept Plan, which I then based our Game Design Document after. Our 2D artist started working on character and silhouettes sketch-ups, and environment mockups, based on the design doc and pre-prod plan.
- Step into The World of Tomorrow – We wanted to create an artstyle and atmosphere that was very reminiscent of the actual New York World Fair of 1939, our artists studied the architecture, technology and aesthetics from that time period to accurately capture the setting.
- Take control of the Legendary Superhero Captain Rocket – it was essential that our players felt that Captain Rocket was indeed a superhero. We took time into the controls and balancing the combat so that she would feel powerful, but not too much so, so to not take away suspense in battles.
- Every bullet counts – in top down shooters, it’s important to make shooting feel awesome. We put extra effort into adding in physics objects and particle effects in the world, so that no bullet would feel like a wasted bullet.
During this project, I had full responsibility of scripting our UI/HUD system, as well as scripting and designing the Pick Up system. We had three different pick ups:
- Health: A basic health pick up that added +2% to the players health
- Energy: The energy pick up gave the player +2% charge on the Airstrike function. This pick-up was called “charge” in the scripts
- Supercharge: The supercharge pick up is an ammo booster that gave the player unlimited ammo for 5 seconds. It was called “ammo” in the scripts
I wanted the pick up system to be easily added to and adjusted if we so needed. Therefore, I created three scripts for the pick up system, the SpawnLoot function, PickUp manager and PickUpObjects.
The SpawnLoot function was placed on the enemies, and spawned the PickUp manager when the enemy was destroyed.
Click here to see script!
The PickUp manager was then responsible for which PickUpObject to spawn. It checks the players current state – is health low, airstrike charge full, or is the player affected by Supercharge? Based on that information, the chance percentage of each pick up to spawn is adjusted, and the a random pick up is spawned based on that percentage. When the PickUpObject has been spawned, the PickUp manager destroys itself, unless it has spawned the Supercharge pick up, in which case it lets the Supercharge function go through before destroying itself.
Click here to view script!
Finally, the PickUpObject holds the functionality for the pick ups. Which functionality it uses is based on an int. The PickUpObject script is placed on a game object, for example a cube. If that cube is supposed to be the health pick up, you simply choose which int is connected to the health functionality, in this case 0, and save that game object as a prefab which the PickUp manager spawns. When the prefab is spawned, it finds the location of the player and moves towards it. When colliding, the PickUpObject checks which type of pick up it is (type 0 = health), and then executes the function of that pick up type, then destroys itself.