Previous posts in this series:
Over the past posts, we’ve created a game. A simple game, for sure, but the objective was learning XNA, not creating the greatest game ever.
Creating a game is more than just using some technology, programming language or device. The more difficult part is actually making the game fun. This is an art more than a craft, and involves game design, game play, artificial intelligence and more. This post series concentrated on the mechanics of making a game with XNA, but this is (relatively) the easy part.
We’ve covered most of the XNA ground in 2D. We are now capable of creating a complete game. All that’s left to do is start programming a unique game! This is no mean feat. It takes time, patience and creativity, as well as programming skills that hopefully were developed throughout this series.
The final game source rounds off thing started in previous parts. Player lives are tracked, boss alien appears before moving to the next level and aliens also fire missiles. Still more additions are possible, such as “power ups”, various items falling from (e.g.) dead aliens that give out various abilities and disabilities, such as: faster fire power, a shield for (say) 10 seconds, faster ship speed, slower ship speed, a bonus ship, etc. I’ll leave that as an exercise for the reader.
Writing games is one of the most challenging programming tasks as it involves so many disciplines, such as graphics, sound, animation, artificial intelligence, storytelling and more. This is one reason it’s so challenging – and fun!
The series covered 2D games only. 3D games are quite different, requiring extended skills. The skills learned in this series are not wasted in 3D. It just takes some extra ones. I will consider writing a similar series for an XNA 3D game if demand is high enough.
Until then, happy game programming (oh, and a happy new year!)