Live data from Hacker News

Free Godot engine port for Nintendo Switch

rawrlab.com

91–100 of 228 posts

Re: Free Godot engine port for Nintendo Switch

#91
post #78

I know "asymptotically close to zero" about game development and the like, so if someone who works in this space could answer this I'd be appreciative: what, if anything, would make you use Unity or Unreal instead of Godot for making a game today? This isn't meant as a passive aggressive question to push some kind of open source narrative, but a genuine curiosity. Since I know basically nothing about the industry, I'…

I've done game jams with both Godot and Unity. Mainly the plug-ins, particularly third party plug-ins for unity are better. One of them being cinemachine. Another example would be a tool call technique collider creator that let's you paint collider primitives. That tool alone saved about 300 hours of work. For many developers the Cinemachine tool is very useful as well. The other feature is the ability to edit game o…

This is exactly the feedback I was interested in...thanks!

I think these kinds of criticisms are necessary for open source stuff to become competitive with proprietary offerings; it feels like Blender, for example, has taken these criticisms pretty seriously and as a result it's started to become competitive with proprietary tools (at least in the "prosumer" and lighter professional spaces).

I'm sure they're already doing this, but Godot should probably keep a list of all these bits of feedback and start fundraising to build these features.

Re: Free Godot engine port for Nintendo Switch

#94
post #84

So to clarify, a free game engine is being made available for free, if I have paid and/or been approved to be a qualified developer? At least words still mean something

Console version is using proprietary SDK and they can only provide you source code if you signed NDA with Nintendo. That's it.

Re: Free Godot engine port for Nintendo Switch

#95
post #78

I know "asymptotically close to zero" about game development and the like, so if someone who works in this space could answer this I'd be appreciative: what, if anything, would make you use Unity or Unreal instead of Godot for making a game today? This isn't meant as a passive aggressive question to push some kind of open source narrative, but a genuine curiosity. Since I know basically nothing about the industry, I'…

Whatever toolset most of the team are experienced and productive in, and support basically.

Re: Free Godot engine port for Nintendo Switch

#96
post #74

Earlier quoted context omitted.

You’re kidding right? $450 for a dev kit is a steal compared to older console generations, which were thousands of dollars per device. Also, I think it is completely fair for Nintendo to think: If you won’t spare even $450 for a dev kit, there’s no way we want your game. By the way, consider what a Switch regularly costs: $299. You are paying Nintendo only $150 for the privilege of sending you a custom, low-run, modi…

you dont need any of that shite to run your own game on the Steam deck

You're comparing apples to oranges.

The Steam Deck is, fundamentally, a PC. PC software is written to run using "some" of a PC's resources, because PCs have a bunch of extra resource "headroom" for running userland software plus a bunch of other junk on them at the same time. You can run a game in debug mode, within an IDE, within Windows, on a Steam Deck. And maybe also OBS to stream yourself doing that!

The Switch — and all other game consoles ever made thusfar — are embedded systems: systems designed to run software in such a way that the software can make use of 99% or more of the system's hardware resources (because, per the unit economics of such systems, that's the only way to make the system's low per-unit BOM, translate to good perf for the software.)

Also, unlike with PCs, embedded systems can give a developer performance guarantees — a number of CPU cores, amount of RAM, etc. that will always be 100% dedicated to running your software, with even hardware interrupts being offloaded somewhere else. And the platform will be extremely uniform, with all retail units having (at least) those same numbers. (Though there may eventually be a revision of the hardware that bumps the guaranteed resources up for software that opts into that — see e.g. how the Gameboy Color runs Gameboy games, or the "New" 3DS, etc.) So, unlike with a PC, when writing embedded software, you can and should write it to use "all the resources" — to "wastefully" spend memory caching whatever you can, run background logic to pre-compute things, etc., so that your software can get the best realtime runtime perf. It's not like anything else is running. Take the Unix idea of a process being nice(1), and invert it.

This means two things:

1. when a game is running on a retail device — if you've developed it following best practices — then there's no extra room for anything else to be running. Your software, by design, hogs everything. The OS shrinks down to just running on one e-core of one accessory CPU (and on older consoles, gets terminated altogether, with the user software instead being expected to keep the hardware going using an exokernel library provided as part of the SDK.) There's no room to run an IDE or debugger. So retail devices fundamentally can't be used to develop games in such a way that they "mirror production" — to have the room to develop your game on such a device, you'd have to somehow build your game to use half the RAM and CPU it usually uses — but only sometimes. Which is likely impossible, for most software architectures; but even if it were possible, you'd no longer be mirroring production.

