Settings

Theme

Amazon Lumberyard: free AAA game engine with Oculus and AWS integration

aws.amazon.com

441 points by dshankar 10 years ago · 186 comments

Reader

dahart 10 years ago

https://aws.amazon.com/service-terms/

57.10 Acceptable Use; Safety-Critical Systems. Your use of the Lumberyard Materials must comply with the AWS Acceptable Use Policy. The Lumberyard Materials are not intended for use with life-critical or safety-critical systems, such as use in operation of medical equipment, automated transportation systems, autonomous vehicles, aircraft or air traffic control, nuclear facilities, manned spacecraft, or military use in connection with live combat. However, this restriction will not apply in the event of the occurrence (certified by the United States Centers for Disease Control or successor body) of a widespread viral infection transmitted via bites or contact with bodily fluids that causes human corpses to reanimate and seek to consume living human flesh, blood, brain or nerve tissue and is likely to result in the fall of organized civilization.

thenomad 10 years ago

Digging into the details, it seems this is largely a fork or adaption of the CryEngine, with all the advantages and disadvantages that brings.

As I said about Autodesk's offering, Stingray, I think that even a giant like Amazon is going to have an uphill battle bringing a new game engine into mass use. Having been testing game engines just this week, I'm reminded just how much of an ecosystem has built up around Unity in particular - displacing an engine with that is like displacing Wordpress as the dominant blogging engine.

It's early days yet but they've got some serious catching up to do. For example, it appears that 3D assets can only currently be created in Max and Maya (no Blender, no Cinema4d), as rather than using FBX or similar as an interchange format they're using their own custom formats with an exporter. Most other game engines stopped doing that a while ago, for good reason.

Likewise, the level editor is either underdocumented or feature-light. The docs currently just cover creating terrain and vegetation. I assume that the engine has the capability to handle non-outdoor scenes too, but it's not explicitly documented anywhere I can find in a quick look.

There's also no documentation on non-sky lighting, lighting builds, light types, or similar that I can find. There's one mention that the engine supports Global Illumination, but no details as to whether it's realtime or requires a bake process. Searching for "lighting", "lights", or "light" in the documentation returns no results!

Interestingly, there's a full-featured cinematics system, which means it's of considerable interest to me, but that's very much a minority thing.

