GithubHelp home page GithubHelp logo

Comments (4)

tachen avatar tachen commented on May 3, 2024 2

image
https://doc.photonengine.com/en-us/onpremise/current/applications/loadbalancing/application

from noahgameframe.

ketoo avatar ketoo commented on May 3, 2024

@tachen Great! If the players just playing in a room like LOL or DOTA2, it looks like easier to implement.

From the docs of Photon:

The Master server handling all the Game Server Peers and the Game Server reporting Game States to the Master, which game server will be assigned depending on their workload. If the clients want to connect to the game server must get a Game Server address from the Master,

The disadvantages of Photon are that the Master Server just only one instance when running, it's a single point; the Game Server handling Client Peers no any proxy/gate to route the incoming traffic.

By the way, it's hard to design a game like WOW if we use lobby mode on the Game Server. Any suggestions for this?

nf_server_arch

from noahgameframe.

tachen avatar tachen commented on May 3, 2024

Photon also have a MMO server!

image

https://doc.photonengine.com/en-us/onpremise/current/applications/mmo/mmo-concept

from noahgameframe.

ketoo avatar ketoo commented on May 3, 2024

@tachen The calculation of which items fall into which interest areas that is the AOI management. The AOI management is a useful module in MMO world, but interest management is not the same meaning as scaling.

Regarding the game like LOL or DOTA2, you can create multiple rooms, it's easy to add new game server instance at run-time if your load increases.

Regarding the MMO game like WOW, if too many players located in the same scene like a town in the real world, it's hard to hold on by one server instance, which is the reason we would t design the scaling module.

The interest management can make sure the clients receive the events that originate from regions within their view distance only, this optimization can improve the performance in crowded areas, but it doesn't mean it enhancing the scalability.

Yes, we must have a region management to improve the performance, so, I think that we hold the regions by different server instance for MMO game is a good way to expand the load ability. Managing the interest is the key to success, however, how to manage the regions and keep its data correct is a hard job when adding some new instances for scaling.

As far as I know that the "Big World" engine now supporting this feature, but it's hard to know the details of its mechanism.

from noahgameframe.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.