• 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
https://www.neowin.net/forum/topic/653636-cxna-space-shooter-tutorial/
Share on other sites

13 answers to this question

Recommended Posts

  • 0
  On 11/12/2015 at 14:00, Eric said:

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

Expand  

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 :)

  • 0
  On 11/12/2015 at 14:02, 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 :)

Expand  

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.

  • 0
  On 11/12/2015 at 13:44, BinaryData said:

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

Expand  

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.

  • 0
  On 11/12/2015 at 14:58, 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.

Expand  

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

  • 0
  On 11/12/2015 at 15:02, BinaryData said:

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

Expand  

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.

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

    • No registered users viewing this page.
  • Posts

    • LibreOffice narrows gap with Microsoft Office in 25.8 Beta 1 by David Uzondu The Document Foundation has released LibreOffice 25.8 Beta 1 for public testing on Linux, macOS, and Windows. This is the second pre-release for the 25.8 cycle and the foundation says that the final, stable version of LibreOffice 25.8 is expected to land at the end of August 2025. Starting off with Writer, LibreOffice's Word, the developers have finally addressed some long-standing annoyances, including a new command to easily insert a paragraph break right before a table. This beta also introduces a useful privacy feature in its Auto-Redact tool, letting you strip all images from a document with a single option. To use it, go to Tools and select the Auto-Redact option: The application has improved its ability to handle different languages for punctuation, preventing mix-ups in multilingual documents. Other notable improvements have also been made. A new hyphenation rule lets you choose to prevent a word from splitting at the end of a page, moving the whole line to the next page instead. Microsoft Word has had this feature for years now. The Navigator now displays a handy tooltip with word and character counts for headings and their sub-outlines. Scrolling behavior when selecting text has been improved, making it less erratic. A new command with a keyboard shortcut was added for converting fields into plain text. Calc gets a lot of new functions that bring it closer to its competitors like Excel, including TEXTSPLIT, VSTACK, and WRAPROWS. Impress now properly supports embedded fonts in PPTX files, which should reduce headaches when sharing presentations with PowerPoint users. Alongside these additions, the project is also cleaning house; support for Windows 7, 8, and 8.1 has been completely dropped. There are also smaller UI tweaks across the suite, like allowing a single click to enter rotation mode for objects in Writer and Calc. macOS users get better integration, with proper support for native full screen mode and new window management features from the Sequoia update. In terms of performance, the team has optimized everything from loading huge DOC files and XLSX spreadsheets with tons of conditional formatting to simply switching between sheets in Calc. These improvements should be noticeable, especially when working with complex documents. A new application-wide "Viewer mode" has also been implemented, which opens all files in a read-only state for quick, safe viewing. On a related note, The Document Foundation has joined efforts by the likes of KDE to encourage Windows 10 users to switch to Linux. Also, you might have heard that Denmark, in a bid to lessen its reliance on Microsoft, has decided to make a full switch to LibreOffice, with plans to begin phasing out Office 365 in certain ministries as early as next month. If you're interested in this release, you can read the full release notes and download the binaries for your platform: Windows, macOS (Intel | Apple Silicon), or Linux (DEB | RPM). You can also get the latest stable version from our software stories page.
    • Until it can be used 100% offline (ie: PST file support or equiv) not even considering it. I'll jump to Thunderbird first which has gotten a LOT better since the last time I looked at it.
  • Recent Achievements

    • Explorer
      Case_f went up a rank
      Explorer
    • Conversation Starter
      Jamie Smith earned a badge
      Conversation Starter
    • First Post
      NeoToad777 earned a badge
      First Post
    • Week One Done
      JoeV earned a badge
      Week One Done
    • One Month Later
      VAT Services in UAE earned a badge
      One Month Later
  • Popular Contributors

    1. 1
      +primortal
      545
    2. 2
      ATLien_0
      227
    3. 3
      +FloatingFatMan
      159
    4. 4
      Michael Scrip
      113
    5. 5
      +Edouard
      105
  • Tell a friend

    Love Neowin? Tell a friend!