I spent most of last week working out kinks in the various interfaces between STOs and older systems. But largely my time got swallowed up in client stuff relating to STOs. There was a large rift of hostility between our early client and host coders, even just between our host coders. The result is that "the wheel" in WWII Online source has many shapes, sizes, colors and materials.
Working in the client is like working in a space suit for me. Gone are all the standard tools I might have to work with on any of the servers. Gone are the standard data structures. And I have to monitor all of the many server logs (which are many and copious) while trying to monitor the entirely different debug output from the client (where it exists).
Its not insurmountable, but its definitely a case of treading on egg-shells. The client is still largely "C in C++" code, Rick has been doing some encapsulation, but you can't look at a struct and know how to use it, you have to go find the functions that manipulate it, and then there might be private functions in some other file that do the right thing…
That's not unusual, I'm just not well versed with these foibles in the client, and with 6 host separate host processes, I kinda have my mental basket full :)
Excuses over – there were a lot of minutae to debug; I broke the callsign that gets displayed when someone displays a mobile spawn in a way which greatly confused some testers… The first time you convert an MSP to a server tracked object, you lag out and miss out on your mission results. This is sorta cool because it enabled us to pin this down so that hopefully we will be fixing that once and for all :)
I also ran into a big disconnect between two of the processes involved, where information needed by one to complete a request was continually only available on another process, which mean't writing fresh callbacks to exchange the information. And at one point I broke the network library such that the client was taking 8-15 minutes to log into the game and 5-10 minutes to spawn. That made testing really, really, slow.
It's about wrapped up. Today's been the first day where I've actually worked on something other than STOs for all but a tiny portion of the day, introducing a new feature, and getting my head wrapped around the upcoming side balance additions. Tomorrow I should be clear to working on that and getting it out of the way. Ramp has done the UI part neccesary. The one thing I want to embelish it with is a history of side balance across the last 15-60 minutes so you can get a better feel for whether you should change sides or not.