Bugs, bugs, bugs

Oh my.

Sometimes even the simplest of things break. After compiling a release version of Shambler, I pressed the start button to quit to the BootROM and CodeScape complained that a general exception occurred. Turns out that it was a simple case of link order. The Shinobi library had to be linked last.

Server-side, it’s a mess. I do not like it one bit. It’s very much so cobbled together and not at all well designed. I have another week off, which I should use to fix the server code at the very least. It’s a jumble of defining what a client is, how to replicate state, and there’s even a whole list of game objects that are outside of everything else.

The client is slightly worse. Memory management keeps falling apart and when I think I’ve figured it out, another case trips me up and I question my sanity. Doubly-linked lists and maps are also disintegrating as I use them. More testing is definitely required and more test cases, though I haven’t got any tests written formally. Another thing to investigate.

To top it all off: every time a new client connects no other clients know about it until they move. Even then, the data is garbled.

Good news. I was able to get a bunch of clients connected. Bad news. Only the development kit seems to work. I’ll try burning a disc and see if that makes a difference to loading from an SD card. Check it out (there are six cubes visible, two of them are at the same position and orientation, one’s off-screen):

Multiple clients connected at once

Getting a network test up and running in the next two months seems like it’s in sight. Just seems like I’m taking one step forward and two back sometimes.