Search Unity

Direct connection between 20-30 Android clients and a Windows "GameManager" server

Discussion in 'Multiplayer' started by NeatWolf, Jul 10, 2018.

  1. NeatWolf

    NeatWolf

    Joined:
    Sep 27, 2013
    Posts:
    924
    Hi there!

    I'm currently "not-so" experienced in multiplayer development and I'd love to know how would you approach a similar situation, or how would you suggest a relative newbie to approach the task.

    I've been asked to develop a game that consists of a really simple mechanic, yet, the multiplayer part catches me a bit off-guard, as so far I've never handled the task in person, but was kind of delegated.

    The game should:

    1) Create a Session/Match on a Windows device (Host App)
    2) About 20/30 (I guess up to 50) players download the app from the Store (Client App)
    3) Not use any mobile or Wifi connection to an ISP provider, as the game must be played even in extreme conditions, like, in the middle of a desert (exaggeration).
    4) Client Apps should be able to connect directly to the Host App in the simplest way possible (even by non-gamers)
    5) It's a turn, reflex game, so latency should be minimal
    6) Each game, or session of games in a certain place could have a different "code".
    7) At a higher abstraction level, I suspect at least some data has to be broadcasted back from the server to the clients, with special handling on the winning devices.
    8) I'm currently unaware of the budget, so I may, or may not hire someone. Fact is, hiring someone would mean having the other person do most of the work, and would be pointless.
    9) The client has no idea or preference about which connection type to use (eg: Bluetooth, WiFi)

    I generally have a nice learning curve, but initial tips could really help me in getting started, as I'm going to be asked pretty soon about feasibility, delivery times, costs, technical limits.

    I never used Unity Multiplayer so far, but I believe the game I've been asked to develop has minimal requirements.

    I'd love to know:

    1) Is the project somehow feasible without 3rd party assets?
    2) Would Unity Multiplayer be a natural choice for such an application to a yet inexperienced multiplayer programmer?
    3) Which 3rd party asset would you suggest me to use, that may act as a wrapper for this, elevating the abstraction level?
    4) Am I missing something so huge that I can't even see it?
    5) Would the number of player constrain me to move to a WiFi based app (which I believe I should)?
    6) Do I really need to setup a whole Windows install as a dedicated server to make it work, or may I just build a Server App in Unity that handles everything as if it was a sort of Access Point? I'm unsure about how available packages/Assets handle this situation.

    Every hint or suggestion is welcome. I'd love to accept the project, just for the sake of learning, and the game mechanics really feel like they're secondary to the problem. So I feel it would be a really nice opportunity to improve my skills, maybe after a few crush courses or experimentation :)

    Thank you :)