I am enjoying learning little things about how the XNA engine works.
Here's a list of features that the 2D tutorial gives you in your step by step created game:
-A Static Background
-A rotatable cannon
-The GameObject class
(contains it's own variables, things like it's position, whether it's "alive" or not, what texture it uses, etc.)
-The ability to fire cannonballs from the cannon
-The ability to kill enemies with those cannonballs
And that's about it... it's a nice tutorial, and I highly recommend it to game designers who have little skill in the programming department, and want to expand on what little skill they have to make, say, a little platformer or something (although the spaceship game is much more simple than a platformer)
Now, as of my last blog post, I had just finished the 2D tutorial. That was what, two days ago? Three? Well, I think I've improved upon the game pretty heavily, if I do say so myself. Behold, a FEATURE LIST!
-Sound (when cannonballs are fired, and when cannonballs hit spaceships)
-The AnimatedGameObject class
(contains NEW variables, like "currentframe", "currentkeyframe", "keyframetimer", and "totalframes"!)
-A pause menu, with buttons controlled by the UP/DOWN keys on your keyboard, or the DPad UP/DOWN keys on your XBox 360!
-AnimatedGameObject Explosions when a spaceship dies! (with a different alive condition, based on it's currentframe!)
-New and improved AnimatedGameObject enemy spaceships that animate to the speed of their velocity.X!
I think I've done pretty well, and while I may pat myself on the back (ahhh, that's the spot, right there... yeaaaaaahhhh...) I still have many things I want to do, before I consider this "tutorial" game finished!
See, I have a checklist that I wrote down a few days ago.
- Add a pause button (done!)
- Add a full starting menu
- Add an in-game menu (resume, exit) (done!)
- Find out how to play sounds (done!)
- Find out how to animate objects (done! And using a single file, too!)
- Create explosions for spaceships (done!)
- Make ships fall to the ground
- Add in a lose condition
- Add a lose/play again/exit menu
- Add weapons
- Add enemies
- Add levels
- Add bosses
- Find out how to save to file
So yeah, I still have some work to do. I'm currently working on a super-secret ComplexAnimatedGameObject class, but shhhh, I'm saving it for when I make a platformer in the not-too-distant future.
So yeah, erm, put your mind to something, and, if you don't have full-time work or university studies yet, you can do it!