Debugging Networking
- Packet Logging Per Executable
- Unit Tests for all packet classes
- Outputting logs to the screen
Most of the tips were to implement a more sophisticated logging system, currently mine just outputs all the server and client information into one log which isn't helpful at all as a few clients can be writing to the file at the same time and causing issues.
So creating independant logs for each client and the server is my first priority along with outputting more information e.g. Timestamps / Full Packet Information.
I will also be creating a more thorough logger that allows you to set priorities for the logging, this will be ideal for when I output logging information to screen as I can just visualise high priority data like specific errors. This leads me onto the next part as currently my GUI is not complete enough to allow for an onscreen debug log.
Picking and GUI Development
I am going to use my own GUI code to create all the elements for the Level Editor but there is still one thing that is crucially missing which is the ability to do Picking. It also gave me a break from doing debugging the Networking code.
I have now implemented a basic picking algorithm using colour based picking. It is really quite simplistic in it's nature and only took about an hour or so to throw together. All that needs to be done is create a unique colour for each Entity that you want to do picking for and output that colour in the fragment shader.
The second part of picking is to actually pick a pixel and read back it's colour, which can be decoded to give you the unique ID for the Entity.
Now that I have got the Picking working I need to address the rest of the GUI as currently there are definitely parts of it that don't work particularly well such as the Font Rendering. The sizing of text needs to be looked at as currently there is a lot of guess work needed to get text looking correct.
Okay so there is a lot to be done but I'm sure I can get through it, hopefully I will have something fairly impressive to show soon. I am going to focus on getting the GUI correct and start work on the Level Editor as a test to see how well the GUI does work.
Thanks :)