• 0

[C#]XNA Space Shooter Tutorial


Question

Sorry for the delay, I got sick over the weekend and didnt do much work on stuff. I know some of you were waiting for this so I apologize for the delay, but I think you will all find it worth the wait. Here is the full page of the Space Shooter Complete Game including the text tutorial and full game for those who just want to play it.

spaceshooter.png

Wow! This game took a while (74 pages for the tutorial) and was more complex than the paddles game, but I hope you learned something useful. Another good reason for making a complex game is that you can remove classes and use them in other games with little trouble. As always, you are welcome to enhance this game and let us know so we can try it out!

Here are the download links.

Full Game - http://www.phstudios.com/tutorials/xna/Spa...ShooterGame.zip

Full Tutorial (zip archive includes the PDF tutorial, edited source, and the sprites used in the game) - http://www.phstudios.com/tutorials/xna/Spa...ameTutorial.zip

Original Visual C#2005 Express Source - http://www.phstudios.com/tutorials/xna/Spa...ooterSource.zip

Game Elements in this game

  • Spawn Enemy every few seconds
  • Enhanced ScreenManager
  • Enhanced Screens with transitions
  • Dedicated Help Screen
  • Menu Bubble Effect
  • Abstract GameplayObject class which all objects in the game are derived from
  • Abstract Ship class and Bullet class which are both derived from GameplayObject
  • Pause Ability
  • Many more

Tutorial Challenge

  • Randomize Enemy speeds and Bullet speeds to make it harder
  • No friendly fire ? As in do not fire if there is a fellow Enemy in front of me (AI)
  • Avoid running into fellow Enemies (AI)
  • Levels
  • Complicated enemy AI ? change speed or the way they approach you.
  • Background Screen

That?s just a few ideas, if you have any other ideas, let me know! Also, if you wish for me to build the game and do a tutorial on one or more of the above, let me know as well. Hope you guys enjoy the tutorial or game (it is supposed to be simple just so you:pnow :p).

Link to comment
Share on other sites

13 answers to this question

Recommended Posts

  • 0
Thank you very much!!! I'll see how I can improve on your game and make suggestions, if I ever get some quality programming time for myself. :p

I hope you like it

Link to comment
Share on other sites

  • 0
Just now, Eric said:

Try MonoGame. It's a mirror of XNA and multiplatform.

I'm looking into high end graphics, not sure XNA could handle what I was looking at. Which is why I asked. Thanks for the suggestion, I'll still check it out :)

Link to comment
Share on other sites

  • 0
50 minutes ago, BinaryData said:

I'm looking into high end graphics, not sure XNA could handle what I was looking at. Which is why I asked. Thanks for the suggestion, I'll still check it out :)

It can. XNA supported the max graphics capabilities when it was current (DX9). MonoGame supports DX10/11/12, too. :)

 

The backend of XNA was written in C++ just like a normal game engine. It's essentially the same thing as Unity but without the visual scene designer and huge price tag. XNA/Unity is basically just a replacement for other languages like Lua or Python to script object interactions.

Link to comment
Share on other sites

  • 0
1 hour ago, BinaryData said:

I can't seem to figure out how to use Unreal Engine, haha. Awesome though, thanks!

Lol, I tried at some point and gave up. Perhaps it's gotten easier since then. 

Anyway you got lots of choices of game engines in C#: apart from the ubiquitous Unity there's the Delta Engine, Xenko (by Alexandre Mutel, creator of SharpDX - you can bet that one is highly optimised for performance and high-end graphics, but it's fairly early in development), Monogame as mentioned previously, for 2D games and prototyping there's the little-known but awesome SFML, etc.

Link to comment
Share on other sites

  • 0
1 minute ago, Andre S. said:

Lol, I tried at some point and gave up. Perhaps it's gotten easier since then. 

Anyway you got lots of choices of game engines in C#: apart from the ubiquitous Unity there's the Delta Engine, Xenko (by Alexandre Mutel, creator of SharpDX - you can bet that one is highly optimised for performance and high-end graphics, but it's fairly early in development), Monogame as mentioned previously, for 2D games and prototyping there's the little-known but awesome SFML, etc.

I'm wanting to convert Helbreath into a 3D Game, but add way more to it.

Link to comment
Share on other sites

  • 0
28 minutes ago, BinaryData said:

I'm wanting to convert Helbreath into a 3D Game, but add way more to it.

All I'd say is try using Unity unless you got a good reason not to. There are many downloadable resources for your game, great documentation and a very active community. Can't help you a lot more than that as all I used in the past was XNA and the Irrlicht Engine but if I was going back to game development I'd definitely be learning Unity.

Link to comment
Share on other sites

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.