As part of this new design I created a Popup Manager class in Unity to handle existing and future variations. This was a rather large undertaking, as I had spread the code for the pop-ups across all the scenes and it took a couple of days to consolidate it all to one master class. I'm not sure if this helps any with efficiency but it reduced the overall size of the code and makes future changes much more manageable.
This project is my first real foray into true Object Oriented Programming and I'm getting a big dose of on the job training. The code base has gotten better over time and I'm sure I'll continue to make further enhancements prior to launch.
On the server side I made some pretty drastic changes to the communication protocol used by Conquest!. Using Message Analyzer, a free tool from Microsoft which allows you to capture all network traffic, I began looking at how much data is being sent back and forth between the client and server. Conquest! uses an XML based protocol and so has tags such as "Message", "Body", etc. While XML is a great protocol for humans to read and process its wordiness was unnecessary. But rather than switch to a different protocol, such as JSON, I simply shorted all of the tags to 2 characters each and changed "YES/NO" responses to "T/F". These two changes reduced the overall message size by approximately 20%. I also continued my crusade to remove unnecessary messages and reduce existing ones. Unfortunately, these changes complete break the Windows reference client but I stopped making changes to that a while ago.
In the Core Labs program we heard a lecture discussing timelines and have our first deliverable due: a production timeline for each of our games. Fortunately I have worked on many IT projects so I have some experience to draw on.
Follow the journey on Facebook or Twitter. Until next time, I hope to see you in the game.