Jump to content
  • Advertisement

MagnusTiberius

Member
  • Content Count

    6
  • Joined

  • Last visited

Community Reputation

117 Neutral

About MagnusTiberius

  • Rank
    Newbie
  1. MagnusTiberius

    Trying To Get An MMO Going...

      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. 
  2. 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!
  3. MagnusTiberius

    TCP/IP Fast Writer Slow Reader Algorithm

    @hplus0603,   Yeah, I was afraid of going in that direction because of the complexity in that algorithm, but you absolutely know what I was thinking.   After reading your reply, it somehow triggered an idea how an algorithm can be setup similar to B-TREE or may be looking to a parse tree, but it will have the ability to adjust the rate/tick based on lag, I mean how ticks the current is behind.   I haven't started writing the test program, but I do have a simple test right using key-value store (taken from babudb I'm still building this test, iterating it to a point where I think I can simulate the phenomenon. The test code is at https://github.com/MagnusTiberius/WalkerRoad/blob/master/database_test/DemoDBTest.cpp line 358
  4. I've been working on an interesting test and this one seems to be quite an interesting problem.   I wrote a test program on simulating a fast-writer-slow-reader scenario and I was able to reproduce it. The main question that really made me think about it was "is that good or bad?"   So yeah, I had several clients sending messages to the server and at the server the code simply dumps all recv() bytes into a buffer--a stack basically in which a thread worker would pop() an element off the queue. Basically eliminating the surge effect brought about by a slow reader.   And if clients have different rates, I could simply adjust the tick() and go forward from there.   Can someone shed some comments relating to this issue?   Thanks in advance.  
  5. MagnusTiberius

    What Server Language Should I use?

    First of all, I would say it is a personal decision due to the fact that requirements for building a game server is entirely up to the person who will pay or build it.   Now that I said that and I can put that aside, other than what was mentioned above, one would like to know the hardware the game server would run on and the facilities the code will try to access, which language and runtime provides these is again have to be written as part of the requirement.   In my case, I had to write my own game server on C/C++ ( see https://github.com/MagnusTiberius/WalkerRoad ) because my hardware spec were low and I don't have the budget to go for a big iron hardware. Plus, C++ has access to most all Operating System resources.
  6. I would like to announce the availability of a new multi-user network library, the webpage URL is shown below:   https://github.com/MagnusTiberius/WalkerRoad   The project is still in early stage with base/simple features already in place.   The architecture implements a pipeline composed of stages, each stage having its own characteristic feature. Moreover, I have provided some unit testing code to show some features.   It runs on Windows and use IO Completion Ports to eliminate creation of one thread per connected client.   It is still under testing and performance data collection is still going on.   As for myself, I'm currently developing a demo game using this library. With that, I would like to announce it here so that developers would use it and in that way help improve quality of the API/SDK.   Let me know if you decide to evaluate the API/SDK and learn from your experience.   Thanks!
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!