The recent upheaval regarding the pricing structure change for the Unity engine has breathed new life into competing platforms such as Unreal and the Godot engine. This development has piqued my interest in exploring the level of support for game engines within the homebrew community, with a specific focus on Godot.
Disclaimer: This article primarily delves into the use of Godot for crafting homebrew games. Generally, this implies that the games created will only function on Jailbroken consoles. For information on Godot's support for commercial game development on consoles, please refer to the official documentation (TL,DR: It is possible to port your Godot commercial game to consoles, but you may need to collaborate with a third-party company for legal reasons).
TL,DR: Impressive homebrew adaptations of Godot 3.x are available for the Nintendo Switch and PS Vita. However, for other consoles, especially the PS4 (and presumably the PS5), support is still in development.
Note: If you're keen to get started with Godot, Humble Bundle currently offers an enticing bundle: "The complete Godot software bundle," which provides access to $1000 worth of courses and software. You can pay what you want for this bundle and support charity (affiliate link).
Godot Engine for Homebrew Consoles – Why and How
Game development is often a challenging endeavor, and crafting games for homebrew consoles adds an extra layer of complexity. For those interested in homebrew development, I believe the easiest way to step into the world of modded consoles is by using tools they are already familiar with, in more conventional environments.
The Godot game engine has gained immense popularity as a cross-platform game engine, and its open-source nature makes it theoretically suitable for porting to homebrew software development kits (SDKs).
When you publish a game using Godot, you're essentially publishing the entire Godot engine, along with a resource pack that represents your game. Porting Godot to a console, especially its homebrew SDK, involves creating a single "engine" binary (template) tailored to that specific console. Once this is accomplished, considering certain console-specific limitations like OpenGL support, "almost" all Godot games could potentially run on that console with minimal to no modifications.
This is particularly exciting because a game developed for Windows, for instance, could potentially run on your Nintendo Switch or PS Vita without extensive adjustments.
Nintendo Switch and PS Vita Homebrew: Embracing Godot 3.5x
As it stands, both the Nintendo Switch and PS Vita have successfully embraced Godot 3.x ports for homebrew SDKs. These ports are primarily based on the 3.x version of Godot, which is the most commonly used version today (although 4.x was released in 2023 and is gradually gaining traction). We discussed the PS Vita release by SonicMastr last year.
Godot 3.5x for Nintendo Switch by Stary2001
Godot 3.5x for PS Vita by SonicMastr
Support communities for both versions can be found on this Discord server: https://discordapp.com/invite/yUC3rUk
In both cases, all you need to do is run the Godot editor, create your game, and then, in the export menu, select your target platform (Vita or Switch). However, due to the separation of the two codebases, you'll need to use distinct engine builds to export for Switch and Vita, although you only need to create your game once (simply load it into the two separate editors).
Keep in mind that there are certain limitations related to Godot ports and the specific console you are targeting. For the PS Vita, here are some noteworthy points:
LiveArea assets must be 8-bit indexed and adhere to specified sizes; otherwise, VPK installation will fail.
Version numbers must follow the XX.YY format; otherwise, they default to 01.00 to prevent installation issues.
Parental level settings range from 0 (off) to 11 (adult), with values above or below defaulting to 0.
It's essential to change the Title ID from the default setting if you plan to release your game to avoid overwriting other applications.
Ensure that you enable fallback to GLES2, regardless of the situation (this may already be in place).
A short list of existing Switch homebrew Godot ports can be found here.
Godot 2.x on the PSP
This is more of an anecdotal note at this stage, but even the PlayStation Portable (PSP) has a Godot port available, albeit for an older version of the engine. While you may still want to give it a try, many developers targeting the PSP or 3DS end up creating their own engines due to the limitations of available ports.
Godot 2.x for PSP by PSVita-Dev
The PS4's Conundrum - SDL as a Potential Solution?
I initially embarked on this article with hopes of finding a homebrew Godot port for the PS4. Unfortunately, no such port exists at the moment.
To be frank, GPU acceleration support on the PS4 Homebrew SDK is somewhat perplexing. The SDL port you'll find with OpenOrbis seemingly lacks hardware acceleration. Surprisingly, there is a hardware-accelerated port of SDL for the PS4, courtesy of CPasJuste, and it's a bit bewildering why this isn't the default choice in the OpenOrbis SDK.
Furthermore, OpenGL is supported on the PS4 Homebrew SDK, as demonstrated by the piglet sample. However, I repeatedly come across information indicating that GPU rendering isn't yet supported for PS4 Homebrew (except via leaked official SDKs), leaving me somewhat puzzled.
CPasJuste mentioned a while ago that porting Godot to the PS4 would be "too much work" without shader compiler support, but this was before he successfully ported SDL. Perhaps his perspective on this matter has evolved since then.
Given the current landscape, your best bet for creating (hardware-accelerated) homebrew games on the PS4 might involve utilizing CPasJuste's SDL port, which can be accessed here. For guidance on starting with PS4 Homebrew, you can check out my guide here.
It's worth noting that as of now, there doesn't appear to be any active project dedicated to porting Godot 3.x to the PS4.
What About Godot 4.x on Homebrew Consoles?
Godot 4.x is phasing out support for OpenGL ES 2.0 in favor of GLES3 and Vulkan. Consoles lacking support for these technologies may encounter compatibility issues. From what I can discern, none of the consoles mentioned earlier currently support Vulkan within homebrew toolchains. However, the Switch seems to have GLES3 support. While an ongoing port of Godot 4.x for the Switch was in progress, development appears to have halted.

Post a Comment