July 22, 2009

Bug Fighting

I am very happy right now, because today, I went head to head with a couple of my old glitch buddies that I shoved off to the side to come back to later. Well that later turned out to be today, and I'm very proud of myself, because I took those annoying little buggers to school on a bus full of pain. What I'm trying to say is that I fixed some really annoying glitches today.

First of all I got rid of openAL because it was just giving me a headache, and decided to only use the SDL_Mixer. The SDL_Mixer bug mentioned in a previous post, where there was a sound delay, was easily fixed when I realized I was using the wrong version of the SDL.dll file (after a couple hours of troubleshooting). Fixing this then spawned another glitch with the level editor crashing randomly when using it. I'm not sure why the new dll brought this glitch out, but it was caused by a memory problem that I missed in the code, so I guess it was a good thing that it happened.

I fixed a problem with pushable objects in the game from way back in the beginning. Somewhere between the friction levels of each tile and the way the entities update their velocity, an object on top of a block being pushed would not 'ride' it correctly. It would slowly move to the side. This was the worst glitch to fix of all and gave me a major headache and I'm probably going to have nightmares about it tonight, so the only thing I'm going to say is that I fixed it. Ok? It's fixed so let's just move on.

This is probably what I'm dreaming about right now, except in my dream this scene takes place in hell and the devil is poking my brain with little needles.

I also discovered a small glitch in the original platforming code, also something I haven't touched since close to when the project first started (besides slight modifications). I don't like messing with this stuff to much when we are this far along (mainly because one wrong move could mess everything up!) and I thought it was going to take a very long time and be a nightmare to fix but it actually turned out that I was able to fix it in a very short amount of time with not too many problems. So I thought that turned out to be pretty cool and I also awarded myself 100 programmer bonus points for doing such a good job.

So I'm pretty pumped right now about this. The one thing that was very helpful, and I would recommend anyone who is working on a large project to do, is to keep a log of every single time you change something or add something new to the game. I have been doing this for the past couple months and it is very useful when it comes to fixing glitches. A lot of my glitches come from changing something and not realizing how that change affects something else, so when I discover one of these types of glitches, I go back to the last version where the glitch wasn't there (since I make backups of the game and all source files almost every day) , and look through my log to see what I changed since then to see what may have caused it. (Now I'm just hoping the changes I made to fix these glitches didn't cause new ones!)

In other news, we are still working on the Grasslands area we've added in some enemies and are prettying it up a bit more. I'll probably update the video of rescuing the dog once we get the enemies in. Stay sharp!


No comments:

Post a Comment

Home Blog About Games ?