Monday, November 28, 2005

XML Fun!

So,

Its been a while! What have i been upto you may ask, well apart from shifting my life around the country i have been wrapping up our lovely engine into a more presentable game.

As with most of the information in the game we have decided to keep all the menu info in an external XML file, this allows for ease of editing, flexibility and hopefully reusability in any future projects we undertake. An example of the menu XML for the tech demo:

<menus>
<menu>
<title>Main</title>
<orientation>horizontal</orientation>
<x>225</x>
<y>200</y>
<spacing>10</spacing>
<option>
<text>Start Beta</text>
<func>startBeta</func>
<param></param>
</option>
<option>
<text>Credits</text>
<func>gotoMenu</func>
<param>Credits</param>
</option>
</menu>
</menus>

This is parsed and converted to an object structure as the game is displaying the loading screen. The menus are then created on the fly in the right positions and orientations, displaying the right text! When a button is pressed it then calls the appropriate function within the MenuManager Class and passes the appropriate parameters. I have also been working on a new class called HUDManager, this retrieves all the current information about the race (for example, lap times, positions etc) and displays it on the screen... At the moment this is all done in text format but that will be replaced with some flashy graphics in a later release..

In other news we have been largly bug fixing since the last post, Jon is still working on the broken collision response while i have been tidying up code all over the game in order to get it ready to show you all! Thanks for the support - keep checking back (or subscribe to our Atom feed!) - were getting closer!

Tuesday, August 30, 2005

All That Jazz

The project has been moving forward quickly since we started working using the SVN system, having a central store of the games code that both of us can work from has been invaluable.

Since the last update I have been working on the file manager almost exclusively. Early on we decided that most of the games resources should be kept in external files for easy editing and loaded into the game engine on runtime. This includes things like; race, track and car data aswell as all the in game graphics (which are stored in external SWFs)... All of these files need to be loaded and parsed correctly so that the data is accessible within the game. This is now almost entirely finished.

I have also done a large clear up aswell as adding some small features like 'pause' and a countdown on the grid at the beginning of a race.

We are hoping to post a 'tech demo' of the game on here fairly soon, which is guaranteed to impress, so keep checking back!

Friday, August 12, 2005

Back of the Class

It seems like a long time since i last updated here... i have spent a lot of time on the engine today, mainly organising code and class structure after a lengthy discussion with Jon last night. We have decided on a system of 'Manager' classes to keep the code in order, the main one's being:

PlayerManager

keeps track of players career status and track records

RaceManager

holds information only for the current race and functions for starting / stopping / pausing

SoundManager

loading, starting, stopping and deletion of all the sounds within the game

FileManager

loading and saving of track, player and tileset data


Im hoping to post more technical details here over the coming weeks, aswell as hopefully some interesting code and in depth theory!

Wednesday, July 27, 2005

Artificial Intelligence Update

I've been hard at work on this the past few days. As my part of the engine now stands the AI car races around the track with ease, braking at the appropriate places - it also has the ability to recover after an accident.

Elsewhere, i have corrected a few bugs that were causing problems on certain shapes of corner and in the process simplified some of the calculations. I have also added a handbrake to the physics model, allowing you to perform handbrake turns!

I will try and post a demo (recorded or realtime) here in the next week.

Saturday, July 23, 2005

Artificial Intelligence


Over the past couple of nights i have been working on a basic AI, the aim for this is simply to get the car to drive around the track, when this is complete it will be advanced with braking etc. I also hope to add the ability to avoid other vehicles and recover from any accidents...

This screen shows the current engine with debugging lines displayed, the car works out the trajectory to the next 'waypoint' (which are poistioned at critical points around the track) and adjusts its steering accordingly.

Wednesday, July 20, 2005

Progress

I thought i had better let you know the progress so far, as this blog has been started a few weeks into the project.

Me and Jon started chucking ideas around a couple of weeks back and working on a design document with features we hope to implement (this will later be expanded into how!) We decided to tackle what appeared to be the most difficult sections first, so jonmack began work on a collision detection and response system (for both rigid bodies and the track) which i hope he will post about here soon and i began to develop the car handling, camera and a basic AI model.

As the project currently stands the collision detection and response are both semi complete, although not quite 'solid' enough yet, the camera is complete, a handling model is implemented and i have just started the AI this evening!

Phew.

I should update more specific details on the AI tomorrow...

Tuesday, July 19, 2005

Welcome!

Welcome to the racer blog, the basic idea is to document the development of a game from start to finish, with all the problems and success' that we encounter along the way! Hopefully these pages will be updated fairly regularly...

T.