2. even with a devkit — essentially these days just the same hardware but with double the RAM to fit a debug build of the game (both for the debug symbols, and so that it doesn't need to take two hours to LTO the executable each time you rebuild like it does for building retail) — you still need a host PC, because you want development to mirror production at least somewhat closely, and that means that you can't be spending half the CPU budget on a userland debugger + telemetry. Instead, devkit hardware has a hardware debugger + telemetry, that feed one side of a USB-serial connection to a host PC, where the other side is a special IDE that knows how to talk to such a setup.

None of this is unique to game consoles, mind you. You do the same thing to develop for an Arduino, or a wireless router, or a smart watch, or your car's infotainment system. "Tethered hardware devkits that externalize the development environment so the embedded software can expand to fill the device" are just how embedded systems engineering works.

---

And yes, embedded-systems hardware ecosystems also often involve "QA" or "tester" units, that are basically retail units that either allow you to run [the ecosystem's specific, often proprietary] media containing unsigned code; or at least, allow you to install a specific signing key and then run media containing code signed by that key.

So you could, in theory, do your development by building for QA units.

(That is, you could, if you thought that printf debugging with two-hour iterations is the be-all and end-all of development cadence.)

Homebrew embedded-systems tinkering communities tend to ignore such systems, though, mostly due to the requirement of burning the media. Even when the media isn't proprietary, it's still often something like a surface-mount eMMC flash chip, where the embedded-systems vendor expects you to be able to program that and put it on your QA board (and will, of course, point you to their hardware support partner who will sell you a programmer for it.) While there are many hardware hackers among Homebrew people doing fun reverse-engineering attacks, there are few true Electronics Engineers in the homebrew scene who have these sorts of Shenzhen-parts-store-looking industrial test-equipment labs in their basements. The average homebrewer doesn't even own an oscilloscope. :)

It's just easier to either work with true dev kits (where all you need is to "convince" the thing that you're authorized to feed it software over the serial tether); and/or to reverse-engineer and exploit your way into a retail unit, such that you can then feed it software through some channel that is attainable for the average dev (usually, these days, that means getting the system to launch software from an SD card that was supposed to just be there to store state data.)

Re: Free Godot engine port for Nintendo Switch

#97

My 12 year old and I made a little game in Godot and it turned out pretty playable. I think in her peer group the second most popular device after the iPhone is the Switch. It would be incredibly cool if we could get our game to run there. I already found two GitHub repos with Godot ports, and this RAWRLAB announcement confirms that it will be doable on a technical level. However, I reckon that we do not qualify for…

Nintendo really wanted to encourage indie gaming on the Switch, so any individual can register to be an authorized developer: https://developer.nintendo.com/ .

It's not that easy, unfortunately - I'm a registered developer (for the Wii U) and to be 'enabled' for Switch development, you need to jump through a bunch of hoops including describing your previous experience with games development and so on.

The barrier for Wii U was significantly lower thanks to the 'Nintendo Web Framework', a web tech SDK that let you build games without needing to use tooling like Unity or mess around with the more complicated SDKs Nintendo provide. You didn't need prior games dev experience to get registered for that.

That said - maybe they've relaxed the criteria a bit now to give first time game devs a chance to get published on Switch.

Re: Free Godot engine port for Nintendo Switch

#98
post #92

How can they restrict access to authorized developers but also use the MIT license? Can't any authorized developer simply post the code on the internet?

Basically to use code they provide under MIT you also need to couple it with a proprietary SDK from Nintendo. If you post any proprietary bits on internet Nintendo will eat you alive.

Re: Free Godot engine port for Nintendo Switch

#99
post #78

I know "asymptotically close to zero" about game development and the like, so if someone who works in this space could answer this I'd be appreciative: what, if anything, would make you use Unity or Unreal instead of Godot for making a game today? This isn't meant as a passive aggressive question to push some kind of open source narrative, but a genuine curiosity. Since I know basically nothing about the industry, I'…

Unity and Unreal still have more brand recognition, I'm sure there are project managers and creative managers that hadn't heard of Godot yet (though that is diminishing, I'm sure).

More importantly, there is institutionalized knowledge and established tooling in place at a lot of dev studios. The expertise in one engine takes at least a year or more to acquire before you can really make the engine purr. But it also affects the whole toolchain, not just the part inside the IDE -- assets created elsewhere (models, animations, audio) typically go through some massaging to be compatible in Unity or Unreal, or the particulars of the scene/project and this often done through some automation, that automation would likely have to be rewritten for a Godot workflow, or even if it didn't, that's certainly what a PM or other decision maker would anticipate.

There's also the asset store full of plugins, or in-house developed plugins, which extend the engine and would also likely need at least some part of it rewritten or replaced.

Re: Free Godot engine port for Nintendo Switch

#100
post #57

Earlier quoted context omitted.

Make the game available on the Switch store for like $5. 450/5 ~= 100, so after 100 purchases you've made back the money. Sure, you'd have to spend extra time to polish stuff, and that would probably not be super easy, but afterwards you have a fully published game the daughter and all her friends could install.

This might not be feasible. If you are making a game for yourself and your kid, you might not be using assets (art, sound, etc.) that you could distribute/sell in your game. I made a game for my daughters 3rd birthday, recorded some Blipi and Coco Melon songs off youtube that I put in the game. I would not have the right to sell the game without securing rights to the songs (unless I want a lawsuit on my hands).

How would you distribute that over the Switch in the first place to the daughter and/or friends if you don't have the licenses to the assets you're using?
Post reply on HN