Specific ingame regions network.

Options
Hello, I decided to block the network to ingame regions in my open world mmorpg.

The map is seperated by regions ( Invisible trigger colliders)
so the player will only recieve info from the specific region and not from other regions around the open map.
Now, I dont really know how to block a region that the photon will update things only from that region and not from others.

How do I do so?

And, is there a different and better way to do so?

Many thanks for anyone who helps me out. (:

Comments

  • Tobias
    Options
    You can use the group property in PhotonViews.
    This can be a bit tricky, as a) the group is ignored when you instantiate stuff (meaning: no matter how well you group, instantiates will all be sent to new clients when they join) and b) when an object's group is changed, there is a short delay this is actually applied on everyone's machine. Once switched, messages coming in through the previous group will be ignored, which might look like loss.
    When you use groups, don't let remote clients call RPCs on those grouped PhotonViews. Or at least don't expect the RPC to arrive because the owner might switch groups before the message went through the net.

    And one more: Expect your players to enter the same area from time to time. They gather for some event, etc. so groups are not the cure-all for network congestion.
  • benk0913
    Options
    I can't believe the famous tobias has answered my question :o.

    Well, then is there a different way to make players send and receive only things that are relevant to them? Preventing players from the other side of the map to negotiate with them while they are not even able to see them?

    Many thanks :)!
  • Tobias
    Options
    > I can't believe the famous tobias has answered my question :o.
    Hey! I wasn't that late! ;)

    There is a "MMO Application" in the Photon Server SDK. It's a possible basis for better/real interest management and then some. It's more complex but if you really want an open world, you will have to go that route and adjust it to your needs. At least when your world is going to be crowded with players.

    As alternative you could split your world. In that case, use rooms to represent one area and switch rooms when needed. The player count per room could get limited and sharding would be done by multiple rooms per area. Using a room property "a" (for "area"), and sending this to the lobby, you can join random room with the area filter.
    In this case, players are fully separated from each other per room (no communication at all between rooms).
  • benk0913
    Options
    Is MMORPG possible with the cloud?
  • Tobias
    Options
    Depends on your needs.
    Open, seamless worlds with everyone in a "room": No.
    Smaller areas which strictly don't interact: Yes.
  • turret
    Options
    Dear all,

    Good Morning, I would need your help for some trouble I have with interest management, I thought this was a good topic to ask my question.

    Actually, I am currently trying to improve the area of interest management of my program (we use unity 3d). By default, we used photon with the default square tile region (world divided into square region), but, I wonder how free we are for the area of interest design. I mean, is there any way to define more complex area of interest, relying on a character's view field ?

    Thanks for your help,

    turret
  • Tobias
    Options
    The interest management solution we provide is just a proof of concept and can be refined or completely replaced.

    The grid in our interest solution (MMO) is also using a view-area. This can be detached from the actor but otherwise it's pretty simple (think: axis aligned bounding boxes).
    Aside from relative positions, you might also want to add a filter for importance of updates: If you fight someone you get this entity's updates while position updates of random people passing-by could be skipped if too much is going on.
  • turret
    Options
    Dear Tobias,

    Thanks a lot for your prompt answer.
    So you said we are free to improve, change completely the area of interest management.
    Actually I do not see well the module where this can be done (priority of update), do you think there is some documentation/example of code i can use ?

    Thanks you,
  • Tobias
    Options
    There is no priority for updates yet. It's an idea you might want to add, aside from just changing the rules for areas.
    I'm sorry but there is no sample code beyond what's in the package. There are a few discussions in this forum about the MMO solution but I can't say which applies best to what you're looking for.
  • turret
    Options
    Thanky you Tobias,

    I will look at these MMO discussions.