After last week’s excitement of getting the game networked using, you know, an actual network, I’m back to figuring out obscure networking bugs. And writing GUI code.

With the networking allowing several instances of the game to talk to each other, I quickly discovered a rather interesting “feature” of XNA where the game does not receive updates while the window is being moved or resized.

This, in turn causes the network timers to come out of sync – a lot more than the drift-corrector can cope with.

So to fix it, I’ve added yet more inputs to the graphing tool – which is starting to get messy. So I finally decided to go back to working on the GUI so I can make the interface more sensible (and I’ll also be using the GUI for the game proper).

Unlike last time, where I tried to make a multi-track sequencer control all at once and got overwhelmed, this time I’ve started off with just a small section – the track headers.

Demonstrations of the desync bug and the new GUI work in the video!



10:55 am, Wednesday 6 March 2013

The gui code looks great. I know writing gui isn’t the most exciting when you are working on games, but what you have looks very functional, and has a decent amount of polish (at least as a foundation). Hopefully the work you put in now pays off.