O3DE
o3de.org
o3de.org
It should be able to handle several 10s of 1000s of actors without a hiccup, but once you get into the millions, you may need to write some of your own modules.
Luckily godot’s codebase is just about as pleasant as c++ can be for a project as complex as a multi platform game engine with multiple rendering backends.
In this interview the devs of cassette beasts touch on it a bit https://godotengine.org/article/godot-showcase-cassette-beas...
> Since Godot 4.0, the C++ standard used throughout the codebase is a subset of C++17.
> [...]
> Prior to Godot 4.0, the C++ standard used throughout the codebase was C++03, with a handful of C++14 extensions.
Not sure about which one of (sound/graphics) are more dependend on engine.
But I think Star Citizen switched over to Lumberyard from CryEngine. Though it stands to be seen, if this game will ever be released.
The whole thing is a massively big hairball of C++ code that was started in the mid-90's by Crytek as CryEngine and has since gone through multiple hands, all with different opinions on how a game engine should be designed leading to various rewrite attempts. Nothing good can come out of such a situation, this is actually a rare case where starting from scratch would have made more sense.
Having said that, it basically has nothing in common with the mid-90's code, either in details nor design. It's dysfunction is almost entirely modern by now.
Essentially, while CryEngine was a detour and got us where we are more slowly, it's ended up basically where they were aiming for in the original start-from-scratch scenario.
There is an argument that the more direct approach may have lead to less turnover and a more coherent engine. But IMO, the dysfunction is more likely the result of systemic problems at Amazon organizationally.
Double Helix says fine, we can make one in 5-6 years. The plan travels slowly across Amazon, until it hits one particular individual that doesn't like it. Executives then start to look for an engine. First they talk to Unity, which was surprisingly receptive to the idea, but not much happened in the end (should be around 2014, around the time John Riccitiello became CEO). Cue in Crytek and Amazon becoming aware of their financial troubles, and the rest is history.
The press release hits, and that's how Double Helix learns of what's going on. Now they are not only supposed to make an engine, but merge the older version of CryEngine as well. That went as well as you would expect. It took them 2 years just to make something workable.
O3DE came to being once Amazon realized Lumberyard didn't have any mind-share at all. Nearly no part of the CryEngine code base is left, from my understanding. A lot of the original plan from Double Helix finally materialized in form of Atom, and other gems.
Though CryEngine was a major hindrance, and some of its effects can still be felt, O3DE is now its own thing. Still leashed to Amazon mind you, and all their bright minded executives. But at least all of the CryEngine code has been ~~purged~~ removed.
Also, they are not great at marketing. For example, in the latest release notes, the main headline talking point is robotics, and not games.
I think the tech is actually good, I prefer both the component system and ScriptCanvas over Unreals component mess and Blueprints. It just needs much more polish. And a big game company trying to actually make a game.
Basically, Amazon started building a new engine and plugin architecture. After acquiring the CryEngine code, it was pretty heavily refactored to fit into the new LY design and plugin (gem) architecture.
Overtime they had slowly replaced gems that were originally of Cry design, with LY's origin design untill finally the last major piece of Cry was it's renderer.
With the release of O3DE, it finally includes their own new renderer Atom, finishing their transition off of CryTech developed system.
So, while it's strictly true that LY is a CryEngine fork. And I don't think CryEngine 5 code was ever imported. It's really for the most part irrelevant, as it exists as an almost entirely original piece of technology now that has almost entirely lost it's Cryengine heritage by now.
Just because a game ships doesn't mean that the underlying tech is good or pleasant to work with - I would say the majority of games are shipped not via good code but via sheer force of will.
But Cryengine to this day is close source so I am really curious what kind of insane deal Amazon had with Crytek that they could build their Lumberyard engine based on Cryengine and later open source it and rename it o3de. From what I read they mainly just put lots of Amazon cloud stuff integrations into it rather then focusing on the actual 3d rendering parts of the engine.
This seems like a pretty decent engine that is open source that is something really special, yet nobody does anything with it, nobody talks about it. They do not no showcase that shows anything known or good for some reason on the site.
New World uses the engine and I did not even saw it mentioned. Should that not be the big showcase? I mean the game seems not super good and it also not looks very impressive but still, at least its a major title that is build with it.
Feel free to see my other post, it's a misunderstanding to think Amazon hasn't focused on the other parts of their engine, including the renderer.
And they have to pay to use Cryengine 3.
You might as well also be comparing Godot, Unity and Panda3D at this point.
What I find weird about it is that you don't typically install multiple versions of the same software globally that way, if you have a .deb package you would have one version with its binaries going in /usr/bin, libs in /usr/lib, headers in /usr/include, and support files in /usr/share. Or supporting XDG so you can control where those files go if you want multiple versions installed, or if you want to support multiple versions directly.
It's just an odd install path for a Debian package to use, I don't think I've seen it before.
Game devs are probably more interested in having everyone on the release they plan to ship than in continuously updating to the newest version of each dependency.
If your software needs to support multiple versions installed in the same user space it doesn't make sense to support package managers not designed for that use case.
If you praise Godot for being open source a lot, then it stands to reason that you should similarly prefer O3DE as opposed to Unreal: https://github.com/o3de/o3de/blob/development/LICENSE.txt (no idea why they're going for both Apache 2 and MIT license, though) vs https://www.unrealengine.com/en-US/license
Unless people just care about the options that are popular enough to warrant their attention and the features that they provide, whereas the licensing is actually a boon, rather than the main factor, given that Unreal also did some slight price increases a while later as well: https://www.unreal-university.blog/post/unreal-engine-5-pric...
Either way, it's still nice to have lots of options available regardless of the licensing details (though this kind of does fragment developers among bunches of different projects), be it Godot, O3DE, Stride, Unreal or even something like jMonkeyEngine (one of the rare Java engines/editors with 3D) or NeoAxis (that one had a cool voxel LOD solution, but performance on AMD hardware was bad).
The Rust project has the same problem, it's also dual-licensed under Apache2 + MIT.
You want Apache 2 because of the explicit patent grant, but at the same time you also want to allow GPL2 projects to use your code.
In practice, the fact that MPL2 is not as permissive as Apache 2 or MIT and has copyleft-like reciprocal terms is not a problem, because it's a file-based license, and few (if any) developers tend to be interested in changing the source files for the upstream project, and those who are are usually people doing so because they're in the process of trying to submit a fix upstream, anyway. For the fraction of a fraction of a minority of folks for whom it still would be a problem, it's as simple as the upstream project either declaring Apache 2 as a compatible Secondary License or just saying that they won't enforce MPL2's reciprocal clauses against downstream folks who are using the project in a way that is permitted by Apache 2.
MPL2 is an extremely underused and underappreciated license.
> I don't really see MPL as a replacement for Apache/MIT, more as a replacement for the GPL
That doesn't really make sense. GPL is a hard copyleft license, and MPL2 is not. The latter can be seen as a replacement for the former perhaps in the sense that a person who is being charged $20+/mo for streaming video might like to see their provider to offer a $0 "replacement" instead—i.e. a change clearly to the benefit of one party with regard to narrowly delivering something it sees as desirable, to the detriment of the other party (or more accurately: without regard to the benefit or detriment to the other).
MPL2 is a great alternative for the use cases I described—where the constraints/conditions of the license are agreeable to both upstream and downstream due to the way it matches how they already interact in practice (and expect to continue interacting).
> I would love to see the MPL2 used more often instead of the GPLs
I don't see GPL as overused at all in 2023. If anything, it, too, is underused.
MPL2 and GPLv2/GPLv3/LGPL/AGPL are underused relative to the fairly new tendency to reflexively reach for e.g. the MIT License and then get stung by the consequences of doing so, resulting in formerly libre codebases getting locked down in future revisions under a regressive, non-FOSS, shared source license (or fully proprietary), when the reality is that e.g. GPL would have better suited the project from the beginning and wouldn't have led to the circumstances that ended with the owner pulling back from FOSS entirely.
I agree for other things, e.g. webdev, I never had to hack Django or Vue.js.
The game industry is notorious for using, but not contributing back to open source. I don't want to know how often the same bug in recast/detour has been fix in different games, and never upstreamed.
Only if you ignore, like, everything that I wrote.
but pretty much nobody mentioned or cared for something like O3DE
Because it's a project started by Amazon.Also it just fails every vibe check: AI art in the homepage and they had some drama by publishing a quote saying that they were "the only real open source game engine"[1] (which has been retracted since)
It's an engine with almost no community that's based on an engine that's notoriously difficult to use.
It would not surprise me if O3DE was more capable than Godot but choosing an engine is more about matching your team to the engine, and it feels like most indie groups will have a hard time with O3DE.
Important to note I'm only relaying what I've read, I haven't looked too closely at it myself. Also, development looks pretty active so there's definitely potential for things to change.
Godot has heigh/Z value, but positions etc. are x + y.
The documentation and tooling for O3DE needs a lot of work compared to Godot. The community needs to grow, but in order to do that, they need to improve the documentation and the tooling.
In the end, I want to see both Godot and O3DE succeed, I support both projects, and I have tried to bring O3DE into these discussions. But if I had the time to start a game today, as an indie dev, I would probably choose Godot. But both engines have a lot to offer!
Finally- I really think the O3DE devs (mostly Amazon, and folks complain about Amazon not contributing to Open Source....) are aware of its weaknesses and are trying their best to refactor the code and make improvements to tooling and documentation to make it easier to use. I think it is going to take some time, and I hope they get the support from the community and continued support from Amazon to see it bare fruit. I want to thank Amazon for their many contributions to Open Source, I don't agree with everything the company does, but I disagree strongly with the idea that they aren't contributing anything back.
I think open sourcing it was the right decision though, and I hope it will only improve from here.
I fully expect O3DE to improve and maybe it is more usable now. Alternatives are good.
Heard nothing but the worst things from teams who had been forced to work with Lumberyard
I found a rip of the 3D model and an archived page for the beach demo, but the actual browser plugin was never archived and I don't want to setup decade-old build systems for obsolete browser plugins. How I miss those days...
[1] http://web.archive.org/web/20100308001327/http://code.google...