Hacker News new | ask | show | jobs
by troupo 878 days ago
This is the insanity I don't understand.

Developing for desktop systems is essentially free.

Developing for iOS devices is $99 a year (plus store commission) for literally anyone.

Developing for consoles? Oh, you have to be a business entity, you have to pass approval process, you have to buy a dev kit, you have to... And then also pay a commission.

6 comments

> Developing for iOS devices is $99 a year (plus store commission) for literally anyone.

Don't forget having to buy a MacOS device in this equation.

Yeah that's pretty prohibitive for most people who couldn't spare $450 for a switch dev kit
Develop on a Hackintosh (either bare metal or VM, there's more than enough guides for both), build using Github Actions, and that's it. If you want to stay fully legit, rent a Mac instance from AWS or the myriad "Mac-as-a-Service" companies and be done with it.
I bought an XBox, too.
Thank US 1983 crash for that.

Gatekeeping is a way to avoid a minium level of quality, instead of a dumpster copy cat trash that inudates all the stores where there is no control.

Want to learn how to do consoles?

Get a toy handeld using ESP32 or Arduino.

PC gaming had tons of shovelware since the beginning and even got both good propietary and libre software games with great quality.

So did the Game Boy, which the NIntendo seal of quality was almost given for free because lots of games were junk even under the GBC era.

Exactly because anyone can do it.
Then explain some "games" for the Game Boy Color where the quality was very subpar.
You said it yourself, Nintendo platform bouncers let too many spoil the party.

Here is the thing, we aren't entitled to anything in life.

Don't like the way consoles work? Don't buy them.

> Here is the thing, we aren't entitled to anything in life.

Are you sure about that? I'm entitled to a lot of things if my country's laws are anything to go by, for some reasonable definition of entitlement. I could be entitled to running my own software on a Switch if lawmakers say so. The EU already forced Apple, so what's another platform?

There's quite notoriously no minimum level of _quality_ required to publish on the Switch store.

Here are three identical low-quality Switch games from three different publishers:

https://www.nintendo.com/us/store/products/word-chef-switch/

https://www.nintendo.com/us/store/products/chef-word-ardee-s...

https://www.nintendo.com/us/store/products/eat-your-letters-...

And here's the Unity asset that these games use almost verbatim:

https://assetstore.unity.com/packages/templates/packs/word-s...

If Nintendo wanted to gatekeep on quality, publishers wouldn't be able to publish Unity assets directly to the shop, much less multiple publishers shipping the same asset.

If OP's kid buys a Unity asset and publishes it directly to the eShop, she'll have done the same amount of work as these publishers and produced the same quality of app. She can't because of Nintendo's developer program, not because Nintendo would disqualify it as poor quality.

> If OP's kid buys a Unity asset and publishes it directly to the eShop

I think the root case of the "kids can't write games for their peers" isn't Nintendo or anyone else. Both Apple and Switch are praised by the parents for their restricted platforms. You can give a kid both of them and be sure that that kid wouldn't install age-inappropriate apps or games. Self-made stuff needs to be moderated heavily or kids will share pornographic games (i mean they are kids. Who haven't tried to play at least one "age-inappropriate" game by the age of sixteen?).

In my humble opinion, Nintendo just don't want to do too much moderation, so they added hoops after hoops to jump through, until the amount of low-effort apps decreased enough for moderators to do their job thoroughly for every app.

> I think in her peer group the second most popular device after the iPhone is the Switch.

I would say that the inability of sharing anything self-made is why apple and switch are popular choice to buy for your kid. No need to talk about safety measures, if you lock them in a system.

So, IMHO, the conflict isn't between kid devs and nintendo, its between kid devs and their peers parents.

Just because some garbage ends up on the store, doesn't mean all the garbage gets through like on the PC and Android.

Even club bouncers occasionally let the wrong folks get in.

OP's kid has plenty of other options to play with game development.

Also you have to pay to get your game rated by the ESRB (at least if it's physical. Maybe not required to pay money for digital games from what I'm seeing with a Google search? Although we had digital games we still got ESRB rated).

It's been more than a decade since I worked on a console game, but I think at the time that cost us $750.

Xbox One/Series has Dev Mode, but that's only for UWP apps which have severe resource restrictions. If you want to use the Dedicated partition you need a devkit.

The reasons why consoles lock down developer access so hard is because those interfaces are also very useful for piracy. On iOS, because you can get access to developer tools, you can use AltStore to sign arbitrary binaries with your own dev key[0]. Apple may have said "sideloading is a cybercriminal's best friend", but what they meant is "you're all going to steal iOS apps if we let the general public install software without DRM"[1].

The old Microsoft "Darknet" paper[3] built up a sort of theory of piracy, which I still find useful to invoke here. In the paper, they break the piracy ecosystem down into five pieces:

1. Rippers, who pirate new works and make them available

2/5. Seeders, who transmit new works across the network[4]

3. Players that are capable of rendering creative works

4. Indexes that provide information as to where pirated works can be found

To stop piracy, you need to block at least one of these steps. For a variety of reasons, legal action against any of these actors is difficult. Players and indexes are identifiable, meaning we can sue them, but they have legitimate, non-pirate-y uses. Rippers and seeders are hard to conclusively identify, making them impossible to sue. Of course, when people using the power of the state cannot identify criminals, they revert to collective punishment - or in this case, technical restrictions. You can't DRM the seeders or the indexes, but you can encrypt the media, which gives legal leverage over player vendors: either make your player enforce our licensing terms or do not play our media.

But there's still a problem: players can still play unprotected media. Rippers will just strip the DRM and release unprotected data that will play anywhere. This is why the RIAA fought tooth-and-nail to ban DRM-free DAT and MP3 players, and only settled for legal restrictions on DRM removal. Console manufacturers have the advantage that each new console is it's own medium - they can just make players that only play DRM-encumbered work, and then nobody can pirate anything, even if rippers strip the DRM. Hell, even if people jailbreak the players - you control the supply of players, so you can ensure whatever updates you use to 'prevent tampering' are installed before the user even gets to the console. And this is far cheaper than working on new obfuscations that some socially maladjusted loner will break in a few days.

[0] At least, if you trust Riley Testut with your iCloud account password.

[1] In general, people who want to enforce copyright rarely, if ever, come out and say it. The public is generally unsympathetic to copyright owners. It's easier to conflate security of their work from copying with security of your data.

[3] https://www.cs.ucdavis.edu/~rogaway/classes/188/materials/da...

[4] In the original Darknet paper, this was broken down into 'transmission' and 'caching'. This division makes sense for the FTP topsite scene, but not BitTorrent trackers.

A chunk of it is copy protection. Dev devices can necessarily run software not signed by the manufacturer, which means copy protection can be bypassed using PC-like methods and loaded to a dev device. Thus, they want to make sure the dev device is not the device that most consumers purchase.

I think it's a poor tradeoff for such a locked down environment, and anti-educational at that. Obviously console manufacturers have a different opinion on the matter.

It's a little more complicated than that.

Dev devices are typically physically different - containing debug lines and connections that are not present in retail. The Switch itself has 2 different types of dev console: One that looks very much like retail, and another that is about 4x as thick and has every port under the sun.

Secondly, these consoles are physically fused differently. Instead of having retail encryption keys burned into the SoC, they have custom keys issued to the developer installed. This means dev consoles cannot run retail software for lack of a key to decrypt it - but they will decrypt, and run, anything the developer signs.

Both of these things are physical modifications, ultimately. Dev consoles, thus, do not come off the same production line as retail; but are customized and modified devices with their own manufacturing process. That's not cheap.

Sure, the Xbox does get away with the retail console having a "Dev Mode." That's a testament to the Xbox's security having gone 12 years without a crack. Making physically different retail and developer consoles is a much safer solution for anyone who isn't Xbox.

You're starting at the wrong end. There is no need for there to be a separate "dev console".
It's because they want(ed) to keep a higher standard of quality on their store and keep homebrewers and cheaters away.
I believe you're right, but the first part didn't work. The Switch eShop has an incredible amount of shovelware.
Hence the want(ed).