this post was submitted on 07 Sep 2024
36 points (100.0% liked)

Linux Gaming

16057 readers
86 users here now

Gaming on the GNU/Linux operating system.

Recommended news sources:

Related chat:

Related Communities:

Please be nice to other members. Anyone not being nice will be banned. Keep it fun, respectful and just be awesome to each other.

founded 4 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] kevincox@lemmy.ml 19 points 3 months ago* (last edited 3 months ago)

Yeah, I can't believe how hard targeting other consoles is for basically no reason. I love this Godot page that accurately showcases the difference:

https://docs.godotengine.org/en/stable/tutorials/platform/consoles.html

Currently, the only console Godot officially supports is Steam Deck (through the official Linux export templates).

The reason other consoles are not officially supported are:

  • To develop for consoles, one must be licensed as a company. As an open source project, Godot has no legal structure to provide console ports.
  • Console SDKs are secret and covered by non-disclosure agreements. Even if we could get access to them, we could not publish the platform-specific code under an open source license.

Who at these console companies think that making it hard to develop software for them is beneficial? It's not like the SDK APIs are actually technologically interesting in any way (maybe some early consoles were, the last "interesting" hardware is probably the PS2). Even if the APIs were open source (the signatures, not the implementation) every console has DRM to prevent running unsigned games, so it wouldn't allow people to distribute games outside of the console marker's control (other than modded systems).

So to develop for the Steam Deck:

  1. Click export.
  2. Test a bit.

To develop for Switch (or any other locked-down console):

  1. Select a third-party who maintains a Godot port.
  2. Negotiate a contract.
    • If this falls through go back to step 1.
  3. Integrate your code to their port.
  4. Click export.
  5. Test a bit.

What it could be (after you register with Nintendo to get access to the SDK download):

  1. Download the SDK to whatever location Godot expects it.
  2. Click export.
  3. Test a bit.

All they need to do is grant an open source license on the API headers. All the rest is done for them and magically they have more games on their platform.