Exit Game Photon

http://www.developmag.com/news/31476/Exit-Games-launches-new-multiplayer-engine

“Photon is available for PC, Mac, browsers and mobile platforms, including iPhone and Android. The SDK also supports games written in Flash, J2ME, Brew, .NET languages and Unity3D.”

Any more info on this?

You can request a trial access from them

Was just curious of the benefits are over what Unity is already providing with NetworkViews and RPCs, which work just fine.

Interesting, indeed. Thanks for the link though as this could help me on my project. If anyone has any information/opinions/etc about them, would be helpful.

I can see a few things that possibly make it superior to the networking built into Unity.

  • iPhone support (if you are into that kind of thing)
  • Ability to host in the Amazon Cloud (but I think Unity could do this too…)
  • “Tens of Thousands of Concurrent Users” - This one sounds suspicious to me. Maybe for a turn based game, but can you imagine how long you would need to wait between turns :shock:

I guess it must have something special though, cmune seems to like it. And Paradise Paintball runs very nicely. I couldn’t find anything on their website or blog describing why they chose this product though.

Thats just sales talk. If you can upload a server build of your game and run a unity master server as a service, you’ve got “Ability to host in the Amazon Cloud”. Did that on a previous project.

That’s because we’ve been working like crazy getting ready for GDC :slight_smile:

Photon was our choice for a number of reasons, a few of which are:

  1. It fits really well with Unity, as in, we wrote a C# class to handle server logic for P2P on the client, and just plug in into the server. This means we can abstract away from P2P/Server networking and our networked physics and game sync code. i.e. P2P fails, so you pause the simulation, have a player transfer the world-state to the server, connect everyone to the server, and just keep on playing. (btw. we wrote the network layer to support fallback, it’s not natively built into Photon)

  2. It supports UDP and RUDP and TCP, and is totally abstracted, we just flick a switch. This was one of the main reasons we dropped SFS as an option, as it was too high level (although Thomas tells me this is changing). Photon is made for hardcore real-time solutions, and SFS is more for flash games.

  3. It’s got great potential to scale, and we’re working with Exit Games to support clustering and utilize the “cloud” for dynamic node allocation. Can’t say too much on this right now, as it’s early days.

  4. The guys at Exit Games are really cool. This counted for a lot, and was the reason we went with Unity even when it wasn’t the best product at that time.

Regarding Emils point about hosting in the Cloud, he’s quite right in saying that it’s not super difficult. Paradise Paintballs P2P implementation is being played “in the cloud” right now - I just built an EC2 server running CentOS and that’s it (actually it’s a bit more complicated than that, but not too much).

The ‘cloud’ concept is more about the ability to dynamically scale according to load. We use Amazon S3 and CloudFront for geocaching the Paradise Paintball client - at some point we were having 10-20k downloads a day, and didn’t feel a thing, it was completely seemless. We did find a lot of MasterServer bugs and leaks though. EC2 is great because we just turn servers on and off as required, and now with the Reserved Instance option, it’s something like US$500 a year for a small linux instance.
EDIT: Small EC2 Linux Instance 24h * 365d * US$0.03ph = US$262.80 + 1Yr Reserved Instance US$325 = TOTAL US$587.80 per year.

Anyway, if you’re at GDC you can pop over and take a look at our game running on Photon. The booth 5428/11 in the German Pavilion.

Best regards
Shaun

Hi all,

please have a look at http://blog.exitgames.com for news and at Multiplayer Game Development Made Easy | Photon Engine and Multiplayer Game Development Made Easy | Photon Engine for a general overview of our managed network solution neutron and our realtime networking solution photon, both avaiable for Unity and Unity iPhone among a lot of other platforms.

You can see our realtime demo powered by Photon for Unity and Unity IPhone among other platforms as well as Cmune’s Paradise Paintball using Photon in action this week at the GDC in the German pavillion.

For further questions don’t hesitate to contact me via PM, write a mail at photon[at]exitgames.com or just ask in this thread.

Kind Regards.

Stefan Ludewig
Native and Unity Client Engineer
(Brew, iMac, iPhone, Win32, winMobile)
Exitgames GmbH

no longer valid

