Is it possible to make AI Player for photon cloud games?

I'm currently working on my bachelor project for my graduation.

I just realize that currently the Photon Cloud does not allow any custom server logic.
So that's mean games on Photon Cloud have won't have AI players am I correct?


  • dreamora
    No that is not correct.

    In Photon Unity Network there is the concept of the 'master client', the authorative client (if you allow him to do that) that controls the game and hence can also run AI

    running AI on the server only works for simple things cause there is no world representation to perform AI within a 3D environment for example.

    If you have something that could do AI there, you can alternatively download the Photon server sdk and start the loadbalancing instance and work with its source to integrate your own AI as PUN works with it too
  • Thanks a lot for reply.

    I'm currently study about AI from Angry Bots Photon Demo.

    Do you have any idea where can I get learning resource about creating AI in Photon Cloud?
  • dreamora
    Inside the cloud you couldn't create one.

    If you do it in the master server, you would look over on the unity side for said resources.
    Question is what you want to achieve. If your target is not to develop an AI then looking at one of the AI middlewares like the AI Behavior recently released on the asset store are a solid way to start. If you want to create something thats part of your paper etc though then going for 'Behave' on the store might be better. Its a free Behavior Tree editor that integrates into unity.

    If you want to host your own server and use LoadBalancing then it will be much harder. I am not aware of any resource for Photon on that end, though on the coding side etc it is all C# so any AI in C# resource or even AI in C++ to a fair degree will apply. The only real effort then is the hooking in as Photon is no 'continously running environment with a main loop' - but through scheduling calls you can get what AI needs in a much more efficient way anyway :)