I wish them luck and I'll certainly be checking it out, having said all that. Another fully open-source 3D engine is no bad thing.

  • cies 10 years ago

    > Another fully open-source 3D engine is no bad thing.

    Small correction; it is not open source: https://aws.amazon.com/lumberyard/faq/#Licensing

    • beefsack 10 years ago

      It is open source, but it's not FOSS.

      • cies 10 years ago

        From their FAQ:

        > Q. Is Lumberyard “open source”?

        > No. We make the source code available to enable you to fully customize your game, but your rights are limited by the Lumberyard Service Terms. For example, you may not publicly release the Lumberyard engine source code, or use it to release your own game engine.

        So according to them it's not even "open source".

      • dragonwriter 10 years ago

        That's a contradiction "FOSS" encompasses the software which meets the (nearly-equivalent in practical application) FSF Free Software definition and/or OSI Open Source definition.

        If it is open source software (which this is emphatically and expressly not), it is FOSS.

      • TazeTSchnitzel 10 years ago

        The source is available but it's not "open source", more what Microsoft would call "shared source".

      • beachstartup 10 years ago

        all the magic is in the word 'open', not the word 'source'. the source is available, but it's not open or free.

    • thenomad 10 years ago

      Good point.

    • Tinyyy 10 years ago

      I think your definition of open source is flawed.

      • acdha 10 years ago

        Their own FAQ answer to “Is Lumberyard open source?” starts with “No.”

      • mikeash 10 years ago

        "Open source" generally means not only can you get the source code, but you can use it freely and make your modifications available to others. There's some wiggle room for exactly what qualifies there, but Amazon's terms are pretty far from any gray areas.

      • cwyers 10 years ago

        No, you're confusing open source and source available.

      • icebraining 10 years ago

        Blame the Open Source Initiative :)

  • patates 10 years ago

    So this was the secret deal which, according to rumors, saved Crytek. This is the second fork of the CryEngine that I know of (other is the Farcry fork of Ubisoft), and I find it interesting that they keep forking it instead of offering a library designed to work with it. I wonder if it says something about the codebase.

    • wlesieutre 10 years ago

      Another major engine fork is for Star Citizen / Squadron 42.

      They've hired several ex-Crytek engineers at the Foundry 42 office in Frankfurt, and among other changes have modified the engine to support a 64 bit data in coordinate system and rendering, multithreaded physics, and independent physics grids for inside the larger ships while they're moving around. Probably other things, but those are the main ones.

      • wlesieutre 10 years ago

        This sort of thing is actually pretty common in games; you end up doing some engine customization to fit your needs, and eventually you have to say "We've diverged too far to try and keep following the main updates anymore," and you stick with a customized version of an old release.

        Nearly every AAA game is going to fit into that pattern, it's just that the 64 bit coordinates overhaul in Star Citizen is probably a larger and lower level architectural change than what most things bother with.

    • sangnoir 10 years ago

      > I wonder if it says something about the codebase.

      Well, this is Amazon we are talking about - they like dancing to the beat of their own drum. They also forked Android.

    • Slippery_John 10 years ago

      Well, the meaty bits that make Amazon money are all separated out into a service called GameLift and the C++ SDK.

  • agentultra 10 years ago

    I don't think we're done making game engines. We're not done making blogging engines. Wordpress may be one of the largest incumbents but it's not the dominant platform and there are plenty of competing alternatives along every axis. Unity may be one of the current incumbents but it's not the best engine and won't be the last.

    More competition is good. It means Unity won't be able to stand still and we'll get to see more features and interesting ideas. Cloud + Twitch integration? Pretty cool!

    • thenomad 10 years ago

      Oh, definitely not. We aren't at The Last Game Engine by a long way - but currently it's an uphill battle to introduce a new one, and I'm dubious this engine is differentiated enough to succeed.

      There might be a lot of competing blogging engines, but there's only really about 3 that have any significant market share, and you can explain why each of them are has at least one radically superior feature to Wordpress in about a sentence and a half.

  • keyle 10 years ago

    Shame about the 3D format supports. :(

    • vilya 10 years ago

      They do seem to have some Alembic support: they ship the libraries as part of the engine download, in their 3rdParty folder.

      Alembic is an open 3D file format supported by pretty much all the major 3D modellers these days - including Blender, Modo, Houdini, Cinema4D and plenty of others besides the Autodesk tools.

      • thenomad 10 years ago

        Oh, really? Now THAT is interesting.

        Neither Unity nor Unreal currently support Alembic - this is the first indication I've had that the Amazon engine might have some features the others don't.

        Thanks!

    • douche 10 years ago

      Seems like they could throw in Assimp[1] and have most of the common formats out-of-the-box.

      [1] https://github.com/assimp/assimp

      • vilya 10 years ago

        I've never been able to get Assimp to successfully load anything other than .obj format models, despite what they claim in their docs. Last time I tried was about two years ago though, so maybe it's improved since then.

        • douche 10 years ago

          I've used the .NET wrapper to load up quite a few different model formats. Sometimes it takes a little fiddling to get the right set of flags, because it seems like every model is setup just a little differently...

      • thenomad 10 years ago

        Huh, that's a very nice library I'd not seen before! Thanks.

    • markatkinson 10 years ago

      Yea, which is a shame for them, as lots of the smaller shops starting out and actually deciding which game engine to use are likely to be starting with something like Blender. I don't even think 3DS Max exists anymore? Isn't it just Maya now?

      • iheartmemcache 10 years ago

        3DS Max definitely exists. Autodesk is still supporting them, and not as a 'oh this is just an auxiliary side project'. The breakdown (oversimplified) is Maya is more for complicated models used in animation/CGI (MEL scripting is their 'killer' tool that puts it ahead of Max), while things like architectural and game models are mostly done in 3DS Max (but theres a lot of overlay between the two, i.e., I've seen tons of work done in game modelling on Maya LT).

        Speaking of which, Maya LT is not that badly priced for what you get - I have no animation ability but I've seen my friends do some incredible things with it. If you're artistically inclined, have a play. Regardless, the lack of Blender support makes me sad.

        • shinymark 10 years ago

          All game studios I have worked at have used Maya. I do know of some that use Max but it's definitely not the case that Maya is only used outside of games.

          As a side note, Maya added Python as a scripting language a while back. You can also write plugins in C++, which can be a nice way to write custom exporter code sharing engine code files for file formats and such.

        • thenomad 10 years ago

          Hmm, interesting question whether the exporter supports Maya LT. I'd guess it does, and it's cheap (ish).

      • wildpeaks 10 years ago

        3dsmax definitely still exist, although I wish Autodesk learned cloud pricing from Adobe because 240€ a month just for 3dsmax is way way too much, especially compared with Creative Cloud which is barely 60€ yet contains almost all their softwares.

      • thenomad 10 years ago

        Yup, Max still exists. I have it open on my desktop right now :)

ascorbic 10 years ago

Note that it's "free, including all source code", but definitively not open source. https://aws.amazon.com/lumberyard/faq/#Licensing

  • jo909 10 years ago

    Also note that you can not use other cloud platforms for your games backend. While I understand their position, I consider that a deal breaker.

      Q. Can my game use an alternate web service instead of AWS?
    
      No. If your game servers use a non-AWS alternate web service,
      we obviously don’t make any money, and it’s more difficult for
      us to support future development of Lumberyard. By “alternate
      web service” we mean any non-AWS web service that is similar 
      to or can act as a replacement for Amazon EC2, Amazon Lambda,
      Amazon DynamoDB, Amazon RDS, Amazon S3, Amazon EBS, Amazon EC2 
      Container Service, or Amazon GameLift. You can use hardware you
      own and operate for your game servers.
    
      Q. Is it okay for me to use my own servers?
    
      Yes. You can use hardware you own and operate for your game.
    • mikeash 10 years ago

      That seems pretty crazy to me. I get that they're using this as a loss leader to promote their services, but it seems to me that they'd do much better if they just made it work great with AWS such that it was the natural choice. If you integrate AWS heavily then people will pick it anyway, but if they think it's their own decision they'll be a lot happier with it.

      • TrevorJ 10 years ago

        Developing a game is such a time and resource intensive process, I don't see any AAA studios locking themselves into using AWS. It's a non-starter.

        • TranquilMarmot 10 years ago

          Definitely agree. You'd be at the mercy of Amazon's AWS pricing for the whole lifecycle of your game. Let's say they suddenly increase the price tenfold... you either shut off your multiplayer (not an option for some games), host it all yourself (which would mean buying servers, paying people to maintain them, changing the game to use a new backend, etc.), or switch to another engine (essentially, recreate your game from scratch)

          • acdha 10 years ago

            You have to weigh these risks against the likelihood of them actually happening. If AWS made a first-ever price increase, yes, you'd then have to consider whether you could beat that pricing by doing it in-house but you have to balance that against the very low odds of it actually happening and the up-front costs of hiring a ton of staff (e.g. just having 24x7 support requires something like 5 people when you factor in leave, vacations, etc.), buying or renting a lot of hardware, developing and getting operational confidence in a complicated software stack, etc.

            That's a LOT of money to spend up front on a gamble that something which has never happened before occurs with so little notice that you wouldn't be able migrate away first. It's hard to see anyone but the major players having enough economy of scale to see positive returns on that investment, much less having enough budget room to where that makes sense rather than spending the same amount of money on something which users actually see.

            That gets to the other reason why this is so unlikely: raising prices in a predatory manner would be a loud message to every AWS customer to find alternatives. Since AWS generates something like 7-8 billion dollars a year that's an enormous amount of money to risk — far greater than any short-term return they'd see.

            • falcolas 10 years ago

              > If AWS made a first-ever price increase

              Actually, AWS does this all the time: for new or growing large scale users they offer a discount on the list price. Once the user is firmly embedded in AWS, they stop offering the discount. This can lead to an effective doubling of the cost of using AWS.

              • acdha 10 years ago

                That's not the same thing because you know in advance exactly which terms you're getting and you can make your decision accordingly.

                • falcolas 10 years ago

                  You don't know when, or even if. It's entirely subjective on how secure Amazon feels in keeping your business.

                  I know of one business where it took 4 years for Amazon to start dropping that hammer. A real killer for any maturing startup.

                  Yes, you could simply budget for the full price and set aside that money, but any smart executive will tell you that money is better invested in the company. Would you be willing to fire 10-20 employees with 1-4 years of tenure because Amazon decided you were tied enough to them to drop your discount?

                  • BatFastard 10 years ago

                    As an AWS user since 2007, I have seen my bill for existing services drop every month. Now they keep on adding great new services, but they are not jacking up the price on anything. Hm.. I want to plan my game, costs for the servers will be going down each year, can I live with that?

                  • abiox 10 years ago

                    i'm not convinced that we're talking about a "smart executive" in this particular scenario.

            • mikeash 10 years ago

              I don't understand what you mean by balancing it against the up-front costs of hiring a ton of staff. The whole point here is that if you're not locked in to AWS (because you don't use their free-with-massive-strings-attached game engine) then you can migrate to some other cloud service if AWS no longer suits you.

              • acdha 10 years ago

                What I was getting at is the need to actually look at those costs rather than just assuming that it's always better to maximize flexibility. Running your own services has a high up front cost because you have to pay people to build, test, and secure everything before you see any return. You can come up with estimates for the various outcomes and how likely each would be but that's a lot more nuanced than this thread had been, particularly with speculation like “What if they suddenly increase the price by an order of magnitude?”.

                The detail which I think techies are particularly prone to forget is that businesses deal with “lock-in” (i.e. contracts) all the time; it has downsides but managing those is routine. In particular, many businesses love to defer up-front costs into a structure where they only need to pay for actual usage.

                • jo909 10 years ago

                  I agree that the large price increase scenario is pretty unlikely, and not what this is about.

                  This is about bundling decisions together that do not need to be bundled. Changing the game engine after the fact is about the hardest thing you can do, virtually impossible after a certain stage. The decision for the engine is necessarily a very very early one.

                  But you can easily and very likely need to improve your backend many many times, even far into the games development or after release. Limiting your options for that so early is very risky.

                  And your are right, that risk could be offset by some large enough benefit you only get with that engine. I just fail to see where that would be. I can still use all of AWS if I choose an independent game engine.

        • outworlder 10 years ago

          But they do lock themselves up all the time, on console deals, on cloud platforms (Azure for Xbox, anyone). Isn't this something a proper contract would solve? We are talking about an AAA studio after all.

  • patates 10 years ago

    Exactly. When people see "free, with source code included", they may tend to think that it is open-source. I hope this answer from their FAQ section clears it:

        Q. Is Lumberyard “open source”?
        No. We make the source code available to enable
        you to fully customize your game, but your rights
        are limited by the Lumberyard Service Terms. For
        example, you may not publicly release the
        Lumberyard engine source code, or use it to
        release your own game engine.
  • eterm 10 years ago

    It also contains built in obselesence:

      57.6 Registration; Release. Before distributing your 
      Lumberyard Project to End Users, you must register it at 
      aws.amazon.com/lumberyard/registration. You must obtain our 
      prior written consent if the initial public or commercial 
      release of your Lumberyard Project is based on a version of 
      the Lumberyard Materials more than 5 years old.
    • ars 10 years ago

      You are reading it wrong. They say you can't start a NEW game using an old version.

      That clause does not require any existing games to be updated.

    • Tepix 10 years ago

      That means if you keep releasing updates for a project for 5 years, you need renewed permission from them, right?

      • jo909 10 years ago

        Updates would clearly not be an "initial public or commercial release of your Lumberyard Project".

        It's about the first version, you just can't sit on your project forever and still use an old version of the engine when you finally go public. I see no harm in that clause.

    • cptskippy 10 years ago

      This is probably a way to limit supporting legacy versions of AWS as they anticipate the service will evolve over time. It also means that any game based on Lumberyard might not work past 5 years without continued developer updates.

  • TranquilMarmot 10 years ago

    Free as in beer

Grue3 10 years ago

The wording is rather strange.

>free AAA game engine

Doesn't being called that require that there are AAA games developed with it? According to wikipedia,

"In the video game industry, AAA (pronounced "triple A") or Triple-A is a classification term used for games with the highest development budgets and levels of promotion or the highest ratings by a consensus of professional reviewers."

So if it's an engine for games with highest development budgets, why would they care about the engine being free? Clearly choosing a free engine is a cost-saving measure, at which point you're no longer making an AAA game by definition.

  • maxsilver 10 years ago

    > Doesn't being called that require that there are AAA games developed with it

    Lumberyard looks like it's mostly CryEngine plus extras, and CryEngine has been used for a number of "triple A" games for a decade now. (including recent titles like Crysis 3, Ryse: Son of Rome, Star Citizen, Evolve, Homefront, State of Decay, etc).

    https://en.wikipedia.org/wiki/List_of_CryEngine_games

  • nacs 10 years ago

    > choosing a free engine is a cost-saving measure, at which point you're no longer making an AAA game by definition

    Not necessarily. 2 of the most popular game engines, Unreal Engine and Unity3d, have very good free offerings now and many AAA games have been made with them.

    You can have multi-million dollar development budgets and only be using "free" engines without issue nowadays.

    • outworlder 10 years ago

      Except that, at that level, it is no longer 'free'. Unity will likely be the Pro version (still peanuts). Unreal will also get a chunk of the pie. It's only free up to a point, which is reasonable.

      • ezzaf 10 years ago

        Just as Lumberyard is only free up to the point you actually deploy it on AWS, at which point Amazon are making money on your hosting.

  • onion2k 10 years ago

    They mean the engine is capable of powering AAA titles (and it is, because it's CryEngine at heart). So users get that level of utility from something that doesn't cost anything.

  • mikeash 10 years ago

    I would understand "AAA game engine" as merely meaning that it is suitable for making AAA games. I don't see why that phrasing would require an existing AAA game developed with it, unless you require an existence proof of its capabilities before you believe it.

  • radiorental 10 years ago

    Devils advocate: An argument could me made that this is a AAA grade engine, referring to it's capabilities not customers. Much like the US Army doesn't necessarily buy all clothing labeled 'Military Spec' or 'Tactical' etc

    • dragonwriter 10 years ago

      "Tactical" label is mostly empty fluff, "milspec" means it meets a published military specification -- which, absent specifying which specification, is also fluff.

      So, if the point of your analogy is that this use of the AAA label is empty fluff, then, mission accomplished.

  • deelowe 10 years ago

    Royalty based models are quickly becoming the norm for even AAA engines. Source 2, Unity, Unreal, and now this version of crytek utilize this model. This pretty much means that the top 4 game engines now have a "free" option.

  • obsurveyor 10 years ago

    It's describing the engine and the games that have been produced with it, not necessarily the games that will be created with it in the future. Crysis 3 was definitely a AAA game.

julius 10 years ago

The big question for me is: Why an entire engine?

If they were just interested in getting developers, to use their cloud services. Wouldn't they simply release plugins for all major engines? And wouldn't Unreal and Unity be much more interesting targets (based on their usage in the industry), than CryEngine?

markatkinson 10 years ago

I got pretty excited and rushed through the article trying to clarify what engine and language it is based on.

Got a little bleak when I saw CryEngine and C++. As someone who uses C# and Java it's becoming pretty clear I need to start learning C++ if I want to explore game dev.

I realize Unity uses C# but when I compare UE, Unity and CryEngine it really feels like Unity still has a long way to go. The features you get out the box with UE for example are far superior to Unity.

Anyway, I just went off topic. It looks like an interesting option for developing multiplayer focused games.

  • jmatthews 10 years ago

    Trust me when I say they all lack a fully polished end to end solution when it comes to authoring modern games.

    Depending on the graphical fidelity you're chasing Unity is probably the most polished of the 3 majors.

    UE4 is a great tool but has a slower development cycle.

    CryEngine is almost broken unless you're willing to do a deep dive in the source.

    If by "explore game dev" you mean, "make games" Unity or UE4 will serve you well. UE4 has a nexus of great artists using the tool so recruiting artists that are familiar with the toolset is easier. Unity is some multiple of more productive, pending your skill level with C#.

    I've evaluated all 3, am a proficient programmer in C++ and C#(among others), and have shipped several games with Unity. I've also worked on a couple of shipped titles with UE4.(nothing major)

    • mintplant 10 years ago

      UE4's editor is also filled with bugs and inconveniences, and tooling and documentation for programming outside of Blueprints is haphazard at best. Crossing the C++/Blueprint boundary can be a pain, especially with interfaces. And the 2D support pales in comparison to Unity's.

      On the other hand, Blueprints and the node-based material editor are really nice for quickly snapping content together.

    • markatkinson 10 years ago

      That is great feedback, thanks.

      Yea I think it is about time I gave Unity another go, and will set aside some time to go over some tutorials.

  • kayoone 10 years ago

    Depends on what you mean by "exploring game dev". I would say Unity is pretty perfect for that and you have a lot to learn before you will reach its limits, if ever. After all, some of the best and most successful games are made with Unity. If you want maximum eyecandy, then UE or CryEngine might make more sense, but even there Unity in its latest version is not that far off.

    • markatkinson 10 years ago

      I'll check it out again, it was over a year ago.

      I just recall doing things like setting up path finding and AI was much easier in UE and setting up player characters etc was all already built into UE templates.

      The whole UE IDE or workflow also just made more sense to me, and was more polished. Maybe I just didn't give Unity enough of a chance.

  • lmm 10 years ago

    Five years ago using C# for a serious game would get you laughed at. But every day the balance shifts: computers get faster, but developers don't get smarter, so a language that sacrifices performance for ease of development becomes a better choice. If you're looking to the future I'd recommend sticking with C#.

    • thecatspaw 10 years ago

      isnt the main problem with C#, Java and similars the garbage collector? which can at its worst kick in while you're in the middle of a fight or something. Even if its just 20ms, in a online FPS it potentially makes the difference between winning and loosing it.

      edit: I am a Java guy myself, and would like to do some amateur gamedev in that direction (online FPS), but im worried about above mentioned point.

    • shmerl 10 years ago

      > If you're looking to the future I'd recommend sticking with C#.

      Not really. If you look to the future, I'd recommend Rust for making game engines. They by nature should be latency sensitive, and any kind of non deterministic behavior caused by garbage collector is really unacceptable.

      • eropple 10 years ago

        "Really unacceptable"? The literal hordes of games using Lua, JavaScript, and Python as game-logic languages seem pretty acceptable to me.

        Rust is a nice language, but Unity already uses C++ outside of the user-facing scripting layer.

    • bobajeff 10 years ago

      "computers get faster"

      Not everywhere. Phones, tablets and older or low end laptops are very popular.

      • lmm 10 years ago

        Phones are really quite fast these days. C# is a perfectly reasonable choice for a phone game.

        • autoreleasepool 10 years ago

          C# is a perfectly reasonable choice for a phone game that can afford garbage collection pauses. This means turn-based.

          In every other case, you're better off using a language whose resource management model doesn't fight you.

          Swift is the best of both worlds in this regard.

          • UK-AL 10 years ago

            Considering virtually every major mobile game is unity these days, is this really an issue?

            • outworlder 10 years ago

              Not at all. Memory management for games is something you have to pay close attention to, no matter what's your strategy for dealing with garbage. But this whole GC discussion is missing several years of technology development and best practices.

              Besides, it is not guaranteed that you'll succeed with a manual strategy for dealing with garbage. Naive strategies have a really low throughput. They may not stop the world, but will be slow.

            • Narishma 10 years ago

              Unity is a C++ engine. Only the game code is done in C#.

              • pjmlp 10 years ago

                You mean like those engines done in Assembly with C and Turbo Pascal as scripting logic 20 years ago?

    • pjmlp 10 years ago

      And around 20 years ago using C for serious game development was also a joke.

      Apparently we need to go through this cycle every few decades.

  • ogsharkman 10 years ago

    Yeah, especially when you consider Carmack basically volunteered to rewrite Minecraft in C++ for Microsoft (and VR use). I'm not a game developer so I have no idea if C++ is as widespread as it seems but to me that's a pretty big indication.

    • Tepix 10 years ago

      The rewrite had already taken place (the pocket version of Minecraft). He "just" tweaked the graphics pipeline to minimize latency using techniques such as asynchronous timewarp, optimize framerate and add the other VR related stuff.

    • markatkinson 10 years ago

      I spent some time going through tutorials for different game engines, UE, Unity, Chaos and researching others, it became pretty clear that C++ the most pervasive and valuable across them, which is probably obvious to some of the more involved players in that space.

      • douche 10 years ago

        I think it's become something of a chicken and egg problem. All the hard-core game developers moved up from assembly to C, then introduced bits of C++ in the late 90s. All the books and tutorials end up getting written in C++ (or C with classes...). APIs get written in C/C++. More people learn C++ because its what the game devs do, and it's harder to find resources on learning how to do it in any other language. It's usually possible to make a wrapper for C++ code in a managed language, but it's not easy, if somebody else hasn't made a good binding already.

        Garbage-collection has a bad name for some reason in game-dev circles, which maybe makes sense if you're developing a fast-twitch action game or shooter - a GC pause might drop enough frames to matter there, but for most games, Java or C# should be fine.

        • bananaboy 10 years ago

          The console manufacturers have typically provided a C/C++ compiler and nothing else, so it was very difficult in the past to use any other language for developing console games. Some studios did retarget existing compilers like gcc but it was pretty rare; you don't usually have the time for that! If you're doing cross-platform that then limits your code base, so you can't even use the latest features of a language on one platform but not another (e.g. some platforms don't support C++11 in their compiler).

        • bobajeff 10 years ago

          "if you're developing a fast-twitch action game or shooter - a GC pause might drop enough frames to matter there, but for most games, Java or C# should be fine."

          Are most games adventure, puzzle solving, or turn-based?

          • knodi123 10 years ago

            or otherwise not dependent on single-frame precision, yeah.

            certainly "fast-twitch action games" and "fast twitch shooters" are a minority of all games.

            • autoreleasepool 10 years ago

              Action games may be the minority of all games developed, maybe. They're definitely the most desired and most market viable. It's easier to write a turn based game in garbage collected language. There's a surplus of these games, so they don't even sell well.

              The best selling console games are sports simulators and first person shooters. The next popular are open world RPG/action (Skyrim, Fallout), then we have fighting and racing games. 2.5D platformsrs are also popular now. All of these games need the deterministic guarantees of "fast twitched action games".

              It's not so much performance as much as control. Objective-C is a lot slower than C++, but making action games in pure Objective-C is viable because you are still in control of a system that allows for deterministic resource cleanup and stable frame rate.

              In the US, I'd say turn based RPGs and puzzle games are by far the least popular genre on consoles across the board. They may be most widely produced games, they are hardly the most widely consumed ( outside of Mobile).

              • knodi123 10 years ago

                > Action games may be the minority of all games developed, maybe

                I specified "fast twitch action", not just action. For instance, both of the open-world action games you mentioned are single-player only, so issues like lag and slowdown are less critical. Also, enemies in those games are almost always slow-moving- definitely no fast-twitch required.

                For fast twitch action (not shooter), I might include things like street fighter, where button timing and reflexes are critical. Most 2.5d platformers I've seen would not suffer that much for the occasional dozen-millisecond GC pause. In fact, many of them have worse pauses than that for less prosaic reasons. ;-)

                • autoreleasepool 10 years ago

                  It's not the end user that would suffer, but the programmer. Who want's to program around a process that blocks all other threads? Not me. I hate boiler plate.

                  Swift's ARC is basically automatic boilerplate for resource management that's applied at compile time. It's extremely flexible in that you can also use raw pointers and manage memory manually if you want to. A native language with ARC as a passive option is a way better tool for making games than a garbage collected one on the VM, IMO.

                  > ;-)

                  I'll never understand why people think winking online is a socially competent thing to do.

        • muhmi 10 years ago

          Well, yes, the idea that there will be GC pauses and you just cannot get a _consistent_ framerate no matter how hard you try does not sound good. (Disclaimer I currently write games with Unity ;D)

  • shmerl 10 years ago

    > I need to start learning C++ if I want to explore game dev.

    You surely need it if you plan to work on high performance engines. Hopefully Rust will find its place there as well.

  • pjmlp 10 years ago

    If you are coding on your own, then C++ can be great as one can make use of modern C++14.

    If you are coding with others, be prepared to deal with some kind of C with classes.

clebio 10 years ago

Minor nit: the link doesn't once mention Oculus. Only on the FAQ page is that mentioned. http://aws.amazon.com/lumberyard/faq/

I mean, the closest thing to a title for this linked page would be the subheading:

> Amazon Lumberyard is a free AAA game engine deeply integrated with AWS and Twitch – with full source.

twoquestions 10 years ago

I wonder why Amazon is going after game developers, as the gaming industry looks like a crowded and low-margin market.

Not to mention the free to try and mature tools that developers already have (Unity, Unreal Engine, etc.)

shadowmint 10 years ago

Some interesting legal stuff with this engine, which their FAQ(1) goes over.

Basically, use it for whatever, free of charge, but not with any other cloud services that mimic amazon's services(2).

Except cloud services for some things, which are fine:

    Your game may read and write data to platform services and public 
    third-party game services for player save state, identity, social 
    graph, matchmaking, chat, notifications, achievements, leaderboards,
    advertising, player acquisition, in-game purchasing, analytics,
    and crash reporting. 
 
Is it a game changer?

Hard to say, but like they say, you can't beat free.

If nothing else, a lot of people are going to download this and have a look at it and mess around with it.

Pretty exciting stuff. :)

