Following a successful peace treaty negotation with the Dax, Charles "Charlie" Chatsworth gets his next assignment from The Great British Galactic Diplomacy Corp.Expansion of the second Great British Empire is in full swing. Across the Milky Way, terraforming "Pods" have been deployed on any planet capable of supporting the Empire's growth. Diplomacy has never been so successful as more and more worlds join the club.
Despite the Corps obvious good intentions towards the galaxy, their efforts have not been well accepted by many races. Skirmishes and disagreements have escalated as alien races completely fail to understand that the Empires expansion is for the good of everyone!
None have resisted the empires friendly advances more so than the Noxin. An invertibrate race who hate Tea, have never even tried to spend a hot summers afternoon enjoying a BBQ and (fundamentally), find cucumber sandwiches an afront to their senses (even when served with strawberries and cream!).
Only Charlie can save the day. Once again, using his legendary diplomatic powers and trusty persuasive blasters, Charlie must move from planet to planet defending the Corps' precious terraforming Pods from the misguided Noxin advances.
The pre-cursor to the Rail Gun Charlie game was a project I'd been working on for some time. Eventually named "Kosmos", I had been working on procedurally generated star systems and planetoids. It was going to be my 2008 Dream Build Play entry.
Rail Gun Charlie Pre-cursor (March 2008)
During 2008, I ambandoned Kosmos and coded up Tail Gun Charlie (my Dream Build Play 2008 entry). After this, I thought Kosmos would be a 2009 entry. A "God game" was my original ambition. As with many of my projects - Once I started to get my head around the size and complexity of it, It was clear that I would not have anything ready soon. This coupled with Dream Build Play 2009 looming, I needed a project that I could get finished in time for the August 2009 deadline.
As a child (teenager) of the 1980's, I spent a large amount of time playing both arcade coin op, primitive home computer and console games. I have fond memories of playing the Arcade classic Defender (amongst a plethora of other games including Galaxians - A very simple game and the inspiration for Tail Gun Charlie).
I decided to take the core gameplay of Defender and create a 3-D interpretation. RAIL GUN CHARLIE and (importantly), my project for Dream Build Play 2009 had started!
I was keen to get the physics (Math) sorted out for moving around a 3D globe. Defender was a fast game and despite the inference of a planetary surface, your couldn't crash. I wanted a similar game mechanic. You could zip around the planet without having to worry about terrain. I tried many different mechanisms and in the end went for technique where by the playing surface (players position on it) is effectively a 2D position on a map wrapped around 3D globe.
Rail Gun Charlie - Progress Video #1 - January 2009
The above video (posted January 2009) shows procedurally generated skymap, atmosphere (clouds), space and planetside game play. Planet rotates around sun with lens flare etc. Play perspective is from a seat on the rail gun space craft. Note the "wobble" on the model. Something I would put right many months later. This relates to model scale and floating points - basically, I needed to either work in a bigger scale or move towards using "longs" rather than "floats" for the Math. Given the XNA framework generally uses "float", I eventually scaled everything up.
A key element of the "Defender" gameplay are the humanoids you have to protect from alien abduction. For my interpretation, I wanted Pods that could be bounced around the planet. In the following Video (posted in January 2009), you can see the first implementation of these. I called them "Escape Pods" to begin with.
Rail Gun Charlie - Progress Video #2 - January 2009
As time went by, the name changed to "Terra-Forming Pods" (you'll see in later Videos). Aside from some visual tweaks, the video demonstrates some curved surface physics (an element of the gameplay on a planet surface). . One of the things I love about making 3D games is the modelling. Whilst I'm not a expert, I get a kick out of creating the models and textures. The Pods were a simple geometric shape with white panel texture and bump map (I use The GIMP for my texture work - It's an open source bitmap graphic editor. Top rate and any "photoshop" tutorial translates to The GIMP quite easily.
Late January and February 2009 was a very producive time for me. I did not want the planet to be completely flat. Even though I knew it needed to be open for the fast gameplay, I thought having some objects in the way would add a little more complexity for the player.
Rail Gun Charlie - Progress Video #3 - February 2009
The video shows multi instance GPU based rendering (rocks and plasma bolts). Multi-mesh normal map models (My first real bash at hacking around with the XNA content pipeline). I was very pleased with the look of the giant beetles! Now to get the flying around and walking on the surface!...
Probably one of my biggest Triumphs on the game was getting the Beetles to walk. These beasties were (to date) some of the most complex game entity classes I've personally developed. As well as rendering the Normal (bump) mapped models, I animated the legs and started to build in some intelligent collision detection. I always take a strict object oriented approach to my software. As well as establishing the beetles, behind the scenes, extensible game components would allow me to introduce many more different aliens with their own models, behaviour and "intelligence".
Rail Gun Charlie - Progress Video #4 - March 2009
One entertaining aspect of the game was to name the planets you were on and change their appearance. The next video shows off some of this work. Flicking from planet to planet, the appearance, surface and rock formations change. The names are also randomly generated using randomly selected prefixes, suffixes and word components (quasi phonetics). Works quite well although throughout the games development, tweaks were continually applied to the logic to make sure the names were just about readable!
Rail Gun Charlie - Progress Video #5 - April 2009
In the Classic Defender, the 2D radar became an essential aid to the player. The video above shows the first attempt at the Radar Hud. Using a 2D position map wrapped around the equatorial region of the planet made the 2D radar easy, but more importantly, meant that alien movement and behaviour could utilise 2D logic with 3D logic only needed when in close proximity to the player.
I need to to start thinking about some bangs and explosions. I remembered watching my kids playing Super Smash Bros.Brawl on the Wii. When the player died there was a reall effective fast moving vertical column type explosion. I wanted to do something similar in my game...
Rail Gun Charlie - Progress Video #6 - April 2009
I also introduced gun turrets for the aliens or the "Noxin" as I called them in the game. These game classes could be attached to any alien (The Beetle was the first).
Work on improving the explosions continued in April. I also introduced the next class of alien, a "Bomber". These graceful entities acting like giant Manta rays would fly over the surface with indisgiminate shots. From a game play perspective, these nasties are more about delaying your progress to completion of a level.
Rail Gun Charlie - Progress Video #7 - April 2009
Given the Bombers worked well (my extensible game entity classes), I was keen to get some more aliens working. Next up where the "Swarmers". These would be large in number, and easy to destroy. However, the would "Swarm" the player to help distract them from protecting their Terrafroming Pods...
Rail Gun Charlie - Progress Video #8 - April 2009
Amazingly, this new alien "The Swarmer" practically worked right off the bat. So, I have Beetles, Bombers and Swarmers. This video shows the swarmers swarming. Next two (classic) aliens are "Landers" and "Mutants" - Anyone growing up during the 80's will recognise the names!!! Rail Gun Charlie is an interpretation of aspects of that classic arcade game.
One of the great aspects of XNA, HLSL and DirectX development is coming up with ingenius special effects that don't cost too much processing power. So, if you have been following this dev progress video series, you may have wondered what those strange cup shaped items are on the underside of the aliens (Bombers and Beetles at least). Wonder no longer... I'm pretty pleased with this. Demonstrates the alien thrusters (just on the Bombers for the moment, but will go on to the Beetles for sure). Uses a very simple noisey (shape, scale and z-axis rotation) cone model with translucent texture for yellow green thruster. The particle effect is meant to simulate plasma-chemical like blobs from the thrusters dropping to ground (gravity). Inspriation comes from the rocket ships in the 50's film series "Buck Rogers" (I think they used sparklers stuffed in the rocket exhausts). I'm using a multi-instancing technique to render these blobs (to help protect performance).
Rail Gun Charlie - Progress Video #9 - April 2009
I wanted to get the feeling that the Noxin were a serious invasion force bent on taking the players Pods and destroying the planet. That meant a needed something BIG in the game...
Rail Gun Charlie - Progress Video #10 - May 2009
Well, here you go (above)... The "Noxin" mothership in early render glory (Great curved surface perspective on this ... Looks Huuuuge!). Inspiration (as you might guess) from the film Independance Day. So, ultimately, this ship will be depositing the Pod snatching aliens across the planetoid as a game level progresses. I'm pretty pleased with the effect and I guess I will have to come up with something dramatic if you manage to down one. From a core alien type perspective, just two more to go (as a minimum) "Landers" and "Mutants".
The Dream Build Play deadline is not far off now (in game writing terms). Two months away at this point and I needed to start pulling the game play together. That means the player being able to destroy things!
Rail Gun Charlie - Progress Video #11 - May 2009
This video demostrates some explosions and smoke particle effects. You can also catch a sneak peak of the Mothership in some new textured glory. You'll have to excuse the depth buffering for the translucent effects. The draw order for some of the effects (smoke, planet mist, etc) does need adjusting. Camera needs some work as well. Speed and fluidity are key game play mechanics for this game.
Tweaks and changes to the look and effects continue.
Rail Gun Charlie - Progress Video #12 - May 2009
April and May 2009 have been extremely productive. The (above) video demonstrates atmosphere adjusted explosion colours, Alien shield hit flares, new warp gates and the "Landers" (Pod Snatchers). A little more work to do. When the Landers get back to the mothership, they need to mutate in to mutants. Game play elements are really coming together now. Dream Build Play 2009, here I come!
Right at the end of May 2009, I manage to get the last significant feature of the game play establoshed. In the original Defender game, if you lost all your humanoids, the planet exploded. I wanted something similar in Rail Gun Charlie and so used the Noxin Mothership to destroy the planet!
Rail Gun Charlie - Progress Video #13 - May 2009
After May 2009, with only 2 months left before deadline, I focus hard on completing the level management and game play. The remaining videos below show how all the elements were bought together. Thankfully, I did get the game submitted (although it was a littel rough in areas). Since submission on 6th August 2009, further refinements have been made. Look out for it on Xbox Live Indie Games!
Rail Gun Charlie - Progress Video #14 - July 2009
FINAL SUBMISSION VIDEO ... PHEW!
Rail Gun Charlie - Dream Build Play 2009 Submission Video
Some free Xbox Live Indie Game codes for the full game for those quick enough to copy, link and download. Twitter @Duckocide or contact me here if you got the game!
1/6/2010 - M8DD2-PQ33H-4MHPQ-B8XHY-8JMQM
3/5/2010 - VRQHC-QGP8Y-PWXJJ-HTXCY-BFPK3 and KX9Q7-8QT9F-V6QPY-DCTQ2-J88X6
4/4/2010 - W8QV4-QTQP7-JJTYW-4BHQ8-4Y2K8
28/3/2010 - PVPPV-W326B-M8F8K-4WBJD-YFPMD
28/3/2010 - JMT92-42HK4-Q2M8Q-MYMHY-FKH3Y