April 23rd, 2008
It came to my attention recently, when having to try and revert a lot of code changes on my SpaceTrek project, that having revision control on my home PC would be a great asset… turns out the developers of Perforce allow you to install thier server and windows client on a single machine.
Posted in Uncategorized | No Comments »
April 23rd, 2008
Here’s a quick capture of my space game Im now naming ‘SpaceTrek’. Its a bit cliched I know… I’ll upload a better one at some point, but this kind of shows everything moving. I go through the motion of flying around a bit using the left analog stick, tracking a few planets and finally modifying my XML level file and re-compiling to show ease of updating.
Posted in Uncategorized | No Comments »
April 5th, 2008

Ive been messing about with XNA over the past few weeks in an attempt to fulfill the games developer purist in me. After having spent the large majority of the last 3 years developing tools to build games for the ‘next generation’ I had an overwhelming desire to get my hands dirty and start building actual games content again.
I decided to set myself realistic goals that I knew I could achieve in short chunks of time, primarily focused on constructing a solid framework on which to develop gameplay functionality. Even though I wanted to keep this process fluid and free of the bureaucracy that haunts high production development, the Technical Artist in me demanded I at least put in the neccessary grunt work ahead of time to make sure things ran smoothly.
So here I am after the first phase. I wanted to build a simple little space game, where you can fly around a series of galaxies and explore their respective solar systems. I knew I wanted moons to orbit planets and planets to orbit suns respectively, so most of my time has been spent working out a system for each class to inherit positional information from an assigned ‘parent’. I have a simple level loading class that parses an XML level file and builds all of my world data. On top of that I put in some simple movement functionality tied into my spaceship class that the player can use to move themselves around the world and this movement information is inherited by the camera (also derived from its own class). Im taking advantage of XNA’s built in resource pipeline and FBX support, having said that, I havent invested any time in my overall art theme so dont judge me for my artistic content… yet…
Here are some screenshots;


You may have noticed an ‘X’ in the middle of one of the planets on each screenshot. That is a function I have built in to my spaceship class that gets (and tracks) the nearest planet everytime the frame updates. Currently I have this mapped to the ‘Y’ button on a 360 controller. Holding this button down results in the player controlled spaceship moving to and tracking the nearest planet. I want to eventually use this for pathing for NPC’s, creating a list of planets and moving from one to another, or randomly selecting from one or more local planets and moving to them for ’scout’ like behavior.
So what comes next?
Well, I have some clean up to do within my classes, and I have a bug to fix with my tracking code, so Im going to lock this down first. I also want to establish a better method for creating my level data (XML file), as I currently use Maya to randomly generate positional information - this results in some suns being placed too close together resulting in collisions between orbiting planets. Im going to get these things resolved and then move on to ‘actual’ gameplay mechanics, such as getting the player controlled spaceship shooting and adding NPC behavior… and then do some better artwork…
incidentally, this is what my level file currently looks like (I am building to PC and have this file set to ‘content’, not ‘compile’ hence the lack of the XNAContent element);
<?xml version=”1.0″ encoding=”utf-8″ ?>
<universe name=”Universe”>
<galaxy name=”Galaxy01″>
<starsystem name=”StarSystem01″>
<sun name=”Solaris01″ positionX=”0.0″ positionY=”0.0″ positionZ=”0.0″>
<planet name=”Earth” orbitradius=”80″ orbitspeed=”0.01″>
<moon name=”Orion” orbitradius=”20″ orbitspeed=”0.05″>
</moon>
<moon name=”Icarus” orbitradius=”30″ orbitspeed=”0.08″>
</moon>
</planet>
</sun>
</starsystem>
</galaxy>
<galaxy name=”Galaxy02″>
<starsystem name=”StarSystem02″>
<sun name=”Eden01″ positionX=”80.0″ positionY=”-100.0″ positionZ=”0.0″>
<planet name=”Mars” orbitradius=”60″ orbitspeed=”0.01″>
<moon name=”Ganymede” orbitradius=”15″ orbitspeed=”0.02″>
</moon>
</planet>
<planet name=”Fred” orbitradius=”110″ orbitspeed=”0.01″>
</planet>
</sun>
<sun name=”Eden02″ positionX=”120.0″ positionY=”140.0″ positionZ=”0.0″>
</sun>
</starsystem>
</galaxy>
</universe>
Posted in Games Development | No Comments »