[1] https://aws.amazon.com/lumberyard/faq/#licensing

[2] http://docs.aws.amazon.com/lumberyard/latest/userguide/lumbe...

  • Keyframe 10 years ago

    Also: You can use hardware you own and operate for your game servers.

    So, it's a fair deal. You can use your own servers and not AWS for anything, but you can't use other web services which are competing with AWS. You can also modify source code as you see fit, but not distribute it. That's about it. Can't complain.

  • douche 10 years ago

    That sounds like a Steam clause. At this point, if you're licensing a PC game engine, and it's not Steam-compatible, it's DOA.

JohnTHaller 10 years ago

It's an interesting ploy by Amazon to get game devs to lock themselves into Amazon's AWS for backend and Amazon's Twitch for streaming.

usaphp 10 years ago

It's funny to see in that video how drastically different work environment is at "gunfire games" studio and twitch. Looks like day and night.

kderbe 10 years ago

My guess is Amazon plans to use this engine for their in-development AAA PC game [1][2] announced last year. Usually the engine spin-off happens after the game itself is released, so I wonder what their motivations are for promoting the standalone engine so soon.

[1] http://www.gamasutra.com/view/news/245102/Sponsored_Amazon_i...

[2] https://games.amazon.com/jobs/

jdoliner 10 years ago

