Photon Questions

edited November 2010 in Photon Server
Hello all, I hope that this won't seem like a repetitive post; as I am sure that I may ask something that's obvious.

I am new to Unity and Photon, but I do have experience with C++ client/server technology. There are many documents and examples that I have played around with and looked through, but some things still don't "click" for me yet. I will list my questions as cleanly, and straight to the point, as I possibly can.

A) In multiple examples for the client side implementation, there appear to be two different methods. One is a .dll and the other uses 3 prefabs.
TheQuestion->Which is the most up to date method that I should place my focus on learning?

B) The examples included in the .zip files work great, but there seems to be something that I am missing when I try to re-create scenes (or add Photon to an existing game). I simply can not get it to spawn an identical replica of the playerModel for the simulated other-Player. (Also, under the 3 prefab version it spawns a cylinder? Any time I change that (in the mmoscript), to attempt to load a modelPrefab (just an example name), it just wont load anything.)
TheQuestion->Is there any tutorials that I may have missed, that would simplify this issue? The documentation isn't fully clear, as the main document states to look at the examples, when the examples don't appear to be clear either (lol).

C) I am under the impression that Photon is a customizable server-side program.
TheQuestion->Is it customizable to the point where I can program in my own functions to query/update/replace (ect) from MySQL, or whatever else I can think of? Or is there limitability to program in custom functions?

Thank you all for reading.


  • I can answer C) Yes, it's fully customizable.
    My unity experience is too limited to give a good answer for A and B.
    Just a small note to B) I successfully replaced the cylinder with a cube to show the rotation sync (run two unity island clients to see this), but that's pretty much where my unity skills end.
  • Thank you Boris, for the response. I am excited now, because of your answer! ;)

    Now, if I could only figure out the other two; haha.

    I am sure I will get it, eventually. I always hate learning new software, because I have to beat in the new knowledge.

    At least I know now, that I found the software that I was looking for. (The question C.) It's just too bad that I can't plug in information, to learn, like in the Matrix's loading program (lol).
  • To elaborate on my question B:

    The .dll is pretty straight forward to implement into a scene where the camera is stationary (just as the examples show), but I have not figured out how to apply the same technique to a First Person or 3rd Person perspective. (This would lead me to believe that the .dll version is more for 2D-like games?) If I apply the usePhoton script to anything, then add a camera to the playerModel (that the usePhoton script spawns) it creates issues; such as too many simulations are being spawned.

    ...still trying different things though.
  • So far, we did not make very Unity centric examples, which means: we use Photon in it's raw form and then have a little Unity on top to visualize the flow of calls. So they don't explain very well how you would do something explicitly in Unity, compared to any other platform.
    So for learning Unity, our samples are bad. To make the demo with the cylinders more useful and actually get a game out of it, you would need to learn Unity and then make use of the flow and events Photon provides.

    To your question a)
    Both are valid approaches! They are just different flavors and it depends on personal preference and maybe project-side. If your project gets bigger, programming more might be an option and then using a dll might make sense. It "hides" sourcecode from "inside Unity" but cleans up an otherwise cluttered list of classes.
    You could start small and inside Unity without a dll.

    To b)
    Really hard to tell whats missing.
    As said above: if you learn Unity itself and understand Photon, you can use Photon as vehicle for Unity and just send events. Maybe you start with the Demo Realtime, which just sends positions. From there on, you could extend these positions to include rotation. Then you will be able to send just about anything you need to know for instancing the same object on all clients.
  • Thank you both for your responses. Customer service here seems great, even for a potential customer.

    I will continue to experiment with the .dll because I think that it may work better for my project. Maybe I simply need to write my own usePhoton file, for use with Unity.

    Thanks again!
  • GRIM2594
    edited November 2010
    After spending many more hours on reading information and trying to get Photon to work with Unity, there is simply no desired results being accomplished. The last version of SDK that works with the 3 prefab MMO example is v1-6-2. This seems pretty out of date, compared to the features that is with the .dll version. The only example with the .dll version is a 2D-type game with what appears to be an authoritive control system for tracking movement, that adds +1 increment each time you hit a movement key.(?)

    I would really like to know how others are accomplishing this feat. I am pretty sick of playing ping pong, as the ball; being beat back and forth between the two versions of software for Photon, trying to figure out which one I can make work. (lol) Both examples of the software seem to have dead-ends somewhere, forcing me to go back to try to figure the other one out.

    Is there no one with experience (with Unity3D) on this topic? I would really like to get past this stage of development.

    I hope that I don't sound like I am whining, by any means, but when there is a lack of "how-to" there really is no other option except to ask others.
  • I guess you by error uses the island demo example which indeed is for Photon 1.x only, there is no 2.x version of it.

    There are new examples which you should indeed use to work with Photon 2.x
  • Thank you for your reply, dreamora. Would you be so kind as to point out any examples that you may be talking about? The only examples that I have found and tested, are located on the downloads page; which is what my topic is about. The newer version, that uses the .dll, samples seem to be based on a single view platform (stationary camera).