The remit I got in mid August from Paul on this was "A simple flying game into which we could weave the important elements of the XNA game infrastructure". So my initial thoughts were some kind of Jet Pack type game where you can fly about shooting stuff. So I cranked up Express and created a new project. Now, I thought to my self, where do I start, and the GSM came to mind, so I started to create a GSM for the ReMix project, after a few minutes of me messing about and grabbing code from my existing GSM I thought, "What on earth are you doing, you have done all this before, use the GSM off the blog!!" and that is exactly what I have done.
This was the start of a trend. At first I wanted to write the whole thing from the bottom up just for ReMix to show how quick you can get going with XNA, but I think this way also shows what can be done with the community components that are out there. I know it's mostly my stuff I am using here, elements of my blog, but my point is, that we have such a rich community you can get game components from all over the place. My post processing code for example is a modification of Kyle Hayward's (GraphicsRunner) post processing framework. I also found a few bugs in some of my elements, my terrain class for example was creating the normals incorrectly, so I revisited Riemers site to see where I went wrong with it and found he has a new method of calculating them and so I have used this to fix my issue in the class.
So, this was the first update I sent Paul, about 2 days later, remember I only get a few hours a day to work on my XNA stuff, my lunch break (if I get one) and in the evenings. So using my GSM, Kyle's modified post processing framework and my terrain class I had three screens, Initial screen, Main menu and a game screen.
Next came the clouds, Paul actually mentioned in his remit the clouds, I have not just put them in to show them off, though I probably would have put them in any way :P So, this was about a day later (about an hours work) this next clip shows the dynamic sky sphere and clouds in the project.
You will see in the clip the clouds are moving, I did this quite simply by just rotating the whole cloud manager so each cloud moves relative to it.
In the same day, I got my physics engine in there. I stripped out a load of it as it's not finished and just left what was needed, it's still at a simple stage, but what the hell I have my own physics engine in XNA!! I also put in basic terrain collision, not yet taking the collision normal from the terrain just using Vector3.Up. No idea why I kept showing him the menu system...
So, now came the particle system, about four days later, as you can see I still don't have a model for my "Jet Pack" so kept using the cube. I think at this point I was also getting the normal from the terrain for the collision normal. I have put three trails on the player, two engine trails, a smoke and a fire to give the impression of, well and jet engine and a third to give the sense of motion, with out the third it just felt a little odd to me.
Lacking a "Jet Pack" model a friend of mine (Chr0n1x) suggested using a model from the space war starter kit, so, got that in here, got the bullet collision written and put in a few bad guys (the blocks :P). In this clip, you will see how poor a shot I am, I have not improved.. The clip also shows the physics system working as the blocks are colliding and bouncing off each other, also the explosion code as the bullets collide with game objects. Oh, this is a day later...
And this is where I was about a week ago (23rd of August to be exact), not bad eh. Bit of a HUD added, used better models (again space war) for the baddies, lives, score, energy and health...and a game has been written!! Only difference really between this clip and the one in my last post is a few bugs got ironed out and I added specular lighting to the ships. If my laptop had a decent sound card, I would record the in game sounds too, as ever Audio gives it that extra touch.
I do have a few issues, well not with the PC version, as I have not written a great deal for the 360 I guess I am quite a sloppy 360 developer. Just got to iron those out, create the demo projects that show the various elements that make up the game and all should be good on the day. Fingers crossed eh :P
My next post will be on the particle system used in this demo, it's about the only thing that it not on this blog, well almost, the principles are the same as in my particle tutorials, but this will include a particle manager.
Before I end this post, I would like to thank Paul for asking me to do this, it is a great honor in deed for me to be asked, and it's been fun too