Doug Binks - 19 Mar 2001 - edited 30 Oct 2013
[This is an archive post about the first version of Avoyd which we now call Avoyd 1999. The full game is now free to download.]
We've released both a patch and a full install for the new version, which includes some new features and a few fixes. I'd like to thank Ranger55 for pointing out several bugs to us in our support forum, along with everyone else who posted in the forums!
Strangely enough, one of the bugs turned out to be similar to something which afflicted the Doom server code (though I could be wrong on this as it's been a long time since I read about it). I'd made a note in my design document to avoid this problem, and had thought that all was fine. Unfortunatly, a recent change in the code broke things... typical. This has now been sorted out, though with it taking over 9 hours to repeat the problem it was a pain to sort out. For those of you interested, our time code is based on a high resolution timer class with sub millisecond accuracy which uses a double for storing time values. This gives about one hundred and fifty thousand years of timekeeping with the ability to differentiate between times which are only one millisecond apart. Plenty enough I thought. But (and there's allways a butt involved in coding), cleverly I had at some point created a simple loop which used the humble float data type, which could not differentiate between 32,768s and 32,768.001s, so that 32,768 + 0.001 = 32,768... and the loop became stuck. As a veteran of complex physics simulations, I had been layed low by addition.