Godot is a bit of darling in the open-source communities, because it's an active open-source engine project. There are quite a few open-source engines, but most of them are self-assembly toolkits without an ecosystem of tutorials. I'd look at the various Doom and id Tech engine versions. The Open 3D Engine just got fully open-sourced, for someone patient, ambitious, and looking for an engine newer than id Tech 3 and id Tech 4. It was, to be blunt, not cross-platform before it was open-sourced, but progress seems healthy.
Unity and Unreal Engine support developing on Linux, but AFAICT neither one is 100.0% identical in user experience between Linux and Windows. For example, I recall people saying that the Unity asset store isn't available from Linux for some reason. UE4 for Linux required one to compile the engine first, whereas most Windows users and tutorials had someone just downloading a precompiled copy. Probably not a big deal, but you deserve to know about such differences going in.
I can't speak authoritatively about the Linux crossbuild support with those engines, but I frequently crossbuild non-game projects from Linux using Clang/LLVM and the Mingw-w64 version of GCC. I'd have no reservations about using them to crossbuild games, but I'd recommend doing routine crossbuilding from early in a new project just to avoid surprises.
Minimum System Requirements
O3DE requires Windows 10 64-bit (versions 1809, 10.0.17763 or later)
I went and read some of the shaders and it pretty much just looks like HLSL. They wanted some more features I’m guessing that HLSL was lacking, AZSL just gets transpired to HLSL — it’s an open source extension of it, from here: https://o3de.org/docs/atom-guide/dev-guide/shaders/
Add https://www.photopea.com/ to the 2D software list. It's a carbon copy of photoshop in the browser for free. No installation required
Also https://o3de.org/ to the 3D engines. It's a fair recent addition with backers from big companies like amazon
From another thread:
https://gpuopen.com/fidelityfx-superresolution/#quality
TLDR: We will probably have the open source version down the line because the game engine supports it (it will likely replace DLSS down the line once replaced anyway).
Thanks for the feedback, the input system in O3DE doesn't map 1 to 1 with some engines, but it does support event and polling of the input system.To poll you can use the something like
// find the input channel id for the 'a' key
const InputChannel* inputChannel = InputChannelRequests::FindInputChannel(InputDeviceKeyboard::key::AlphanumericA);
if (inputChannel && inputChannel->IsActive())
{
// 'a' key is pressed
}
You can also access InputChannelRequestBus
from Lua to poll the input channel state in this way. I'll admit, I haven't done input polling in O3DE yet - I typically accumulate the input received using the input event notification bus, and then process that input on tick.
Here's a link to the event bus for InputChannelRequestBus https://o3de.org/docs/api/frameworks/azframework/class_az_framework_1_1_input_channel_requests.html#aee1fbd0dce3447c162093f0e70a787d6 and for that static FindInputChannel function https://o3de.org/docs/api/frameworks/azframework/class_az_framework_1_1_input_channel_requests.html#a77fcbc99722df0499e56a41c530e6026
Another thought that came to me while reading your feedback was that perhaps we could create an interface similar to what we have in c++ where you can get the handler for an ebus and then just call the method on the handler directly without having to use the ebus syntax. It's something O3DE does for most of the operations that need high performance, for example check out how in Entity.cpp it caches a pointer to the transform component's interface using the ::FindFirstHandler()
method https://github.com/o3de/o3de/blob/development/Code/Framework/AzCore/AzCore/Component/Entity.cpp#L1335
Maybe we could do something similar in lua.
As with any graphics application, the real hard requirement, that could prevent the application from even launching, is the graphics API used. In the "Minimum System Requirements" at https://o3de.org/download/ , it says that you need a "DirectX 12, Vulkan-compatible, or Metal-compatible video card with 2 GB VRAM minimum". So, assuming that on windows O3DE can only use D3D12 and nothing else, you would need a D3D12 compatible Windows version (windows 7 sp1 x64 onwards) and a compatible graphics card (your gtx 1050 will do fine).
> I don't see them contributing to the Linux ecosystem like Valve did
They open source the engine they used to make their new game New World and gave it to the Linux foundation https://o3de.org/ we are talking about them giving away millions of dollars in IP for free. It originally wasn't working on Linux but now is an entirely free and open source cross platform game engine.
Lumberyard has been free to use - unless you're building an online game, in which case your cost is that you have to host through AWS and pay to do that- for a long time, that's not something new or recent.
Lumberyard is now one of the cornerstones of O3DE's new open source package, which also includes the new Atom renderer - which hopefully NW will adopt at some point.
Not necessarily
You could do a dual licensed engine. One license allows the devs to keep everything proprietary but for a licensing fee like Unreal, Unity, and Source already do which gives the project funding.
But if devs want to use the engine free of charge, then they're permitted to do so as long as they make their code free as in freedom.
With the amount of time and money used to develop all the distros out there and the tens of thousands of open source packages, we should have seen one of the big name Linux companies start a game studio by now.
In Stallman's post announcing the GNU project, he said they wanted to make an Empire game. I'm not sure if that ever came to fruition though.
https://www.gnu.org/gnu/initial-announcement.html
The Linux Foundation recently had Amazon's game engine donated to them.
I hope they make games, not just demos to draw more people to use it but I'm not sure if they will.
It's very strange that they didn't announce it with Linux support though, it has support now but the download page still only mentions Windows.
ok and just to make sure you replace the 3RDPARTY path with your own? you said it built correctly so im going to assume yes, so now you want to build the project SDK
cmake --build build/windows_vs2019 --target MyProject.GameLauncher --config profile -- /m
just change the Myproject with the name of yours..also to make sure the system doesnt slog your computer, add ":2" to the end so it looks like this:
cmake --build build/windows_vs2019 --target MyProject.GameLauncher --config profile -- /m:2
​
Here is the full walkthru for projects: https://o3de.org/docs/welcome-guide/create/creating-projects-using-cli/
​
let me know if that helps, after building the cmake SDK you will be able to open editor and get started