Search Unity

Epic Online Services and multiplayer.

Discussion in 'Multiplayer' started by Lunaticx, May 15, 2020.

  1. Lunaticx

    Lunaticx

    Joined:
    Aug 15, 2009
    Posts:
    4
    hi. i am making turn based game with multiplayer, plan to use Epic Online Services for friend lists\lobby\achievements etc. but not sure what is better to use for multiplayer game itself (sending game turns info between players).

    epic services p2p interface looks a bit complicated and unreliable, so im thinking about something else. any ideas what should i use?
    probably looking for some simple cloud service where i can just send couple vars between players each turn.

    photon pun seems like overkill, since i dont need to send a lot of data or realtime movement sync.
    for now best that i found is gamesparks.com. they have simple solution for turn based game.

    i would be grateful if someone advised some other solutions or ideas. also Epic Online Services is pretty new, please share your experience, if any.
     
  2. Tiny-Tree

    Tiny-Tree

    Joined:
    Dec 26, 2012
    Posts:
    1,315
    OldMage and g_a_p like this.
  3. Lunaticx

    Lunaticx

    Joined:
    Aug 15, 2009
    Posts:
    4
    hi, thanks for reply. looks interesting, but it does require installation and maintenance of a server =(.
    i want players to host their own games, by using some cloud service as temporary data storage.
    also for server logic, it needs to be writen in java?
     
    Last edited: May 15, 2020
  4. Tiny-Tree

    Tiny-Tree

    Joined:
    Dec 26, 2012
    Posts:
    1,315
    you could use it as master server, that mean player would connect to it, have business logic go through it, and distribute instance server to player that register to that master server.

    but if the only thing you want is to have short matches of turn based game, you can go with photon PUN it use the cloud.
     
  5. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,072
    If your matches are played in one session (without saving and loading), you can use Photon Cloud without hosting anything. It plays nice with external services and matchmaking, so it should be a nice combination with Steam's offering.

    Even if your game is turn based, keep in mind that it might make sense to send some updates of what the current player is doing, without revealing what options the player has. In most TCGs you can now see how the active player browses through the hand. Even unfinished actions are shown (or hinted at) to make the wait times less boring.
    You can do the same for turn based sports titles. In golf, show how the player positions and swings, before sending the actual shot as a "turn".
     
    Joe-Censored likes this.
  6. gputhread

    gputhread

    Joined:
    Dec 7, 2018
    Posts:
    36
    How about playfab will that be cheap in price?
     
  7. yoonitee

    yoonitee

    Joined:
    Jun 27, 2013
    Posts:
    2,363
    Epic Online Services is complicated, has very bad documentation, and forces the players to log in to a service, such as Facebook, Steam, Epic, Google etc. to use it.

    If it is a turn based game, have you considered doing the backend as a simple web app, e.g. in PHP? e.g. you could store the game states in a database and do simple GET and POST commands to the URL.

    e.g. "https://urltogame.com?game_id=12345&move=west&kill=dragon"

    and return the next game state as a json file. Only suitable for very slow games.

    You could probably host it on Google Cloud for pretty much free although you may have to pay a little to use SQL database.

    Just a thought!!!!!
     
    gputhread likes this.
  8. gputhread

    gputhread

    Joined:
    Dec 7, 2018
    Posts:
    36
    Ya my first choice was firebase but their product is not gaming specific plus their login not work on desktops. I was also sure about gpg multiplayer stuff but that is depreciated. Anyway still thinking for best option.
     
  9. FakeByte

    FakeByte

    Joined:
    Dec 8, 2015
    Posts:
    147
    Th
    This is wrong we are using epic online services in our game and it does not require any login for the user to use the networking interface. It is also not very complicated, the only point I agree with is the bad documentation.
     
    Menyus777 likes this.
  10. FakeByte

    FakeByte

    Joined:
    Dec 8, 2015
    Posts:
    147
    Firebase is indeed develoed with gaming in mind too by google and would be a decent choice. What problem did you have with the login? We had no problem with it in past projects.
     
  11. yoonitee

    yoonitee

    Joined:
    Jun 27, 2013
    Posts:
    2,363
    Isn't it that it logs you in automatically if your game is launched from say the Steam or Epic launcher. But if you were selling your game off your website, for example, you would still have to log in to one of the services first?
     
  12. Neto_Kokku

    Neto_Kokku

    Joined:
    Feb 15, 2018
    Posts:
    1,751
    Not exactly. While each player does have a game-specific profile and identity, it is not tied to any service unless you set it up for that, and can be created automatically when players first launch the game, without any interaction.

    Of course, without any external login your players will lose access to their profiles if they uninstall your game or delete the access token. It also makes banning users less effective since they can create new accounts much faster.

    So you can make your game work exactly like those mobile games which allow you to play online right away without having to manually login.
     
    Menyus777 and yoonitee like this.
  13. yoonitee

    yoonitee

    Joined:
    Jun 27, 2013
    Posts:
    2,363
    Interesting. Well, I've never been able to get it to work without some sort of login. But maybe I'll try again.
     
  14. Neto_Kokku

    Neto_Kokku

    Joined:
    Feb 15, 2018
    Posts:
    1,751
    The documentation really doesn't help, and it can be confusing because there's also the feature of using Epic accounts, which is different because it's kinda the other way around: that's for when you do have your own backend database and want to use Epic accounts as an identity provider (similar to how you would add Facebook login to your game).
     
    yoonitee likes this.
  15. FakeByte

    FakeByte

    Joined:
    Dec 8, 2015
    Posts:
    147
    Check out how I did the login using a device ID in the epic transport for mirror here
    https://github.com/FakeByte/EpicOnlineTransport

    Even if you don't use mirror you can copy the EOSSDKComponent.cs into your project and it would do the login automatically for you.
     
    RaiuThunder and yoonitee like this.
  16. pKallv

    pKallv

    Joined:
    Mar 2, 2014
    Posts:
    1,191
  17. nsmith1024

    nsmith1024

    Joined:
    Mar 18, 2014
    Posts:
    870
    Hello,

    Anybody knows if there is a tutorial video somewhere that tells how to use EOS with unity, and how it works from a programming point of view, how to use the APIs, example projects for unity etc?

    Thanks
     
  18. Recon03

    Recon03

    Joined:
    Aug 5, 2013
    Posts:
    845

    https://eospluginforunity.playeveryware.com/

    https://dev.epicgames.com/docs?sessionInvalidated=true

    Getting started and API, Samples

    https://dev.epicgames.com/docs/epic-online-services/eossdkc-sharp-getting-started


    I have used EOS since it started, its free and works just as good as Steam does, its even easier now a days to set up. In the early days it was harder for Unity users to set up, but they made a plug in for users. C# Source comes with it as well.
    I use it with Unreal and with Unity game ..

    There is a plug in built for Unity as well.. There is alot of stuff you will need to fill in from the account, it does alot for you.

    what is nice you can use Steam, Discord, and have friends join games. This is built in.
     
  19. Neto_Kokku

    Neto_Kokku

    Joined:
    Feb 15, 2018
    Posts:
    1,751
    They re-wrote the C# wrapper too. Now using structs everywhere instead of allocating stuff all the time.
     
    MJdev likes this.