Photon: Is it The One?

Jax
Jax
edited November 2010 in Photon Server
Hello all,

I've been tasked with sizing up several networking frameworks, and I've already checked out and (tenatively) crossed off SFSX2, Electrotank and a few of the more "turnkey" solutions. Photon is the last on my list and so I'm hoping the old phrase rings true.

Looking through the documentation, website and forums there's lots of mention of features but not always a lot of the details I'm being asked about - though I am very impressed with the shiny marketing. So I have a few questions to kick off with...

1. What's the real-world minimum spec for a Photon server? Not just on paper...

2. How quickly does RAM become an issue with Photon?

3. Does anyone have any good/bad experiences with using Photon with cloud-based development (if not production hosting)? AWS? Rackspace? (just noticed the front-page EC2 announcement...more on that in 6.)

4. All I know about Load Balancing is that it involves balancing loads. Will we be happy or sad with Photon when it comes to balancing our loads?

5. As I understand it, Photon's client- and server-side interface is C#, and there's access to the core in C++ if you need it... has anyone had experiences implementing, say, a python or lua driven backend? Are there any hurdles or reasons why it's impossible/a bad idea (aside from performance)?

Now, I ask about python/lua backends/layers because we have a big thing about putting gameplay into the hands of designers... C# is very close to that, unlike Java (one of the reasons I'm not taking a shine to SFSX2 et al), so it's not a huge issue but it would be a real bonus if we can make use of existing knack.

6. I keep seeing mention of Power Ups, like the EC2 Cloud Power-Up, but can't seem to find any further details. Are there more? Is there a list? Where are they (they're not on the download page or in the v2-2-2 directories)?

You can probably tell I'm not enormously network-server-savvy, and I'm having to group together and interpret queries from even less network-savvy people in the company, thus some of my questions may appear a bit dim - don't be afraid to say so; I'll gladly pass along the sentiment :)

I think that's enough for starters!

Cheers!

Comments

  • Jax wrote:
    1. What's the real-world minimum spec for a Photon server? Not just on paper...
    depends on how many clients you want to support, how much traffic you expect and on how much lag your game can handle.
    I ran photon on the smallest available amazon ec2 micro instance, that's fine if there aren't many concurrent users doing a lot.
    Jax wrote:
    2. How quickly does RAM become an issue with Photon?
    depends on the configuration you choose and on your business logic.
    RAM usage got improved a lot in the last few iterations.
    Jax wrote:
    3. Does anyone have any good/bad experiences with using Photon with cloud-based development (if not production hosting)? AWS? Rackspace? (just noticed the front-page EC2 announcement...more on that in 6.)
    AWS: medium high CPU instances seem to be the best value for the money at the moment. The extra large high CPU instance should offer 4 times the performance in theory, but there is something odd going on with the virtualization so that you get just twice the performance (this is NOT a photon bottle neck as it doesn't happen on none-virtualized machines) which makes it twice as expensive.
    Photon does not run on other cloud solutions yet.
    Jax wrote:
    4. All I know about Load Balancing is that it involves balancing loads. Will we be happy or sad with Photon when it comes to balancing our loads?
    You can't just put a load balancer in front of photon like you would with static web sites.
    If you use the Lite approach (rooms) you can host every game on a different server.
    We are currently working on a lobby server that supports such a game distribution out of the box.
    The lobby server itself still isn't load balanced, so you might want to add more load balancing ideas here.
    If you go with a mmo approach you can host different areas of your world on different servers, but I'm not sure if anyone has done this so far.
    Jax wrote:
    5. As I understand it, Photon's client- and server-side interface is C#, and there's access to the core in C++ if you need it... has anyone had experiences implementing, say, a python or lua driven backend? Are there any hurdles or reasons why it's impossible/a bad idea (aside from performance)?
    Someone posted how to run iron python: viewtopic.php?f=5&t=83&p=483&hilit=python#p483
    That's within the managed .net environment though.
    I guess you could use any .NET language, but I only know of C# that we actually tested.
    Photon does not support unmanaged C or other languages so far, but we could probably add this feature if you request it.
    Jax wrote:
    6. I keep seeing mention of Power Ups, like the EC2 Cloud Power-Up, but can't seem to find any further details. Are there more? Is there a list? Where are they (they're not on the download page or in the v2-2-2 directories)?
    Not sure where you read this, but there is a public AMI on amazon us west: ami-d4095991 (698036115251/exitgames-photon2.2-32bit-win2008). You can also find it if you search for photon under Community AMIs. Hope that helps.
  • Hi Boris,

    Thanks for the comprehensive reply, much appreciated and very helpful.

    We've had a deeper look through the documentation and API and are pretty happy with what we can see so far. I don't think we'll going to go down the python route in the end - probably better to train our python lovers in C# than shoehorn an intermediary language in there.
    Boris wrote:
    Not sure where you read this, but there is a public AMI on amazon us west: ami-d4095991 (698036115251/exitgames-photon2.2-32bit-win2008). You can also find it if you search for photon under Community AMIs. Hope that helps.

    That would be the USP boxes dotted around the Photon product pages:
    Automatic Cloud Scaling

    To create a robust back-end that even scales for thousands and thousands of concurrent users is a tough challenge. Photon's Cloud Power-Up provides you exactly that for the Amazon EC2 cloud. It's a high professional solution is now available to everyone. All you need is an Amazon account and, of course, Photon.

    Marketing chaps in a different room? ;)

    Thanks again!