Gavin Draper's Blog

Father, Developer, Tech Geek, Extreme Sports Fanatic

@gavdraper | +gavdraper | github | StackOverflow Careers
 

Comfort Zone

I've been racking my brains for a while now to try and think of a new personal project
that I can start. I've decided to do something a bit different from my normal Web
Apps and attempt to create an XNA game for Windows and maybe Xbox 360.

I've looked at XNA a few times before and tried to start a couple of projects with
it but I've always ended up backing a way mainly due to being too far out of my comfort
zone and finding myself very unproductive with it. This time however I'm determined
to make some progress. I've decided to blog each step of the way mainly as a learning
exercise, hopefully it will also be useful to someone else out there on the interwebs.

I've been a fan of city sim games where you build a city and earn resources to expand
and improve your city. This probably isn't the best choice of game for a first proper
attempt at XNA but its definitely an area that really interests me so I'm going to
give it a go and just keep things as simple as possible.

My main hurdle will be the UI as I have the graphical skills of an ant. I've decided
I'm just going to mock up all my graphics in paint.net to a poor standard but do it
in a way that they can be easily swapped out once I have things working as I don't
want to get held up by this.

I'm going to start off with the game state management sample found here.
I've used this template before and it gives you a good starting point to jump straight
in to programming the game engine without worrying too much about menus and screen
management. This sample gives you a menu, options screen, game screen, pause functionality√ā¬†and a screen management framework.

I'm going to start building the core game objects. In my next post I'll go through
the objects I have been working on and show some source code for how I have written
them.

Disclaimer : This is a completely new area for me and I will no doubt be using
lots of bad practices and hacks whilst I learn. Feel free to comment where there are
better ways to do things.


 
comments powered by Disqus