One of the new modules this semester, is Networking and Games Architecture. So far this has seen me creating my own server and client in C#. Thus far this has been very enjoyable, and has given my C# programming a new focus.
In addition to the obvious skills its developing; networking, client server interactions etc. It has also allowed me to work more on programming protocols, and forced me to be religious in the way I program. The reason for this, has been the tests our program has to pass. These are in the form of batch test, and basically test the output of our program; therefore if the output doesn’t match the spec then it does not pass the tests. This had been eye opening. Of course I had always aimed to achieve a high standard of code; and have been successful at it thus far. But this testing method has forced me to take this to the next level.
The use of C# in this project, has been enjoyable. I class my self as fairly fluent in the language, but a chance to use the .Net framework, means a gap in my knowledge has been filled. In addition to the server client interaction, we have to handle a number of different protocols in regards to server request. This means that our program has to conform to industry standard, and have work consistently using all the protocols.
There are further uses of our project, even within the scope of the course. In the second half of the semester, the “Games Architecture” aspect of the module will be explored. The spec for this has been released already, and it appears that is will be a simple Pong clone coded in XNA. This will be easy to implement, but the networking of the game is meant to be the challenge. We will have to- using the server we previously built, implement multiplayer functionality into the game. This should allow for two players on different PC to play against each other.
This is what I have to look forward to. Until then, I shall enjoy my experience with networking, and will post about my experiences as appropriate.