The YOG code isn't particularly difficult to understand. Unlike the previous YOG, there is a very clear seperation of behaviours, with behaviours distributed between a number of YOG classes. YOGServerPlayer, YOGServerGame and YOGServer are the three most tightly coupled and by far the most important classes, with most of the other classes serving auxiliary functions like maintaining the map data and checking passwords. YOG*Info classes (along with others like YOGGameResult, YOGMessage) are simply data classes, they store data and serialize themselves and have no real behaviours. YOG*Screen are actually GUI menu's and not part of the core YOG code.
-- Extra cheese comes at a cost. Bradley Arsenault.