Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.

How to make a Multiplayer like Genshin Impact?

Discussion in 'Multiplayer' started by PalitoDev, Nov 11, 2022.

  1. PalitoDev

    PalitoDev

    Joined:
    Dec 7, 2021
    Posts:
    1
    I'm new to the nets, but together with a group we are starting a multiplayer gacha video game project like Genshin Impact (but without an open world, it would be maps in different scenes like Star Rail or Persona)

    I have researched and asked a lot but I still don't have a clear answer.

    Correct me if I'm wrong about something:

    For now I need a relay server for the game, but at the same time I need a client-server model with persistent data.

    Can you explain me in more detail about all this? How could I get multiplayer like genshin (considering it will also be gacha, have exploration, and people can join friends via the friends list)?

    If you can tell me what services to use I would really appreciate it.

    Although we know that this is difficult for newbies in networks, we are trying very hard and we have no problem studying how it works for many hours, but we need more information since we are somewhat stuck, thank you very much <3
     
  2. CodeSmile

    CodeSmile

    Joined:
    Apr 10, 2014
    Posts:
    2,111
    Relay is just helping to get players connect to a server that would otherwise be unreachable to them due to network settings (NAT, firewall).

    Client-Server are all currently available (and recommendable) networking solutions for Unity: Netcode for GameObjects, Fish-Networking, Mirror and Photon.

    Persistant data is something you won‘t get a ready-made framework for. Usually you just have to be able to identify players (account management) and store their data. Most commonly you would use a database for this, but even json or custom formats would do. Just keep the data separate from the server.

    Friends list is something you get by implementing one or several of the services where gamers make „friends“. That means Steam and Epic, and possibly others. Of course you can also write your own friends list that works solely within the game, and where players first have to make such friends on your service.

    I‘m glad to hear you accept that it will be difficult. However I cannot stress enough that you‘re most likely still seriously underestimating just HOW difficult it will be based only on the question you ask. Because there really isn‘t much help in the form of ready-made, generally applicable solutions/frameworks available. You get the networking library for communication, you can pay for matchmaking, lobby and relay, and that‘s about it. Gameplay and storage is entirely up to you to implement, and possibly all of the account management if you do not use a service where players already have an account (Steam, Epic).