August 21, 2009

Bug Fighting: Part 2 and Massive Work Session Update

Alright well, there hasn't been an update in a long long time, but we have accomplished a lot since the last post. We had a three day working session where we worked on the game pretty much non-stop from wake-up till sleep-down. We were trying to get a demo version of the game done to get to some testers so we could get some feedback on what we have so far. Everything was going really well and we made a ton of progress on the game and came so very very close to finishing the demo. The big problem came when designing the levels in the game. I was reintroduced to what soon came to be known as my mortal enemy, a small little bug where the game crashed when loading a different level in the game about once every 20 level loads. It was a very uncommon occurrence so whenever i ran into the glitch earlier i just decided that i would fix it later or that it would magically disappear or something. Well, I figured the time has come to finally get in there and fix this glitch before we released this demo for testing, and that is when the development of the game came to a screeching halt. Well, it was more like a screeching halt, and then smashing into a guard rail, and then flying over the guard rail off a cliff, and then landing on some big pointy rocks, and then having the car explode, and then waiting for the paramedics to come pull us out of the burning car, and then having the paramedics beat us senseless. We went from the most productive times in the game's history to the least productive times.

I better not catch any of you guys stealing this source code and selling it to Blizzard.

Yeah, so this glitch was bad. It was like the Adolf Hitler of bugs. I don't want to go into too much detail because that would require me to relive trying to fix this thing, but it had to do with memory corruption, which is the worst kind of glitch to fix. Luckily, I do not have to deal with this all that much since I am very careful with this type of thing while coding it, thanks to lots of ugly experiences with these types of problems in past games. Memory corruption can have some really wacky effects in a game and it is really hard to pin point the problem in the code because often the symptoms do give you a lot of information as to what is causing it. For instance, memory could be corrupted early on in a program but you may not feel the effects of this until later on when that memory is accessed again. This one crashed on level load. Rarely. Very rarely. Probably once every 20-30 level loads. This was the worst part because it was so hard to replicate and gather data as to why it was happening. There were times that I found some sort of piece of code that looked like it may have been the problem, and then once I fixed that I would have to play the game for about 20 minutes to see if would still crash. That was the most time consuming part. It would never crash until the exact moment I said to myself 'Well, its not crashing, I guess its fixed,' and then BOOM crashed again. I spent a lot of hours trying to fix it and ended up going over most of the code in the game checking for errors, which turned out to not be a complete waste of time because I was able to fix some other problems that I didn't notice before.

Anyway, this glitch thing was very demoralizing for me and I tried to take a break from trying to fix it and work on some other stuff, but every time I started to work on something I ended up on a mad hunt trying to find it. After about a week and a half I was finally able to end its reign of terror terror when I finally used the debugger. I never really use debuggers too much and pretty much forgot about it, but when I ran the game with the debugger, an error window appeared each time I switched levels even though the game didn't crash which allowed me to find out if my fixes worked without wasting a half hour of running around the game world waiting to see if it still crashes.

This is what the game looks like now. Some tile updates (which are just about to get reupdated soon)
and some little flying birds.

As for the updates in the game since last time, we added in a whole lot more enemies, some friendly creatures like birds and rabbits, and a lot of other tweaks and little details. We also have a general idea of where the story is going and pretty much everything that is going to happen at the begining of the game down.

We are still planning on having a closed demo finished soon that we will send out to those of you who would like to help us test the game. If you would like to be a tester, send us an email or leave a comment down below. We could really use your help!

We'll probably have another update in a few days, with some screen shots, new graphics, and made a video or two.

Home Blog About Games ?