Advertisement

Trying To Get An MMO Going...

Started by March 10, 2016 07:37 PM
1 comment, last by MagnusTiberius 8 years, 8 months ago

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!

Why aren't you using the multiplayer library WalkerRoad?
enum Bool { True, False, FileNotFound };
Advertisement

Why aren't you using the multiplayer library WalkerRoad?

WalkerRoad will require a non-browser client which I don't have right now. I'm still looking for a simple 2D/3D client that can be used as an example.

In the meantime, I will have to use MelonJS because they provided a platformer demo which I can use and modify.

I also added the gamelib project in there as well, I'll be developing on that API adding the browser game environment in there.

This topic is closed to new replies.

Advertisement