Search Unity

Third Party LEGION and Photon

Discussion in 'Multiplayer' started by kroll, Feb 27, 2011.

  1. kroll

    kroll

    Joined:
    Jun 11, 2007
    Posts:
    17
    Unity Studios and Exit Games are Partnering to Bring the Market’s Best Tool-Set for Massive Multiplayer Online Game Development with Unity

    Portland, OR – Feb XXX, 2011 – Exit Games, the leading provider of network engines and Unity Studios, sister company of the leading 3D platform provider Unity, today announced a partnership to introduce the perfect product tandem for MMO game development with Unity: Legion and Photon.

    Legion provides a powerful MMOG development framework for Unity developers, which is perfectly complemented by Exit Games Photon. Legion will provide an extension of the Unity editor, and seamlessly integrate easy-to-use MMO development tools with the existing Unity work-flow. With Legion the developer can concentrate on making great games, and let Legion deal with the complicated build processes and maintenance of MMO servers, client code, and logic behaviors.

    Photon is a fast, reliable and powerful socket server and high-performance network engine for multiple gaming platforms. Photon is built on native C/C++ and features Reliable UDP for ultimate speed and performance while custom server code is written in .NET/C# which makes it an ideal choice for Unity-based development.

    Legion and Photon together form the market’s most powerful and easy to use combination for MMOG development with Unity.

    Lars Kroll Kristensen, Technical Director of Unity Studios states “Having researched the market for MMO packages, I found that Photon from Exit games was the perfect match for Legion, and that these two in tandem provide the best possible tools for MMO development with Unity.”

    “Building an MMOG is a tough challenge and developers should choose their tools carefully. Legion from Unity Studios plus Exit Games Photon is an ideal combination and the most powerful tool-set one can find to build stunning MMOGs,” says Christof Wegmann, CEO and Founder of Exit Games.

    Developers interested in implementing Legion and Photon in their Unity-enabled games can contact Unity studios at legion@unity-studios.com or legion@exitgames.com.

    Exit Games Photon Free licenses for Unity, iOS, Android, Flash, Silverlight and other platforms can be downloaded at http://shop.exitgames.com.

    About Unity Studios:

    Unity Studios is dedicated to Unity development, and is one of the most experienced Unity developers in the world. Unity Studios provides professional consulting services for Unity developers and publishers around the world. Services span from training and assisting other teams in developing their projects, to full-scale design and development of original games/ projects.

    The future vision of Unity Studios is to continue to develop the highest quality Unity games, tools and content, and to remain a world-leading expert of Unity and provider of pro consulting services.

    Unity Studios was founded in 2008 by OTEE Holding Aps in Århus, Denmark. For more information, please visit the company website: www.unity-studios.com.

    About Exit Games:

    Exit Games is the leading provider of network engines for the development of online games on multiple platforms. Exit Games' high performance socket server, Photon, allows developers to easily implement realtime features into games or applications for browsers, personal computers, Macs or mobile devices including the iPad, iPhone and Android.

    Exit Games products are used by leading entertainment industry customers such as Bigpoint, Walt Disney, Square Enix, Taito, Konami, World Golf Tour and E! Entertainment to create online, social and community-based games and applications.

    Exit Games was founded in 2003 with venture capital funding and is headquartered in Hamburg, Germany, with an office in Portland, Oregon, USA. For more information, please visit the company website: www.exitgames.com.
     
  2. kroll

    kroll

    Joined:
    Jun 11, 2007
    Posts:
    17
    ...and, by the way: swing by on GDC, and look up either exit games or Unity studios stands for a quick demo of the prototype of LEGION.
     
  3. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,307
    This sounds pretty awesome ... is there and product page of what Legion exactly is? This is a good start:

    ... but some more info would be great!
     
  4. sebako

    sebako

    Joined:
    Jun 27, 2009
    Posts:
    301
    Sounds great, but some info of the frameworks contents would be awesome.
    Keeping an eye on it.
     
  5. duke

    duke

    Joined:
    Jan 10, 2007
    Posts:
    763
    Love it. Awesome. Seriously my nipples are rock solid.
     
  6. LucasDaltro

    LucasDaltro

    Joined:
    Oct 31, 2010
    Posts:
    236
    Will be free or paid?
     
  7. duke

    duke

    Joined:
    Jan 10, 2007
    Posts:
    763
    I can't imagine how or why it would be free.

    I'd love to see a feature list that includes something along the lines of:

    - Allows easy modularity, so you can swap out data providers (ie. SQL, MySQL, RavenDB) with your own. It would come with default modules.
    - Use of best-practices such as dependency injection (relates to above), seperation-of-concerns, etc.
    - Testing support.
    - Different world structures - instanced zones (wow), streaming tiles (eve, swg), etc.
    - A sample game, preferably involving zombies.
     
    Last edited: Mar 2, 2011
  8. Xeevis

    Xeevis

    Joined:
    Feb 10, 2011
    Posts:
    2
    Well for one you need Photon licence to run it. Second creating free frameworks opens up doors for lots of potential customers and indie developers who just can't afford to pay initial investment and who will need paid support which often really exceeds initial payment revenue. I know several examples where companies moved from commercial model to opensource with paid support and raised revenue by roughly 400%. With free model there is bigger community, more "hush" around it and round and round there's no suprise that open platforms are far above with quality, support and revenue than similar commercial products. Aiming for money is contra-productive, if you aim for customers you gain a lot more.
     
  9. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    So does something that costs $30k / title license as $0 budget teams don't create anything stunning anyway that would promote the framework or the involved technology, difference is just that $30k per title in addition pays for someone to work on it

    But I guess it might much more likely be released as a percentage share based model removing the photon license costs, instead of a fixed price as it would also require continous support from both involved sides not 1 shot and done and its rather standard for MMO technology to be share based
     
    Last edited: Mar 13, 2011
  10. zumwalt

    zumwalt

    Joined:
    Apr 18, 2007
    Posts:
    2,287
    My one and only question, did UT allow Photon to be started before / or after the game loop.
    As in, with this new setup, is Photon starting up natively like RakNet does or are we still limited to starting Photon inside Unity via script block.
     
  11. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    Where does it state that photon will be started or used in Unity at all?
    it can just as well be a Cell processor alike setup with Photon main nodes and unity based simulation nodes or actually a special version of unity that runs within photon.
    These two scenarios make significantly more sense than "unity startup photon" as photon is multithreaded and unity isn't as such unity would be a very bad solution for the "controlling host application" on the backside, as photon can scale to 10-100 more users than the unity client controlling it by your setup.

    To me it sounds like it might most likely be a special version for simulation needs on photon, the editor extension (ie export data in a form thats usable to this special version) points towards it and make most sense - users and exit games already previously attempted to get there with unity running inside photon or at worst side by side to it as simulation node.
     
  12. zumwalt

    zumwalt

    Joined:
    Apr 18, 2007
    Posts:
    2,287
    You misunderstand the question, as it stands, the client has to start any communication to the server after the client has already started up, meaning a code block on a game object that sits in the stack at a random location. What I am asking, like RakNet client start, is there a way to call a photon connect in Unity with a Photon client array started prior to the Unity client starting. Let me know if I need to draw a picture.
     
  13. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    I don't think we missunderstand each other, but you are assuming that photon will get hard integrated, where as I am pretty sure that it won't be working like this.

    I know that you experimented with Photon in the past too, so you likely know that it uses System.Net, which is fired up if you tell the PhotonPeer (or extended) to connect, all controlled by MonoBehaviours, not unity engine code at all like raknet etc and that the server is a totally distinct process so nothing fired up by unity either.

    I don't assume that either of the two is going to change, but that there will be significant work to expand upon this barebone construct as layed out today with the MMO Example and Photon support in Unity, so an MMO Middleware extension on top of Unity and Photon.

    A hard integration would mean that unity gets 2 totally distinct clients to build for every single platform aside of XBox 360, which supports legion cause the unity networking etc would fly out in such an environment likely etc etc, unsure if that is reasonable to expect as its no longer 1 technology then if you get 2 distinct project types per platform target, MMO or not MMO
     
  14. KEMBL

    KEMBL

    Joined:
    Apr 16, 2009
    Posts:
    181
    I think that Legion will be replacing for Unity Networking, which connects it to Photon. May be old Networking approach will stay for compatibility. We develop client-server application which use Photon/Unity link and this all not the problem, but low level processes of link between Unity clients through Photon server need much mind power :) After several month of work, you still far from work with GAME logic :) And all this work invented not much, as a new bike :) I think if Legion will solve half of not Game logics problems, this will be the real thing.
     
  15. duke

    duke

    Joined:
    Jan 10, 2007
    Posts:
    763
    You think or you know? Replacing Unity's networking with an mmo framework would be daft to say the least. Also I agree with Dreamora - if you look at the exitgames samples, they tend to do things in a framework-agnostic way, which is awesome. In fact, it would be a lot harder to cater to Unity alone given that Photon receives and deals with things in a generic way ie. it doesn't use Unity's Vector3.
     
  16. KEMBL

    KEMBL

    Joined:
    Apr 16, 2009
    Posts:
    181
    I only think, I do not real know it :) At my side of view, if they create some new classes which works with Network, so this is the part of Unity Networking framework. Why does need to make new entity, while well working system exists? I think needs to expand exists classes for give them ability to work with Photon server side.
     
  17. kroll

    kroll

    Joined:
    Jun 11, 2007
    Posts:
    17
    Let me expand a little on how Legion works, what it does, and how it integrates with Photon:

    Legion is first and foremost an (M)MO development extension of Unity. It is designed specifically to aid developers making client / server applications more quickly. Even more specifically, client / server applications where the server is authoritative, i.e. where the server side part of conceptual objects controls the client side part of the same conceptual object.

    It is by no means a replacement for RakNet, nor the current networking model in Unity.

    Legion assumes a situation in which the developers need to host a dedicated server for their game, which clients then connect to.

    Legion uses Photon primarily as a networking engine, allowing the Legion area server (a headless unity application) to connect to the photon networking server as a "special" client, typically over the backplane /LAN on the server cluster. Clients of course connect over the internet. As such, much of the communication scalability is left to Photon, while what Legion brings to the table is simply a much easier development framework. Legion thus provides facilities for developing the area server (so, the serverside world simulation) and the client in a tightly integrated manner.

    Imagine as an example an orc in a game: This orc will have both client side and server side code dictating its behaviour. On the serverside, some AI code will cause the orc to patrol around in the gameworld, trigger boxes and corresponding events will be raised when other entities appraoch the orc, perhaps prompting it to attack. On the client side, the orc will move around as dictated by updates from the gameserver, and will, when attacking, play attack animations, spawn particle effects etc.
    Much of this behaviour is gameplay behaviour that should ideally be easy to code, and it is this situation Legion facilitates.

    In the traditional model, you would have to code the client and server behaviour separately, in separate classes on separate prefabs. You would explicitly have to manage identities of the server and client versions of the object, and explicitly send updates from server to client to synchronize. With some frameworks (e.g. smartfox) you might even have to write the servercode in a completely different framework or language. You might have one coder doing the server side, and another doing the client side code of the same conceptual object.

    In Legion, you code both server and client code in the same framework, even in the same script. Legion automatically splits out server and client code into separate builds, and automates the correct connections between the correct objects. Legion also allows the dev to make his or her changes to code, and simply press play to immediately preview, in-editor, the effects on both client and server behaviour.

    Basically: With Legion, we want to add a little bit more ease of use and rapid prototyping to the developer, to try and make multiplayer development as easy as normal unity development.

    Legion is not yet ready for general consumption, nor will it be a fully fledged MMO development toolkit for quite a while ahead, but we're getting close to having a multiplayer framework that IS usable for general consumption. Stay tuned.
     
  18. 2dfxman1

    2dfxman1

    Joined:
    Oct 6, 2010
    Posts:
    1,065
    Does that mean if someone decompiles my game, they pretty much get the server too?
     
  19. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,307
    If I understand this correctly:

    Then "no", it seems like Legion is doing this automatically for you (emphasis was added).

    But even if it doesn't, it also doesn't matter much because it's fairly easy to add conditional compilation so that non of the "secret server sauce" gets included in the client builds (that's in fact what I'm doing already with "plain vanilla Unity" and it works really well).
     
  20. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,307
    Ok, now you really got me interested!

    This sounds very much like what I'm planning to do for Traces of Illumination when moving from Unity's networking to Photon (see also: Porting Unity Networking to Photon). So I guess that means that this approach will really work. Nice :)

    Are you going to provide anything that will help porting a game based on Unity's networking to this approach? That would be cool ... but even if not this could be tremendously useful! The complexity of having two environments to build is one of the things that made me wait with porting ... but I guess this won't run natively on Mac, or will it? I might have to end up putting my server development into a virtual machine in any case once I start porting to Photon-based networking ...

    Oh ... and I hope you do plan on having multiple "Legion area servers", don't you? For Traces of Illumination, I'll certainly need a few "area servers" connected to a single Photon server for scaling (it's kind of "instanced" so there will be no need for communication between the servers and also no need for one player to deal with multiple area servers at the same time).

    Is there some sort of beta available? ... and any info on pricing? This could really save me a lot of work if done right :)

    Am I right to assume that since Photon works with iOS and Android, this will also work with iOS and Android?

    Me needs ... gief ... plz! :cool:

    Oh, and btw: Please make sure that "Case 390845 - WaitForEndOfFrame broken in batchmode" is fixed - since Unity 3.2, I can't run my game server headless at all anymore because it stops whenever it encounters yield return WaitForEndOfFrame ... up until 3.2 this worked fine ;-)
     
  21. MikeHergaarden

    MikeHergaarden

    Joined:
    Mar 9, 2008
    Posts:
    1,027
    I'm also very curious about beta/release and price information. Keep us posted please :).
     
  22. 3KyNoX

    3KyNoX

    Joined:
    Apr 7, 2011
    Posts:
    35
    Sounds Good. Waiting for release too :)

    I did not find any informations about Legion, someone got links ?
     
  23. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    There are no informations yet.
    As it was just recently started as it seems, I wouldn't suspect any production usable version (beta) before Q3 2011 if in 2011 at all and as such no further information on it till summer or Unite either as UT does not hype ware undefined stuff or at least not that regularly as it failed nearly every single time in the past (we still wait for the 2D system that was meant to come to Unity iOS / Unity on 3.0 for example)
     
    Last edited: Apr 8, 2011
  24. KEMBL

    KEMBL

    Joined:
    Apr 16, 2009
    Posts:
    181
    And new GUI too :) and so on, remember how long past between 2.6 announcing and releasing.
     
  25. Ashkan_gc

    Ashkan_gc

    Joined:
    Aug 12, 2009
    Posts:
    1,124
    thank you for the update kroll! most of the things are like what expected. it's an MMO middleware like others. with load balancing on server and ... but weather we write the client/server code in one class or in seporate ones, we should write them differently unless you want to really use meta programming to parse all of our code and remove all animation api calls or create some attributes for us to mark parts of the code that they should be on server so it's a big improvement but by no means we will not be able to write one code for both server and client. we tried many other MMO systems before and some of them are testable without NDAs and all of them have this seporation of client/server code.

    i agree that coding the server side of thing in another language/platform is really hard specially for small teams which are common in unity community! hopefully the development of MMOGs or at least social games will be democratised with help of legion and unity just like what happened to game development with unity!
     
  26. 3KyNoX

    3KyNoX

    Joined:
    Apr 7, 2011
    Posts:
    35
    Did you read correctly ?

    Legion will be the Framework for coding client side.

    Photon is the server side MMO system who is already existing.
     
  27. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,307
    Actually no - that much we do know: One thing that Legion is is a way to code client and server in the same project. Photon handles the networking part but Legion allows you to have headless Unity game servers handle some of the logic. So those game servers will likely do some of the heavy lifting game logic-wise in the background while Photon does some of the heavy lifting networking-wise.

    Another thing that Legion will seemingly do for you is handle the builds, in particular to make sure the secret server sauce won't end up in your distributed clients (where it's also not needed). I doubt this will happen fully automatically as some people might expect ... more likely is that they'll either provide some APIs which will make it obvious to the framework what should go where ... or simply go with conditional compilation.
     
  28. 3KyNoX

    3KyNoX

    Joined:
    Apr 7, 2011
    Posts:
    35
    Any News about Legion Framework UNITY3D Team ?

    Tks.
     
  29. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    Unity Technologies has nothing to do with it, it was a unity studios project