I'm pretty wowed.The quality of code that's being opensourced lately really seems to be ticking up. I didn't take the time to play with it so I'll be interested to hear the first reactions but it certainly looks pretty good in the screenshots. And integration directly into AWS could really streamline a lot of the difficulty of making online multiplayer games. I suspect this will put a new class of games in reach for indie development which is going to be really cool.

spullara 10 years ago

They recommend using an operating system (Windows 7) for which mainstream support ended over a year ago.

  • whitegrape 10 years ago

    Extended support until 2020 though. :) Personally I have no need for Windows 10 on anything I own or use, maybe MS will offer something better by 2020.

meow_mix 10 years ago

Sure it can't be redistributed, but if it could wouldn't someone just repackage it and make it such that you didn't have to use AWS for the servers? Their goal is to make game devs go to AWS, so this makes sense to me

gravypod 10 years ago

What is this auto-scaling back end system about? How does it work? Does it just launch more nodes in a cluster or does it actually expand the VM that you are running in like expanding an OVZ container.

  • mjblack 10 years ago

    AWS autoscaling is service that can be used to scale applications based on different metrics, one being CPU load and another is ELB traffic. I'm sure there is probably more options but the idea is it scales up and down depending on the policies put in place. It'll launch either VMs or containers, which is really how you design the autoscaling configuration.

