Last updated 3/01/09
Heroes of Might and Magic II includes a multiplayer game mode in which up to 6 players can take part in a turn-based game which can be saved and restored at any point. There are many different ways that players could conceivably cheat, so I have been working with another developer to design both the network protocol and architectural changes necessary to ensure a cheat-resiliant game.
As of January 2009, we have agreed that the server must be in control of all information. Clients will be nothing but dumb relays for user input and displaying any available information which the server has sent. This places a larger burden on the server, but inhibits classic cheats such as fog of war removal.
I am also advocating that the single player game use the same architecture as a multiplayer game in order to reduce code duplication and increase the ease of finding bugs in the server/client communication.
The existing battle system has become large and unwieldy at several thousand lines of procedural code, and it is currently impossible to integrate computer AI players, as the battle logic is intertwined with the display code. I am undertaking a redesign which is in the process of separating those two elements using object-oriented principles, allowing battle outcomes to be determined near instantaneously while ensuring that computer AI battles proceed in exactly the same way as if they were displayed onscreen. As a result, the code is also more maintainable and easier to read.