SpaceDroids The Game

My last blog post was me ranting about my final game for my Game Design module at University. I finally handed it in last Wednesday! A lot of bloodshed and tears went into that game, not from a coding point of view as I didn’t find the programming a massive challenge unlike my Application Development assignment which I am currently working on now. There was a lot of issues on the way, especially towards the end of the development. Mostly to do with transferring my game over to the Xbox. As I mentioned before our games have to be deployed on the Xbox, the final part of this module is a 8 minute presentation to my course module lecturers, where I talk about the game development and design stages I went through. Enough University talk, let’s get on with finally showing you the finished game.

 

The Assignment

The assignment was to make a XNA Game that is playable on the Xbox, it was to be made for a persona that I had written up in the early days of the module. The persona had to be an older male (30+) and wasn’t a gamer. I choose my mum’s partner for this. We had to make the game co-op where there is a role for the gamer (me) and the non gamer (my persona). We had to record any design notes and go through proper design stages like QA. The game will be handed in on a Xbox and a 8 minute presentation, like i mentioned earlier. PS –  The game is called SpaceDroids.

 

The Game

The game is a side scrollor shooter, well sorta, there are enemies on the game but they don’t shoot back, instead they use their epic powers of collisions to kill you. You are a space ship traveling through space (no shit Sherlock) and you have come across some sort of asteroid field. Lots of rocks and boulders heading your way, lucky for the player as the ship comes with dual cannons and a space bot (played by the gamer) which will help you through your journey.

The space bots mission is to keep the non gamer alive, the bot can pick up power ups that appear on the screen and also heal the ship if needed. The power ups you can choose from are:

  • Slow Enemies – This power up will slow down the game, all enemies will be slow down, this will last 15 seconds.
  • Extreme Bullets – Awesome bullets that kill multi able enemies, they continue through them like a laser.
  • Full Health – A pretty lazy power up, it brings your health back up to 100%.

Part of the assignment is to record a screen capture of the game being played, this is handy as I wanted to do a screen capture for my blog.

 

Game Development

Considering I am a beginner programmer with little programming knowledge when I started my university course, the challenge in this game wasn’t great. Yes I did hit some problems but nothing that a little help couldn’t fix. Main problems where:

  • Lists – Instead of using arrays for my enemies and bullets I decided to use lists, I had a problem with removing bullets from my list, this wasn’t a major issue for the PC (Game was pretty much developed on the PC) but when deployed onto the Xbox it would cause major performance issues, with a little bit of testing I found out that if you play the game for about 90 seconds and you was shooting quite a lot, each bullet list (dual guns) would have a total count of about 600 EACH. I belive this was causing the Xbox to lag, I did the usual procedure by making sure the bullets didn’t move/draw when they left the screen but there was still some issues. After I got around this problem there was no performance issues. I got around the issue by removing the bullets from the list when they were dead, yes it sounds pretty simple but the usual foreach or for loops just wouldn’t work. After a little research I eventually got a reverse for loop to work.
  • Another problem I had was again with the Xbox, the Title Safe Zone thingy, this messed with a lot of people, when you played your game on a different Xbox/Tv it would be messed up. Sometimes only showing a bit of the screen or non of the screen. We wasn’t told about the possibility of this at the start of the development but I did do some research before making my game. I had the impression if I made my resolution a 1280 x 720 I will be fine in most cases, however this wasn’t the case. In the end I tried my best to make it compatible but ended up handing in the game with some of the screen (just around the edges) off-screen.

Apart from those issues, the development of my game was pretty smooth and of course enjoyable. Over summer I am planning to work a lot more on this and maybe get it onto the Indie market store located on Xbox Live. I got to re-do the art work as some of it was taken from open sources on the internet and other resources will have to be re-done (like my epic power up commands).  I will also have to have a look at the list of doom and make sure my game will be fine through the testing they will do, I can see a lot of work ahead of me to be honest.

 

The Future

Well now University is finished, I will be working on my final assignments and revising for some exams that take place in May. I will probably take a month off to chill, catch up on some gaming and of course take a holiday. Over the summer I got plans for my XNA game, but I will also want to make sure that my head stays in the game (pfft it never really was to be honest) and start going over the stuff for the second year. I will have a look at the Unreal Engine as I been told many times I really want a head start with that.

Well thanks for reading this massive post, if you made it that far. To be honest, the only people I am expecting to get this far is my Mum and Girlfriend, but if you’re not either one of them then kudos to you! Please contact me if you got any suggestions or re-marks, I am totally open to anything, good or bad so don’t be a coward! Contact details are located in the ‘Contact Me’ tab. Thanks


4 Comments on “SpaceDroids The Game”

  1. unknown says:

    I got to the end of epic post! :)
    sorry to disappoint i am one of the aforementioned. x

  2. Howie says:

    Pretty awesome dude (i made it to the end haha) but ehm just out of curiosity why did you have to use a loop to remove elements from your list? You shouldn’t need it with a list, also, did you consider using a dictionary rather than a generic list or was that not fit for purpose? Jdictionaries have faster access times than lists in many cases, especially with larger data sets because they are hashed.

    • Howie says:

      This is assuming you are writing in c# btw and in .net 3.5 or 4

    • Chris says:

      I haven’t worked with dictionaries so I really cannot comment on how they would of helped. A list worked fine as the Count can be modified blah blah blah and a Dynamic Array is a pain in the ass.

      Yes its c# but programming in XNA is alot different from your usual applications development in Visual Studio. I am not that experienced can’t really go into detail, but concerning the list in my game, it has a program removing a bullet real time, as the Update Method in XNA is called 60 times a second, but a simple reverse for loop fixed it.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.