PUN Asynchronous Turn-based Game?

Hello,

I'm new to Photon. I have a Unity project that I would like to turn into an asynchronous turn-based game. This topic has been addressed numerous times in the documentation and in these forums and I've done my best to process it all.

I think my question boils down to... is it possible to make an asynchronous turn-based game (like Words with Friends) in Unity using PUN? Or is Realtime a better option, even though I'm using Unity?

I've found this article, but it seems to assume one is using Realtime:
https://doc.photonengine.com/en-us/realtime/current/tutorials/async-and-turnbased

There are several links in the above article, including the Room Persistence Guide, which also appears to be using Realtime (I think):
https://doc.photonengine.com/en-us/realtime/current/tutorials/persistence-guide

And the Webhooks guide:
https://doc.photonengine.com/en-us/realtime/current/gameplay/web-extensions/webhooks

When I use webhooks in my dashboard, it suggests I upgrade to v1.2 since the current version is about to be deprecated, and refers me to here:
https://doc.photonengine.com/en-us/realtime/current/gameplay/web-extensions/webhooks-v1-2

So is Webhooks v1.2 the version I should use?

I also found this in the FAQ:
https://doc.photonengine.com/en-us/realtime/current/troubleshooting/faq#what_is_the_difference_between_photon_realtime_and_pun_

which seems to imply that PUN may not be sufficient for persisting room states for an asynchronous-type game.

It then links to this article, but this article is for PUN v1:
https://doc.photonengine.com/en-us/pun/v1/demos-and-tutorials/package-demos/rockpaperscissors-demo#do_s_and_don_ts

If I try the PUN v2 link at the top of that article, it takes me to a page that lists demos, but none of them are turn-based demos.

Some of the pages I've found also mention an "isPersistent" option that can be turned on in the Dashboard, like this one:
https://forum.photonengine.com/discussion/comment/29851/#Comment_29851

But I haven't been able to find that option in my Dashboard for either a PUN or a Realtime application. Does it still exist? Perhaps I'm just looking in the wrong place.

I've searched through the forums and have found numerous threads, but many of them are 5-10 years old at this point, so I'm unsure if they are current. I did find this one from a few days ago, which I've already replied to:
https://forum.photonengine.com/discussion/comment/52143

and in that thread there's a post from Tobias that mentions PUN may not be the best way to go.

I've also seem some mention in the forums of a "Photon Turnbased" but I read in a Unity forum that this probably doesn't exist any more, if it ever did...?

Could someone offer any guidance or point me to some (current) online resources that will help me get started making a turn-based asynchronous game in Unity? Thank you!

Comments

  • JohnTube
    JohnTube ✭✭✭✭✭
    Hi @skrilmps,

    Thank you for choosing Photon!

    Sorry things are confusing and not clear.

    You can use PUN 2 for asynchronous or turn-based games like Words with Friends.
    PUN 2 comes with Photon Realtime for Unity included since PUN 2 is built on top of it.

    PUN 2 adds wrappers around Photon Realtime AND extra features, mainly PhotonView related ones (Instantiation, RPC, view serialization, etc.).
    So you could use PUN 2's PhotonNetwork class to call Photon Realtime features only (mainly RaiseEvent, SetCustomProperties) and avoid PhotonView.

    Photon Turnbased is a deprecated product: it was exactly 100% identical Photon Realtime but with a lower pricing.
    IsPersistent is a WebHooks settings.
    WebHooks 1.2 is the version to use yes, in fact, I think we should remove the older version and any documentation or reference to it.

    TurnBased demo (a.k.a. RockPaperScissors) from PUN Classic (PUN 1) did not make it to PUN 2 (we should probably port it someday) but the foundations are there (PunTurnManager, etc.).