Announcement

Collapse
No announcement yet.

Request for MMO networking support

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

    #16
    Originally posted by Veovis Muad'dib View Post
    A global chat and individual rooms limited to x people (Four in that image?) is not what most people think of as an MMO. And in the case of a card game you could probably even go the hackey route of just implementing a layer over IRC to accomplish what you're after. That way the server has to process chat messages, and game logic for only those who are playing. You'd still have some optimizations to do on the card game simulation, but you're right: it's absolutely within reach even for indies, especially if you go the hackey route. Also worth mentioning that in that case the number of spectators is irrelevant.

    But we both know that's really not what most people are talking about when they want to make an MMO.
    Somewhere in that long post i'm sure i said...
    oh here it is:
    you could have a table where two people were playing and 600 people watching them play.
    and this isn't figuratively or technically speaking. this is literally speaking.
    This is how tournaments were held. Every one gathers in one table watch a few ppl play.
    and they assign brackets and tables for each match.

    Now i don't know the exact limit for each room/table was. but it was in the triple digits (for card and board games) that i know for sure.
    its been what? 2007 since it closed down? oh man the memories :/

    watch this video to get a better idea.

    https://www.youtube.com/watch?v=Mc8VlCCQC_A

    Originally posted by darthviper107 View Post
    If you're going to create something that complex, you need to know how it works, every online game has had some form of networking issues, if you don't know what you're doing then when something goes wrong then you won't know how to fix it.
    precisely.

    Originally posted by Veovis Muad'dib View Post
    But we both know that's really not what most people are talking about when they want to make an MMO.

    you need the simplest form of the idea in order for it to be implemented and scaled right.
    Last edited by Bladerskb; 09-21-2014, 06:39 PM.

    Comment


      #17
      Originally posted by Bladerskb View Post
      Originally posted by Bladerskb View Post
      You could have a table where two people were playing and 600 people watching them play.
      and this isn't figuratively or technically speaking. this is literally speaking.
      This is how tournaments were held. Every one gathers in one room.
      and they assign brackets and tables for each match.
      Originally posted by Veovis Muad'dib View Post
      And in the case of a card game you could probably even go the hackey route of just implementing a layer over IRC to accomplish what you're after.

      ...

      Also worth mentioning that in that case the number of spectators is irrelevant.



      Originally posted by Bladerskb View Post
      Now i don't know the each limit for each room/table was. but it was in the triple digits (for card and board games) that i know for sure.
      The server doesn't have to handle anything but chat for spectators. Only has to run the simulation for active players, of which there were likely less than 10 per room.

      For a card game don't forget you don't even need to send locations. Just what card is in each hand slot and on each table slot. Clients don't even need to know (And shouldn't know anyway) cards they can't see.

      Probably 20 cards at most are relevant to each player (including spectators, as they're usually watching one player at a time I assume? Bump it up by 10-20 if spectators are omniscient.) and the server only has to do basic rules checking on specific events driven by player interaction. No persistent updating or anything like that, the state could be exactly the same for a minute straight and therefore bandwidth drops even lower.

      Again, while MMOs do have instanced areas/lobbies with global chat, I don't think most people would consider that card game an MMO. I'm not trying to belittle the game itself or the effort put into it. It is still impressive to pull off and keep stable and fast.
      Last edited by Veovis Muad'dib; 09-21-2014, 08:30 PM. Reason: Deleted stray paren

      Comment


        #18
        By the way guys, bandwidth is not expensive if you do it right. You can start with Google's Compute Engine and be worry-free.

        An MMO was impossible for indies a few years ago but not anymore, now you have all the tools and services you need.

        Comment


          #19
          Contact MuchDifferent - Seriously!

          These are the guys working on the C# plugin for Unreal 4. They have a MMO framework in C# ready to go!

          That said - It is a bit expensive. But I am sure they would be willing to work with indies on UE4 to showcase their tools and tech.

          http://www.muchdifferent.com/

          That said - Do not expect everything from Epic. Some of the heavy lifting you have to do yourself. There wont be a perfect out of the box solution

          Comment


            #20
            Originally posted by Veovis Muad'dib View Post




            The server doesn't have to handle anything but chat for spectators. Only has to run the simulation for active players, of which there were likely less than 10 per room.

            For a card game don't forget you don't even need to send locations. Just what card is in each hand slot and on each table slot. Clients don't even need to know (And shouldn't know anyway) cards they can't see.

            Probably 20 cards at most are relevant to each player (including spectators, as they're usually watching one player at a time I assume? Bump it up by 10-20 if spectators are omniscient.) and the server only has to do basic rules checking on specific events driven by player interaction. No persistent updating or anything like that, the state could be exactly the same for a minute straight and therefore bandwidth drops even lower.

            Again, while MMOs do have instanced areas/lobbies with global chat, I don't think most people would consider that card game an MMO. I'm not trying to belittle the game itself or the effort put into it. It is still impressive to pull off and keep stable and fast.
            Not quite. Initially I had all the card movement location data being broadcast-ed to all participants (players and spectators) as the players were moving them. Later on i removed it and only broadcast-ed when a player who is moving (dragging) a card has dropped it (let go of the left button) Also in MSN gaming zone, there are more than 10 ppl playing per room.

            Also about game data. There are alot going on that you are not aware of. Data that the game server needs to be track of.
            In my game, to avoid cheating. All the data were stored and managed server side. That includes all the cards, what zone they are in (deck,hand, inplay, removed from play, plus numerous other zones), their current status (health, points, effects, etc).

            EDIT: The client is pretty much useless and can only do what the server authorizes him to do.
            When he wants to draw a card, he asks the server for permission and the server tells him, okay this is what you drew.
            Therefore the client can't fake and say he drew something that isn't true.

            For example, the cheating would be impossible in fps if a technique like this were used. things like unlimited weapons,bullets, health,etc.
            Basically client says I'm about to shot this gun and server says you don't have that gun.
            or client says i'm about to unload on everyone and server replies sorry you just ran out of bullets and client ends up shooting blanks.

            Ofcourse this may or may not be technically feasible when you account for latency and lag.


            I also had a feature that could playback a game in real time. Kinda like replay or photomode in forza.
            So i had to keep track and record each event in the game at the exact interval.
            Plus i was working on a feature that was able to recover a game in case of a disconnect or crash.
            Since everything was server side, when the players reconnect they would be prompted with the option to continue their game where they left off.

            So yeah, alot of data were being tracked and managed by the server. This wasn't your typical card game software.
            Anything I do i always try to go above and beyond. innovation is always my goal.

            Now ofcourse bandwidth for a card game would be low compared to an open world mmorpg, but MMO isn't about being a bandwidth hog or game complexity.
            its about building a simple form of server architecture that can scale to meet your needs.

            Went to my photobucket page and dug up some pics.




            more pics...
            http://i156.photobucket.com/albums/t...erskb/main.png

            check the date
            man those were the good ol days!
            Last edited by Bladerskb; 09-21-2014, 09:53 PM.

            Comment

            Working...
            X