The coding of the final project is going well. I’m adapting our first 3D project – a crate with collision detection that you can jump on – to a crate maze with the addition of crouching, illusionary crates, and external level files. There is currently an anomaly with collision detection where, because of the library I’m using, the player is shaped like a capsule, which is a line segment with a radius coming out of it in all directions. This means that it’s possible to partly fall off an edge and not be able to get back on except by jumping. The instructor has told me that I can combine a box and an infinite column to get the cylinder I want – something he has not yet implemented. I may yet do that, but I should finish the other features first. One interesting bug that I ran into, which seems to be mostly fixed now, is that if I jumped into the bottom of a crate and held jump button, I would not fall, and it would think I was on the ground, which would allow me to float around on the bottom of the crates if I continued holding the button. If I floated off the edge of a box, I would fly upwards. This was because it would check if I was on the ground if, after minusing 150 for gravity, applying the z axis was invalid. If this move was invalid, it took it to mean that we were on the ground. If the velocity was upwards, running into the bottom of a crate would mean this was true. I made it so it checks to see what the velocity is relative to zero. This is fixed, but an upper collision does not absorb upwards momentum, which looks weird. I hope I’ll be able to fix this one too, probably by making a statement checking to see if an upward move is invalid and killing upward momentum if that’s the case.
The server was down due to my own fault once again. I applied updates remotely, and one of them was a kernel upgrade. I had to reboot so it could load the new kernel, and avoid potential module problems if the latest modules are not loaded. Even though I checked after I had run the reboot command, I guess it had been unmounted by that time, as I had left a bootable CD in the drive, which the machine happily booted into. My mom was nice enough to take out the CD and reboot it for me. I really should change the BIOS boot order to hard drive first, but I’m hoping I won’t have to use this Pentium 3 box as a server for much longer.