Networking Pac-Man

For the Networking module, a multiplayer networked game is required (obviously). I decided to make a variation of Pac-Man in Java. Each player starts as a Pac-Man and the aim is to reach 500 points before anyone else. Points are awarded for eating pills and eating opponents, by getting a power pill. If you do eat an opponent they will change into a ghost. Ghosts are able to gain points by touching normal Pac-mans (Pac-mans without a power pill). In doing so, the ghost will turn that Pac-Man into a ghost (sort of like Zombies). Ghosts can return to a Pac-Man state by eating a power pill!

Continue Reading →

Texture and Cars

The next step was to create a texture for the buildings. I haven’t had much experience in DirectX generating textures in code, so to begin with I have decided to create a 512 × 512 texture with some windows (a load of squares).

Now that I have some experience of creating textures in code, I should be able to create more realistic building textures and hopefully add more variety. I then marked the roads in the scene’s 2D array I created, marking them with the directions the car would go in (North, East, South or West). I then spammed the roads with a load of red or yellow cars (quads) on these roads and moved them around in the scene. At the moment when they go out of the scene, they simply loop back to the other side.

You can see the result at the moment in the above screenshot. Obviously I need to make the scene more realistic by adding lights, improving the building textures, adding variety, fog, a skybox and there more improvements/additions I can make. These hopefully will be done in upcoming weeks, but of course are dependant on time.

Procedural City

For one of my assignments at university I will be creating a procedural city. At the moment it is very basic in its early stages. It contains 20,000 buildings within the scene at the moment running at 53 fps (on my very average/slow home computer), where as at University it runs at 800 fps, so hopefully you can see how crap my graphics card is.

Continue Reading →

XNA 4.0

I revisited my old TIO game built in XNA 3.1 and thought it wise to upgrade it to the latest version of XNA – 4.0. I did know there were various changes made to 4.0, but didn’t realise how much I needed to change in order to make it work with my current project.

Continue Reading →

De Blob and TIO

During my first and second year at University I was required to design and make a game in XNA (TIO) and create De Blob using DirectX. Both of these tasks were completed, however so much more can be done to them to make them better.

I have fully integrated TrueAxis into my De Blob project and refactored most (if not all) of my old code.

Continue Reading →

I’ve decided to migrate my blog from WordPress’ server onto a web host (SiteGround). In addition to this, I now have the domain name of There were some other domain names I tried, but unfortunately most of them were registered to others, but weren’t being used which was pretty annoying. I will be changing the WordPress layout after this academic year – hopefully.

Gravity Runner

It’s weird to see that I haven’t posted for over a year! It’s late news (that I should’ve posted earlier), but during my latter days in the studio of We Are Colin I created Gravity Runner with my close friend Dave Leverton. Your typical runner – with the addition of being able to switch gravity across a number of death-defying levels.

It features 25 levels alongside 3 secret levels, in addition to a never-ending endless mode. It is available on the iPhone or iPod Touch only for 59p! If you would like to know more about this awesome game, check out the official website out here.

Cavemen VS Aliens

I know that this blog has been due for a long post; but as you would imagine I have been very busy with many other things, including my new job which I started in June at a newly found independent game development team.

We Are Colin specialises in XBLA titles and IPhone titles. Currently I have been working on a new Real Time Strategy game; I have not always been a fan of RTS’ until recently, and creating this game has really helped me to love the genre even more. The RTS I have been programming on is Cavemen VS Aliens. Yes, the name of the game and the two opposing teams may seem like an odd combination, but when you view our media gallery we have distributed for your viewing pleasure I hope you will see its potential.

In a nutshell, this game is aimed at everyone; which means anyone should be able to master the game’s ‘pick up and play’ gameplay and dive into the game’s action straight away. Don’t worry; this doesn’t mean the game is entirely easier than your standard game. It just means that its easier to pick up and play but has a good learning curve to follow through the game’s duration. Instead of me trying to sell the game to to you, why not just view the following trailer and see what you think.

Thankyou for watching and reading and I will be adding more updates on the game’s progress up to its release on October 30th which isn’t far away at all.

W7: Walking over terrain

I finally fixed the issue I was having with getting the camera walking over the terrain. I ‘think’ the error was that I wasn’t translating onto the x-z plane at the beginning of my GetHeight(float x, float x) function properly. I said ‘think’ because¬†I redid all of my functions that got the height of the terrain. Sometimes its best to start over again instead of continuously trying to re-edit something that doesn’t work. It’s a relief finally getting this fixed, as I have wasted a lot of time trying to get this to work.

In addition I managed to add a zombie into my engine by doing this untidily within one class. I am now trying to implement this the proper way to ensure that it is easier to add other assets to the engine. However I am currently having problems constructing my WorldObject class (that manages all objects within the world; i.e. their position, orientation) and my ResourceManager class (checks to see if a mesh or texture has already been loaded, to stop it from being loaded again when these resources are used on multiple objects for example).

As you can see I have added a texture to my terrain. All that was required at the time for this to work was one simple line.

D3DXCreateTextureFromFile(gd3dDevice, "grass.jpg", &mTexture);

Within my time of frustration trying to get the camera to walk over the terrain I cleaned up a lot of the code and removed unnecessary parts of my engine. This should make it easier for me to implement future additions.