While the free and open source game engine Godot Engine already has Linux support, for both exported games and the full editor, it's set to get even better in Godot 4.0.
In a blog post written by Camille Mohr-Daurat, they mentioned how they've been hired by the Godot team to work as a contractor on fixes and improvements for the Linux port of Godot. Camille Mohr-Daurat is an indie developer who actually uses Godot too at Nekomatata, where they created the unique ping-pong battler Punch Pong. So this is a real fun example of open source in action.
Godot 4.0 will be coming with a new windowing system, so that you can separate parts of the Godot Engine editor from the main window. A lot of their work is focused on ensuring that works great on Linux with X11, which seems like there's a lot of work involved, because there's places where X11 doesn't have APIs to handle things where it does on other platforms like Windows and macOS - with drag and drop between windows being one mentioned example they've had to solve directly.
Multi-windows could be seriously useful in a multi-monitor setup.
Another possible change they're discussing for after they fix up the current issues in on modernizing their implementation using XCB which is a replacement for Xlib. They also confirmed Wayland support is planned at some point, as a separate Display Server implementation.
Since Godot Engine is open source, it's always thoroughly interesting to be able to see what really goes on behind the scenes on these huge complicated projects. Their dedication to Linux and cross-platform in general is great too, showing others how it can be done.
Full blog post on it here.
Quoting: setzer22There's hundreds of tutorials out there that will become outdated. How many of them will be fixed by their original developers? Because otherwise, they're as good as gone.Then let them be gone.
A clean API that is easier to learn and understand is worth more than having old tutorials or plugins that haven't been updated in three years still be valid.
Every programmer worth their salt knows that they have to take old, unofficial (!!) tutorials with a grain of salt.
Everyone who writes tutorials knows this, too.
This is software development. Things can change rapidly, and so do APIs.
It isn't possible to create middleware API (which Godot is) and never change it for its entire lifetime if you also strive to improve it. That would require an amount of foreknowledge that nobody has.
At best, you can offer long-term support for older versions, which is the standard method most use, including Godot.
Also, you are mistaken about the Node->Node3D thing.
The current situation is that there is the base class, Node.
Then there is the 2D class deriving from it, Node2D.
Then there is the 3D class deriving from it, Spatial.
Wait, what - Spatial? That doesn't fit with the rest. And it has confused new users since the beginning of Godot.
Renaming it to Node3D will make it easier for everyone.
And I don't really doubt that people finding "Spatial" in some old tutorial will manage - if they aren't directly told by the editor "Hey, you typed Spatial. Did you know that Spatial is now Node3D?".
Quoting: setzer22https://www.youtube.com/watch?v=oyLBGkS5ICk And let me tell you this guy is no charlatan, he's the main designer of a programming language used by thousands of developers, and he managed to do so for 10+ years while never breaking an API :)That's nice and all, but not comparable. First of all, programming languages are way more static than middleware.
A lot more thinking goes into designing their API than what is done or even possible for most middleware.
They change very slowly, if at all. Just look at the snail-pace of changes in C++.
Also look at PHP for a language that everyone knows is in dire need of a redesign with all its myriad of different styles and paradigms all mixed together (hell, not even function names follow a singular naming pattern).
Yet it isn't changed - why? Because it would almost literally break half the internet. It can't do that redesign anymore. It's too late.
Changing Godot API would only "break" some old, unofficial tutorials and require some small effort if you are porting from 3.X to 4.X - that's it.
Last edited by TheSHEEEP on 23 October 2020 at 8:53 am UTC
See more from me