We also offer native client libraries in C, C++ and objC as alternative on iPhone and other platforms for developers, who prefer native code over Unity, but our Unity client for iPhone is pure C# (.NET 1.1) and this way completely accesible via C# Script in Unity. You do not need to code any line of objC at all to use it’s full functionality.

But best is of course, to request a trial version and see for yourself.

We just published the Photon site with a trial download: http://photon.exitgames.com/

Have fun, Chris

I am curious about Photon, but I’m not sure where it fits in the spectrum of networking options:

  1. Raw Sockets
  2. Low-level library like Lidgren
  3. Raknet
  4. SmartFox Server / Neutron

My guess is that on this scale, Photon is around 2.5 or 3. Is that about right?

It would be more accurate like this:

SmartFox Basic = Neutron
SmartFox Pro = Neutron + Photon

SmartFox Basic and Neutron are ideal for turn-based games which support a lot of non-game stuff (chats, player profiles, etc).

Photon works on top of Neutron, and that is comparable to SmartFox Pro which is ideal for Real Time games (RTS, FPS, etc).

@Tempest:
On the one hand you can perfectly use Neutron and Photon together in one game like for example Neutron for Matchmaking, Highscores, etc. and Photon for realtime communication like ingame movement data of the player, but on the other hand neither is Photon is a addon to Neutron nor the other way round. Its just fine to use only Neutron or only Photon, if you just need one of them and not both.

@JohnVanVliet:
On the client side you could compare Photon with Lidgren, it is more low level than raknet, to give you more flexibility. But while Lidgren is only for .NET, Photon is (like Neutron) multi-plattform and multi-language:
iPhone, Android, Unity, Win32, .NET, J2ME, BREW and Flash for the plattforms as well as C, C++, objC, C#, Java and Flash for the language so you are not bound to a plattfrom or programming language, if you want to use Photon, but you can choose the plattform and language which suits your game best.
And the best: All plattforms are fully compatible to each other, which means, that all your clients can play against each other.
For example a Unity webplayer on Windows against a Unity Mac OS standalone against a Unity iPhone version against a Flash client against a J2ME mobile phone against a Brew mobile Phone against a native client on Windows against a Native client on iPhone against a .NET Windows Mobile client against an Android phone and so on all in the same match is no problem at all.
Another main advantage over Lidgren is of course, that you get Photon server SDKs from us, too and while all you need for general realtime ingame communication is implemented, you can just easily expand it with your own server logic for specific features of your game.

PS: Welcome onboard Chris, nice to see you here at the unity community :slight_smile:

Kaiserludi:
Thanks for the reply.
Can you elaborate on Photon’s server-side SDK? I can’t find much information on the Exit Games website.

JohnVanVliet:

On the server-side, we created a high performance C++ server application, which takes care about the nitty gritty protocol part for you. It takes care about the clients for you and hosts C# applications that take care of the game logic. This is where you can develop your game.

The SDK offers the interfaces to build on top of that C++ Socket Server and a basic implementation to start your own development. The so called “Lite” application is basic: create or join games, send events to others in that game and leave a game at will. It also sends a complete list of players when someone is joining.

Requests from clients (operations) are handed to the LiteGame-class by Messages. They are lightweight and are handled in-order and one-by-one, so you don’t have to care about multi threading in there.

You can send your own events (new meanings for your messages) with the existing API and could add more functionality as “custom operations” easily.

It’s meant to be simple and understandable, so you should be able to extend it easily.

Best of all: you can check it out for free now. There is no obligation, aside from your contact data to get a trial license.

I hope that gives you some idea about Photon.
Tobias

What platform is the server running?

TobiasS:
Thanks for the extra info.
Photon has made my short list.
I will be checking it out in a few weeks.

Hi.

• Microsoft .NET Framework 3.5 + SP1
• Microsoft Windows Server 2003 or Windows Server 2008
• Recommended: 64 bit

For development Windows Vista and/or Windows XP are fine, of course.

As I can see, my colleague Tobias already fulfilled my wish and answered this one for me and I would not be able to do a better job than him on that question :slight_smile:

@Tobi:
Welcome on board :slight_smile:

Kind regards, Stefan.

Here is a short comparision between Neutron/Photon, Smart Fox Server and Electro Server:

Link