Recently Amazon announcement that they would be open source of the 3D engine and linked behind their Amazon lumber yard play tooling effort. As Lumberyard is based on CryEngine 3.8 (~ 2015 vintage), this begs the question of whether this new open source engine – creatively named Open the 3D engine (O3DE) – is an open source version of a CryTek engine, and what it does for those of us who enjoy tinkering with 2D, 3D, and similar games.
Reading the marketing materials, one might be forgiven for thinking that O3DE is the best thing since sliced 3D bread, and is Amazon’s kind gift to the unwashed masses to free them from the shackles forced upon them by proprietary engines like Unity and Unreal Engine. . A closer look, however, reveals that O3DE is Lumberyard, but with many parts of Lumber yard replaced, including the renderer still being rewritten from the old CryEngine code.
What is a good game engine?
My own attempts at game development started with the Half Life Engine and the Valve. hammer editor, as well as the Doom map editor. This meant that certain expectations had been set before meeting today’s game engines and their tools. The development experience with the Hammer editor in the late 90s was pretty much WYSIWYG, and when I was just starting out with Unreal Engine 4 (UE4) several years ago, it was pretty much the same experience, which made it relatively easy to reach the ground run.
The installation of UE4 is done in a few steps: after installation the Epic Launcher using its installer and signing in with an Epic Games account, it only takes a few clicks to install any of the available versions of UE4. Then, a wizard allows the creation of a new game project using an optional template. This then creates a dedicated editor for the project which is also the game, so that you can edit it while still having a live preview window that you can interact with.
To create the game, you press a single button and launch a game for one of the many supported target platforms. At its core, this experience enables the most essential characteristic of a good game engine: the ability to create games without having to struggle with engine tools or the building system. Many users are likely to be graphic designers or the like who have little interest in the internals of the tools they use.
Here, the UE4 experience is relatively painless: using the Blueprint object system, you can wire complicated games and game logic into a graphics editor, with no code writing involved, although C ++ based development is possible. for different levels of customization.
If we take this graduated system of complexity as the gold standard for what makes a good game engine and the associated tools, how does O3DE compare to its main competitors (Unreal Engine, Godot and Unity)? At first glance, they seem quite similar, being all written in C ++. The most noticeable difference is probably in the languages they support to extend the functionality of the engine.
Here Unity supports C # for its script API, Godot offers GDScript (Python-like) as well as C # and C ++. Unreal Engine is extended using C ++, just like O3DE. That’s fine then, but what does it look like to use them?
The quick start
Before we can install the developer tools on our platform of choice, we need to check the system requirements. For O3DE these are:
- Windows 10 1809 or higher, or
- Ubuntu 20.04 or higher.
This contrasts with the minimum of UE4 requirements Windows 7 or higher, or MacOS 10.9 (Mavericks) or higher, both of which offer a binary installer. For Linux the engine must be built from the source, corn should work with Ubuntu 16.04 LTS and later, as well as a range of other Linux distributions. For Unity, the system requirements are similar, requiring Windows 7 SP1 +, MacOS 10.12+ and Ubuntu 16.04+ or CentOS 7.
While the unit is doing does not require His Unity Hub app to use (so far), he strongly promotes it as a central way to manage Unity projects and licenses, similar to the Epic Games Launcher app for UE4. Whether this is an asset or a burden will largely depend on individual workflow. To manage several simultaneous projects with their own engine versions and keep them up to date, having such a central tool can be useful.
Unlike Unity and UE4, Godot does not claim any strong website-based system requirements and should compile on any platform that supports the required compiler and dependencies. The provided binaries are provided in an archive, without an installer, and run stand-alone, making this perhaps the easiest to install of these engines.
When installing O3DE under Windows, it installs the O3DE editor and the project manager. For Linux (Ubuntu 20.04 or higher mentioned above) there is a DEB package that you can install after download. From Project Manager new projects can be created and built. Besides the limited number of supported development platforms, this workflow seems relatively comparable.
Since there would be no point in setting up a development environment if it couldn’t do the required task, we would have to go back a bit and look for what platforms these engines can be used to develop for. This should tell us if we would be interested in devoting our time and energy to learning it. Here, O3DE falls rather flat, at least in documentation terms, or the lack of.
Although both Android and iOS mobile platforms are listed, it is difficult to find concrete information, just like with macOS, and only certain information is listed. for linux from writing. This contrasts with Godot, which lists its platforms in the feature list and includes everything from desktop, mobile, web and console platforms, including detailed information on how to create for these platforms.
For Unity and UE4 we see a similar supply of target platforms and documentation to start. O3DE appears to be mostly limited to common desktop and mobile platforms, although documentation is rather sparse on what features are supported. the building instructions for O3DE targets would suggest that this requires manual configuration of CMake and running this build script generator before you can build for any target. Whether CMake is better than Godot’s use of SCons is another box of worms, but it does highlight the technical knowledge required for both U3DE and Godot.
Documentation and support
There is no denying that Unity, UE, and Godot are very popular for game development, with the former two also enjoying strong commercial support. All of them also have a large community behind them, made possible by the (relatively) open nature of these products. All of them can be used freely and have many years of development with everything from AAAs to metric loads of indie games behind them.
The result of this is that even if the documentation is unclear on something or misses certain details, there is a good chance that the community can help with any questions. This contrasts with the engine formerly known as the Lumberyard, which as release notes because the most recent version at the time of writing is still under development and you shouldn’t expect to create a production ready product with it.
This sense of beta persists strongly in the documentation as it exists today, without the verbosity of the documentation from other engines. Considering the Amazon Lumberyard engine’s lack of popularity in recent years, none of this is perhaps too surprising. Either way, these results indicate what to expect when diving into O3DE today.
All this raises the question of the future of this project. Will it become a competitor of Godot, Unity or – God forbid – UE4 / 5?
Pay the bills
Perhaps the greatest asset of products like Unity and UE is that they can coexist in the gap between AAA games and small developers as well as hobbyists. Most of these items are handled by the two licensing system. For UE4 this means free use and no royalty if the engine is used for anything other than game development. If you create a game with UE4 that earns more than $ 1 million (USD), royalties of 5% apply for any amount over that first million.
For Unity, the Personal plan is free, as well as the Student plan. If revenues exceed $ 100,000 per year, the Plus plan applies, for $ 399 per seat. These diets rise in power with increasing revenues (next> $ 200,000 / year). As with UE4, if you are not releasing the software, no payment is required. This contrasts with Godot, who has no commercial project, but receives monetary rewards and donations, in addition to contributions to the code.
While many studios have their own in-house game engines, Unreal Engine and Unity see their products used in a variety of commercial software, ensuring that even small developers and hobbyists get the cutting edge features implemented for these customers. commercial. . While Lumberyard could theoretically have grown into something similar to Unity and UE4, it looks like he didn’t get roughly the same level of funding as those two products.
Yet another engine
Despite the lofty claims about O3DE, it’s hard to ignore the elephant in the room. After Amazon’s game development ambitions shrank significantly, its Lumberyard-based company New world the game received only poor reviews while in the background Lumberyard was de facto removed. So it would appear that O3DE is more of a cynical way to cut the development costs of a seemingly run-down game engine.
Perhaps the best thing to come out of this is that an existing project like Godot can take the useful elements of the O3DE engine, which would give users the best of both worlds: a completely free and open source game engine, with a decent tooling and a great community that supports it. Whether this includes porting to the AWS Cloud Support module in O3DE is a guess.
Ultimately, however, developers’ time in the OSS world is precious. Splitting it up between increasingly similar projects doesn’t seem to be very beneficial. Pooling resources seems to be the best way to go.
What works best for people who just want to make a game, on their own or with a few friends? UE4 or Unity if you’re not interested in tinkering with the build system and tools, otherwise Godot would seem like a platform that could be decent for everything from simple mobile games to much more complicated desktop or even console games.
But O3DE? We’ll probably see in the months or years to come where that ends and if it becomes something capable of making production-ready games. It’s not over until the last beaver sings his swan song.
[Heading image: Open 3D Engine editor with Amazon Shader Language file and asset from the game Deadhaus Sonata open. (Credit: O3DE project)]