Expect edits as this is in progress
Continued from previous post.
There were a few issues with Countdown Mode that I hadn't covered. First was that the mode needed a HUD. Originally we wanted to do a 3d one that showed pixely enemies surrounding a simple colour coded rotating 3d version of the ring. It simply was too complicated to get right and was abandoned in a few days. The next idea was to do an old school radar and that was what ended up in the game.
We had considered making the radar not scroll like it does and instead move your screen space down the line. It was quickly abandoned as when the player approached the edges of the screen they may have been lost in TV safe frame. The solution was to keep you in the middle and have the enemies and ring scroll with you, much like Defender does.
The enemy spawns for Countdown were controlled in a few ways. We simply increased enemy types and numbers as the player went from one wave to another.
However, there is a trick to the spawing that was a necessity for the mode. When enemies spawn in they begin to fly toward the player. When this was not set like this the player had to do a lot more flying, sometimes in empty void to get to the enemies. Having them come to you was a much more fun than you chasing them down.
As well, there was a "bug" that got into the game. When you die the enemies would once again switch direction and travel toward you when you respawned. This "bug" actually made the game even better and became a feature.
The music for Countdown was done much like Chris' work on Geometry Wars: Retro Evolved 2 Deadline mode.
In that game, and Orbitron: Revolution the music has distinct changes every 30 seconds. This is done so that the player can hear the music change and know where they are on the clock without having to look up at it.
The multiplier system was done only twice. Initially it worked more like Geometry Wars: Retro Evolved where there were multiplier thresholds. You shoot 20 enemies you were at 2x, 100 enemies 3x, 400 enemies 5x, etc. It simply didn't work and was confusing.
The solution was to do what a fighting game like Street Fighter does where each hit in a combo was counted as a multiplier increase and a long enough break in the combo chain and the multiplier goes away. It made a 1:1 correlation between shooting an enemy and getting a multiplier so it was very clean. In addition we had the voice and 3d models for the multiplier number appear on screen to reinforce the current level. We had though that after 100x Multiplier that it could keep going so we recorded the actress saying the words "Extra Multipler." In the end we made 100x the top as a clear ceiling.
The main game mode, Guardian, came together quite quickly but was actually very tricky to pull off properly. In the mode, the player had to protect the four sector ports, located around the ring every 90 degrees, from being destroyed by the enemy drillers.
Initially we thought that perhaps the Sector Ports would actually repair themselves slowly after they had been saved. This however made the mode go on forever. I wanted the mode to feel like a slowly sinking ship. The longer you could keep your head above water the higher your score and the longer your time in the stats screen. If it could go on forever what seperates one player from another is simply time investment.
Sooner or later people will get so good at the game that they could keep the ring alive forever and then the highest scores would be dicated solely by those with the most time to kill. That was the antithesis of game design based around a leaderboard.
Taking the repair out meant that sooner or later the health of the sectors would hit zero, however the problem was greater than that.
You need to remember that the ring was only ever built once. I simply guessed at the scale required for the game. There are 40 sections to it, one every 9 degrees. This meant that it would have an actual North, West, South, and East as well as sections at perfect 45 degrees. That was the thinking that dominated the ring design.
Where this impacts Guardian was this:
The player could fly from a 90 degree point on the ring to the next 90 degree point in about 12 seconds give or take avoiding regular enemies. That meant that if Drillers were spawning in 12 second intervals it was possible to never have the ring get damaged. The player could simply fly from one port to the other killing Drillers as they went. The solution was to start them at 12 seconds, and then drop to 10, and finally to 8 seconds. At 8 seconds, even with Turbo, and Boost Gates the player would find it hard to keep up. Also, the deeper into the game you are, the more regular enemies spawn with the Driller, making travel even harder/slower.
Visibility was an issue as well. The player can see only about 20 degrees of the ring at once, and the HUD could get very busy. To fix this we had a Driller spawng in with a Posse.
The Posse would first appear en masse around a Sector Port, and then the Driller would come in with a loud and unique sound effect. We also used a HUD Arrow Element and voice work to suggest where and which Sector Port was under attack.
In Guardian the failure state was also set so that only 3 of the 4 sectors neeeded to be destroyed in order for the ring to explode and have a Game Over.
This was done on purpose as if the failure state was all 4 then the player would simply sit by a single Sector Port, abandoning the other three.
In both game modes, We have the player respawn upon death outside the ship bay. This was purposeful penalizing for the player. In Countdown it meant that if the spawns were getting farther out because you were flying around a lot you would have to need to travel. In Guardian it was a benefit and a curse as sometime you wanted to die so that you would respawn seconds later near a sector that was currently under attack (however you lose your current score mulitplier when you die).
Many good Guardian players will keep Sectors A and D alive as death will have you spawn between them so you can be in a better place to defend either. It is still next to impossible to stop the sinking ship.
The final game mode that we added, close to release on Xbox was called Extra Mode. The only reason why it is called that is because we didn't want to go back to audio record and have to pay our actress for another session. Instead, we dug throught the sound files we had captured and found the old "Extra Multiplier" one. So we cut the clip in half and put the "Mode" part in from another recording. It was either that or have Extra Mode not have a voice declaration which would have been inconsistent. The other audio problem we had was that we only ever have 4 music tracks. One for the Front End, one for Ship Select, one for Guardian Mode, and one for Countdown Mode. So Extra mode didn't have its own music track. The solution was to simply use Guardians music track over it.
As well, all particle effects were accomplished using Dynamic Particle System Framework or
http://xnaparticles.com/ The beauty of DPSF was that it would render incredibly fast, have stock examples to pull from, and would also achieve additive translucency which Sunburn Engine could not do at the time (It does now). Every piece of additive rendering you see, such as the holographic shields infront of the ship bay and the boost gate holograph are actually single quad based particles positioned in code.
Orbitron: Revolution uses a few features of Sunburn Engines fantastic realtime lighting tech. First of all, there is a mid range desaturated blue ambient light that effects near everything in the scene to give everything a space ambience. Second is the sunlight which is a bright yellow direct light that casts realtime shadows. Only the Ring and the players ship actually cast shadows. The enemies however recieve the shadows, not cast them, you only really notice if you look for it.
Because 1/2 the ring was bathed in light and the other half was blanketed in shadow we needed a way to make the shadow side look more interesting. What we did is put a point light inside of the player's ship and turned it on and ramped it up when he enters the shadow side. For both the red and blue ships it was colour coded as well. Originally we wanted this light to be casting shadows but the performance hit was unbearable but looked incredibly cool.
Sunburn Engine will give you HDR, Fog, and Bloom effects right out of the box. We tried the HDR and it looked ok but removed some of the colour saturation of the game. Fog was pointless in space so we disabled it. With the bloom, it took a very long time to find a pleasant balance where the game had a glowing luminance but was also pretty visible. It really came down to personal preference from tester to tester so we settled on the number that we had. Personally I would have liked to have seen more bloom on the stations lights and less from the sun reflections on the ring itself.
After all of the modelling and textures were more or less complete it was time to go to work on the HUD. Now,
Orbitron: Revolution was the first game I ever worked on where I had to create a UI/Front end. We wanted something that fit the subject matter, was clean and easy to understand, minimal but tech, and did a few things differently.
Placing the main game logo offset to the left, with the ring rotating on the right was the very first concept that I came up with and it worked pretty well. Then, placing the Main Menu options in the upper left corner was something I had never seen done before. On the visual side I used translucency, rasterlines, static, and glowing outlines. Unselected items would be translucent and monochrome with selected ones being filled and in colour. While it worked well, it didn't remain completely consistant when it came time to add in the Milestones via an update later on.
The UI was done three times over. First was a rough in, trying to get a feel for it. The second time was full on production, completed front end. The third time was a complete redo of all of it due to needing a PC version that was pixel perfect at 1080p.
I made the stupid mistake of doing a 720p FE instead of a full HD 1080p one. So I needed to go back, trace out the older material and redo it all at 1080p which took about a month of effort.
The next stupid mistake was baking all of the typography into the Front End elements, meaning that the game can not be localized to another language.
Two trailers were created for Orbitron: Revolution. The first was a requirement for entering Dream Build Play and would be the full reveal of the game to the world. I spent a month in 3ds Max and Premiere cranking away and animated sequence that would bookend the trailer. I also had to do all of the slates that appeared to show off features of the game.
I simply used the actual in game models and set up the shading and lighting conditions as they were seen in the game. Then animated and rendered out each shot, as well as layers I could tweak for post production effects. In game footage was actually the PC version at 720p captured in Fraps. At the time both versions were absolutely identical so I didn't think that it was any kind of cheat at all.
Reveal Trailer.
http://youtu.be/8yO8HW0Dl8U?hd=1
The second trailer was the same setup as the first trailer. Prerendered sequences cut into captured gameplay. Once again, the trailer took about a month to create and I had learned a few nice effects to highlight text. It was also determined that we would not repeat much from the first trailer and instead highlight what was new.
Launch Trailer.
http://youtu.be/OGPce6P5BmU?hd=1