New to networking and PUN questions

Options
Hi everyone,

I have started learning multiplayer development by reading Gabriel Gambetta's blog and worked through the tutorials available in Unity's UNet. However the tutorials seem to be non-server authoritative and I was wondering if PUN is different?

Are there tutorials for server authoritative multiplayer in PUN?
What about client prediction and reconciliation? Does Photon have these concepts in PUN (or its other products -- which isn't easy to differentiate between them).

Mainly I am looking to make something of a small scale action game like agar.io where instead of you eat stuff you melee/range attack stuff.

I am still new at this and would like something easy to sink my teeth into as I said I am still starting out.

Comments

  • N1warhead
    Options
    PUN Doesn't have Authoritation per-say but there's ways of being creative with it.

    Example, instead of clients controlling all their stuff, you could make it where the clients tell the Master of the room to E.G. - Swing my bat for me. That way if the client is cheating, it wont matter because the master will be controlling his every move.

    Not exactly Authoritative, but it's a way to be creative, however - keep in mind if the master quits when you do whatever, it could drop the packet and never go through.

    Now of course, you could simply do what I've always done... Do server side checks on every important action... Really all you gotta do is store a PHP file on some server, have the whatever (attack script) for example, call the PHP, retrieve the value and make that, the value for the damage, So no matter what that can't be changed. But keep in mind, if your game gets popular, you might want to get a powerful Internet.

    I try not to make a habit of using these PHP calls, because I know my 300 Download 30 upload wouldn't survive very long if my game(s) got popular. So I'd recommend at least a 1 up 1 down internet for a server. This way you can handle massive amounts of data transfer.


    However, you can always opt for Photon Server, but the same still applies for the Internet Speed at least.
    But you can get full Authoritation with Photon Server.
  • SerialWizard
    edited August 2017
    Options
    N1warhead said:

    PUN Doesn't have Authoritation per-say but there's ways of being creative with it...

    Thank you very much for your reply.

    So basically there is no option like in UNet where I can run an instance of the game without a player? UNet had that option and that is what I used as the "server" (which is practically similar to what you've described now).

    My gripe with what you've said is server reconciliation and prediction. In UNet while trying to implement literally I spent days and I only got the movement working while the attack server reconciliation and prediction failed to work with me (probably my fault but there are no tutorials or any guides out there to implement such a thing for a beginner).

    Another thing that I am wondering about now is how in the world 3 MMOs are listed in the showcase of PUN when it doesn't have server authority and doesn't support it?

    Finally, is my only bet Photon Server? Are no "less complicated" and less "sandboxy" options available from Photon? Reason I am asking is that from what I could tell it seems more geared to those that know what they are doing and I am still starting out.

    Are there any good tutorials that could take me step by step through implementing stuff like these? I am not good with learning from pre-existing code and like to have things explained so I can then understand how it was done (logic wise and code wise).
  • N1warhead
    Options
    Honestly, I will not respond to this because I don't want to give you any inaccurate details. I think it would be best for an official to respond further, I don't try to lead people in the wrong direction. Everything I've mentioned is purely my opinion from the knowledge I know, the actual creators should know more what to say that is correct, last thing I want to do is lead astray a potential client for them.

    @Tobias when he gets the chance, should be able to help more with these questions.
    I apologize for any inconveniences I may have caused in confusing you mate. Hope he can help you out more than I.
  • N1warhead said:

    Honestly, I will not respond to this because I don't want to give you any inaccurate details...

    Understandable and I thank you very much for both trying to help and the information you've given so far :).

    I'll wait for answer from the officials and see where it goes.

    Again thank you very much. I do appreciate your assistance :)
  • N1warhead
    Options
    No problem mate. Good luck with your game!