Hi,
I'm about to start to implement a simple testable MMO but I do not have all the design nailed down, so with that said, I'm going to approach this one by writing bits-n-pieces of code that can be wrapped by test harnesses, what that means basically I can run validation and performance testing on these pieces of code.
The test environment is a side scroller, the client code is taken from MelonJS ( http://melonjs.org/ ) and the server is the one I wrote using C++, IOCP, threads.
What I have so far:
1) Client Timer: located in https://github.com/MagnusTiberius/iocphttpd/blob/master/wwwmelonJS-2.0.x/examples/platformer/js/game.js specifically, line number 110.
2) Server Code: located in file https://github.com/MagnusTiberius/iocphttpd/blob/master/melonjs/IocpHttpd.cpp line 85.
What it is currently doing:
1) The client timer fires and sends a post to the HTTP server.
2) The server returns a JSON object.
What I'd like to do:
1) Setup the client so that it is able to create the world when it gets the WorldReplicate() event.
2) For each timer tick event, the client would send a post and receive a parse tree containing all the objects within the World.
3) The parse tree is decorated in part by a decorator object whose job is to decorate the nodes that have updated attributes in there.
4) For the test, I'm going to use two seconds as a tick.
I'd like to hear about your thoughts and suggestions. I'll start writing the WorldReplicate() event soon.
Thanks!