Results -9 to 0 of 78

Thread: New MMORPG?

Threaded View

  1. #11
    Player R041's Avatar
    Join Date
    Mar 2019
    Posts
    938
    Character
    Oidi Grey
    World
    Marilith
    Main Class
    Sage Lv 90
    Quote Originally Posted by PEANUT View Post
    ...
    5.2 is great, and UE is my favorite engine by far.

    It's complicated with MMOs, because the packet ramp isn't linear per additional character, it's multiplied when the server is authority. For every new player, that player needs to now send their own data, but receive data for all other players.

    They have to do a lot of tricks to trim costs when you're not directly interacting with that object or character. With high engagement areas, you'd remove almost all non-essential packets to the player. Then they also reduce how active the actual world is too, the only active entities sending and receiving data are ones that have an observer of some kind. A player camera would be an observer as an example. Less density means less CPU and less packets. So we'd typically have to design things around 2-3 creatures per observable area. Also because each instance can at times only be 1-2 CPU threads.. I wouldn't be surprised if XIV is run off of a single thread per instance.

    I think WoW might be using smaller seamless instances so they can get away with faster cpu ticks in open world, and more high density events in the same large map. But that's just speculation, I don't have actual info.

    Unreal Engine is phenomenal with network data, but it's not really MMO without heavy engine changes. It's designed with the idea that data is exchanged all within the same session and doesn't require constant interaction with a larger database. But it does have Server/Host Authority. Most studios will implement that data layer separately if they need to. Some don't at all and just keep to a max 32-64 players per instance and do data checks on session refresh/begin/end intervals or something.

    The biggest upgrade for MMOs would be multi-core instances, cost of CPU, and data transfer cost.

    I don't really think it's much of an issue for household internet anymore, games like League of Legends are only about 25mb per hour with a lot going on and extremely high tick rate compared to MMOs. And it's mostly download, not much upload. Especially when you consider that you don't need ALL data from the 100 players next to you in an MMO. That's already not a huge deal because the data we receive is pretty basic anyway.

    Our bottlenecks are definitely the hardware and instance systems being used today. They're archaic, and we're in dire need of an advance in multicore technology.

    When we're working on the server infra, I never really have to think about how much data the individual player is receiving. It's always how much data the server needs to send, and how many things can potentially happen within a single tick. But we deal with single thread instances, so it's also way more painful. Also have to think about how jarring it is for players to see other players pop in/out when creating zones on the same single map, so we kinda fake it sometimes with bridges or walls.

    Also, the large world systems you're looking at from UE don't directly benefit 'MMO', just larger maps as a whole, because it helps seamless client side loading of a lot of assets. Otherwise you have to ask the client to load EVERYTHING - Which, even if you're not actively rendering it, it's still in memory. So systems like those say "Hey, I'm coming up on zone limits, let's start loading data from disk into memory and dump the old stuff that we haven't seen a mile ago."

    Idk if I actually answered your question, 'cause I think I babbled a little. lol
    (1)
    Last edited by R041; 05-26-2023 at 06:19 AM.