Thursday, September 14, 2006

Hashing Hell

Well what a fun couple of days that was !, sometimes you make decisions and in the back of your mind you know that the decision you're about to make will bite you in the butt at some point. But regardless you make that decision anyway, so one of my many 'ahhh, it'll be alright for now' decisions came back to bite me as my rather naive algorithm for creating hashes finally broke and I started getting collisions.

This resulted in me having to change the size of my hash from 16 bit to 32 bit which invalidated my data for all my projects and I've just now finished migrating all the data over to the new format.

In a way it helped me clear up alot of little issues I had in my editor as well as making my hashing much more reliable (by the way this is what I used, excellent fast hash function http://www.azillionmonkeys.com/qed/hash.html), but put me back a couple of days, actually come to think of it I was setting the behaviour hooks and classes for all my known Apartments objects, so wasn't even on the pathfinding, frick!!! I'm going backwards...

Anyway, even though alot of work has been done nothing on what I actually wanted to do , so hopefully now I'll get back onto the hooks and classes setup and after that, which should be quite quick, onto pathing finding again.

Wii price point announced today, looks like I'll be preordering one of these from the States and using the cliched 'it's for research and I require it for my job' excuse to the other half.....

M

Thursday, September 07, 2006

Animation System Sorted

Hurrah, the animation system works again now and all the root movement is derived from the animation, also supports multiple animations of varying length to have input into the position which is good for fighting games etc.

Its scary sometimes how something that seems like a simple change hits so many places, I had to change my XSI and MAX exporters, animation interpolation,blending and skeleton system all to support this one change, but it feels right and another sign that it's going the right way is the code is getting smaller and simpler yet is more functional.

So, now it's the pathfinding system for the ATs, something that I've been meaning to do for a long,long time. This will be broken down into 2 parts , standard a-star nodes that I define manually in the editor (I could have a generic flood fill roaming agent approach but it's a bit overkill for this project) , and then a localised search and avoidance stage.

The nodes will also have a callback system linked to a game object, for instance 1 node will represent the door on flat 1, and named appropiately so, so an AT can find the door to flat 1, find the best route and make their way there. Once at the node the node will send the AT a message with the door object and the AT can then continue however they see fit, open door, knock, walk through if open etc

I'm also thinking more and more about having a nice graphical animation state system, on previous games such as Shaun Murray Wakeboarding I would have a simple data driven approach or even hardcode quite a few of the elements but this will need something a bit more complex, but I don't want to do what I tend to do sometimes and go off and create a massive bit of tech to handle a small problem.

Anyway off to watch the new series of extras, tara....

Monday, September 04, 2006

And So It Begins..

Ok, now the website is done, the blogs all setup, announced the fact to people that I've put Stig on the shelve and gone back to Apartments which has been met with awww why ? and hurray at the same time.

I would have loved to continue Stig and one day I may again but at the moment I'm constantly thinking about Apartments, the first step is to fix my broken anim system. In the past I've been kinda lazy and always did the root movement of a character through code as opposed to allowing the animation dictate it, but that makes making a game such as Shaun Murray Wakeboarding a bit of a hack in places and practically impossible for a fighting game. So if I fix it then it will work properly for anything else I use the engine for, it's about time it got fixed.

Also Steve Irwin died today, stung by a Stingray, I thought he was great guy and my kids and I loved watching him so here's to you , mate.

Sunday, September 03, 2006

Welcome

Well, at long last after being hooked to other people blogs I've finally decided to create one myself. Major reason for this was to give people an insight into the development at ItsAllAGame games development and to now and then get things off my chest (such as the sheer amount of politics in professional (??!!) mainstream games development, grrrr !!).

Anyway, the reason I'm here right now is that after the release of my last casual puzzle game Panic 2


I decided that I wanted to take a break from those types of games for a bit, only 1, Assimilation,


did anywhere near decent sales, and that one I ended up selling to SmallRockets so it really didn't benefit me greatly.

I'm now on Apartments,


or back onto it should I say as I've had it as a back burner game for the last 4-5 years and did 2DG,Panic,Panic2 and a number of mainstream games while that pottered around on the background. It's time has now come, it's one of those games that everytime I discuss it with someone I get all enthusiastic and silly and then sometimes I'll just get a mental block thinking about the the scale of it.

I took some time out to work on Vertigo or Stig,


which essentially allowed me to play with some cool animation and IK mechanics as well as learning how to model and animate my own characters but also made me realise how valuable the stuff I was doing was for Apartments so have finally come to the decision to shelve
Stig and concentrate soley on Apartments (in my spare time). Also a little bit of pursuasion from portals who are very interested in the game even at this stage did wonders for focusing me.

Anyway, hope you enjoy, to some extent, what I write on this blog, if not my name is Alex Ward from Criterion Software and you are free to track me down and kill me!... ;-)