The animations were fairly straight forward, each territory has an associated particle emitter that looks like an explosion. For some reason our first animation code would cause the game to crash at any point in the game. Sometimes we could play a whole game without a crash and sometimes it would crash in the first 3 seconds of gameplay. By using a ton of echo statements and generally cleaning up our code we managed to fix our random crashes. Our animations were also lagging the game down, so we removed about half of the particle emitters and had them activate less often. This fixed most of our lag issues, but it still can appear slow because there about 45 animated sprites going at the same time all the time and particle effects being used often.
As this is the first server/client based program that I have written, I spent a large amount of time doing the Torque Checkers tutorial and looking over Bruce's demo code. However, that didn't seem to help a lot, as I still had huge issues trying to get the game to function properly. I blame most of this on my inexperience/incompetence with both Torque Script and the whole idea of server/client communication. Once I got my head wrapped around the whole thing, it was actually fairly easy.
During one of the early testing phases of our game, we were having problems with the game quitting unexpectedly. Try to find and correct this problem turned out to be much more of a problem than we thought. The echo statements positioned right before and in the problem section were not being printed out, which made the error really hard to pinpoint. We ended up removing large sections of code, and slowly adding them back in to see what was causing the crash. In the end we had found and corrected several small bug, but nothing that seemed like it would cause a crash. However, the game seemed to work properly, so the crashing still remains a mystery, but must have been linked to one of the smaller bugs that were fixed.
Due to the nature of the game, there are a lot of complex conditionals and variables that must be checked a processed on a regular basis. Even though we only added one at a time, and tested before moving on to the next, this still produced a huge amount of bugs. All the way through the end we were catching and correcting various bugs, and there are probably still a few to be found.
The GUI was added recently and there were some problems at first. The main scene wouldn't load when a new game was started. The problem was namespace linking error and one of the gui elements referenced the scenewindowt2d. When the game launches, it first calls the splashscreen gui and wouldn't load the default level just yet. Our splash screen was bugged because we copied it over from another project where it was the default level. By deleting its reference to scenewindowt2d it worked fine after that.