teamonkey 10 years ago

The thing I find weird about this is how Lumberjack is not compatible with any of Amazon's own devices. I would have expected their engine to support Fire tablets and Fire TV, at least.

  • leetNightshade 10 years ago

    That support should be coming. As far as I heard, they're trying to create one cross platform gaming ecosystem based on their services/platforms.

    From the FAQ: "Mobile support for iOS and Android devices is coming soon, along with additional support for Mac and Linux."

akerro 10 years ago

> Peer attempted old style (potentially vulnerable) handshake. (Error code: ssl_error_unsafe_negotiation)

I'm unable to connect there from mobile and desktop Firefox.

sagivo 10 years ago

It's about time we'll have some choice and better competition after Unity3d basically dominated the market.

shmerl 10 years ago

AWS integration sounds like a vendor lock-in to me.

Other than that, what value does it offer on top of Cry Engine that it uses?

wilhil 10 years ago

I hope their webpage isn't an indication of performance of EC2! I keep getting timeouts and errors :(

lobster_johnson 10 years ago

I wonder how suitable this is for 2D development. Anyone know?

  • leetNightshade 10 years ago

    On the main page Lumberyard is described as a 3D game engine, which is the case because it's based off of the 3D CryEngine game engine.

    If they're to add 2D support, it'll probably be a while. And it'll likely be something built using the 3D technology, unless they want to put in a lot of work to optimize for a 2D use.

Kiro 10 years ago

How does the automatic lag compensation work?

theworstshill 10 years ago

Not even going to try it on principle. Amazon is a big tentacled octopus thats tightening its grasp over any and every area it can. Lets leave Amazon for ecommerce and AWS.

zyngaro 10 years ago

FYI Microsoft.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection