Live data from Hacker News

One game, by one man, on six platforms: The good, the bad and the ugly

ruoyusun.com

61–70 of 156 posts

Re: One game, by one man, on six platforms: The good, the bad and the ugly

#61
post #50

If I had a time traveling magic wand, the one Software Thing I would wish for would be that native, cross platform toolkits had won the war rather than the whole industry punting and declaring The Web Browser to be the target platform, or these super-high-level Game Engines. For decades, I always hopelessly thought the OS and hardware gaps would eventually be bridged by something like Qt or SDL or wxWidgets, and we'd…

Electron would be great if it weren't for the performance, security, configuration, and packaging issues. The latter two seem to be what OP suffered the most. html/css/js (and the frameworks on top of it) seem like a pretty low bar to build games and business logic for a variety of apps which, despite huge efforts from OP, could run on pretty much any modern platform.

Native is the only way to go. The problem of the mythology of cross-platform (pseudo-)development is having to know both the underlying platform AND the abstraction layer. This explains why RubyMotion, PhoneGap/Cordova, and Appcelerator/Titanium were flops, and so shall Microsoft's MAUI.

There is nothing for free. Abstractions cost performance and confuse troubleshooting.

Re: One game, by one man, on six platforms: The good, the bad and the ugly

#62
post #4

> Linux accounts for less than 1% of the total players I think some types of games (think factory building, zachtronics style puzzle games, ...) might have a bigger percentage, though that's only a feeling I have, I don't have numbers myself, I just see such games more often have a Linux release on Steam that seems appreciated.

I published a not-super-popular (edit: but free) esoteric programming game on Steam and of the I'm sure the hardware survey is biased towards Linux, but it's still a surprising result! Especially so, given that I originally only released the game on Windows (and later added Linux support after getting multiple requests to port the game).

Thank you for showing me this wonderful game. That 5% is going to get a tiny bit higher:)

You could consider having a donation "DLC" for the game, I would happily pay for it.

Re: One game, by one man, on six platforms: The good, the bad and the ugly

#63
post #43

I suppose Steam handles Windows game installation, so you don't need Windows installer code signing. But it's worth pointing out that for non-Stream applications, compared to the cost of signing a Windows installer, the $99 yearly fee for Mac is an absolute steal. For windows, you need to get an EV code signing certificate and the cheapest option is $150 US per year, but you ALSO need a >$100 token device. Typical pr…

That's horrible and dastardly, but at least it's far easier for users to bypass SmartScreen on Windows than the block on Macs. I wonder how many Mac users actually know how to.

If you just get a regular (cheaper) code signing certificate I realise SmartScreen will still block you anyway until enough people have installed it, but how many is "enough"?

Also, previously: "Microsoft Defender SmartScreen is hurting independent developers" https://news.ycombinator.com/item?id=23392404

Re: One game, by one man, on six platforms: The good, the bad and the ugly

#64
post #51
post #18

Earlier quoted context omitted.

What would make such a platform less of a compromise than a web browser? How would programming in C++ be less pain than programming in JS / HTML / CSS? At the very least, JS code won't write past array bounds, or smash the stack. From relevant olden times, Lisp and Smalltalk environments were closest to the ideal. They were expensive though, and nobody distributed them for free, as Netscape did with the browser. They…

> How would programming in C++ be less pain than programming in JS / HTML / CSS? At the very least, JS code won't write past array bounds, or smash the stack. A native ABI doesn't mean you have to use C++ though. I can use Qt from Python if I like, or even from the JVM (slightly fiddlier, but doable). I can't do that with the browser. > nobody distributed them for free, as Netscape did with the browser. They also not…

I believe that aforementioned “robust security model” was removed several years ago due to issues with its actual robustness https://openjdk.org/jeps/411

Re: One game, by one man, on six platforms: The good, the bad and the ugly

#65

One issue with publishing a browser-based game that this article glosses over is: managing save data. The browser provides Local Storage, but that isn't reliable as a "source of truth" since browsers (mostly on iOS, I think) may delete the data periodically (thanks, iOS, for deleting my Wordle history!) or when clearing browser history. Aside: the worst situation is when publishing on itch.io and playing on an iPad--…

What about calling navigator.storage.persist() to prompt the user to allow persistent storage?

Wow, thanks for the warning about that itch.io problem. It's discussed here: https://itch.io/t/2636350/localstorage-doesnt-work-for-html5... and behaviour of Safari's default-on "Prevent Cross-site Tracking" here: https://stackoverflow.com/questions/63922558/safari-localsto...

So this is happening because itch.io hosts the game on a CDN subdomain such as v6p9d9t4.ssl.hwcdn.net which may change at any time? If it doesn't change, it sounds to me like there should be no problem, but I suspect I misunderstand. And sounds like it's Safari, not just iOS?

I'm about to start letting users export their games to html5, almost all of which will end up on itch.io, so really need to solve this too.

Re: One game, by one man, on six platforms: The good, the bad and the ugly

#66
post #60

Earlier quoted context omitted.

In this case they're shooting themselves in the foot. By requiring potential developers to own a Mac, they sharply limit their developer audience. Thus, fewer apps being made for their platform, thus fewer apps to drive using the platform, thus fewer sales of their precious hardware.

They showed time and again that they don't want a too-wide developer audience. They already have too many apps, and see the choice fatigue in users. They want big companies professionally produce polished stuff that commands, say, $14.99 in app store, of which $5 is Apple's share. They want stuff like Beatmaker or ProCreate. Small fry need not apply; if they insist, they should at least clear the threshold of owning…

> They showed time and again that they don't want a too-wide developer audience.

Indeed. And that is (one reason) why Mac will never be more than a third-rate platform. As I said, they're shooting themselves in the foot.

Re: One game, by one man, on six platforms: The good, the bad and the ugly

#67

If I had a time traveling magic wand, the one Software Thing I would wish for would be that native, cross platform toolkits had won the war rather than the whole industry punting and declaring The Web Browser to be the target platform, or these super-high-level Game Engines. For decades, I always hopelessly thought the OS and hardware gaps would eventually be bridged by something like Qt or SDL or wxWidgets, and we'd…

For games SDL still gets a good amount of usage. As do a few other frameworks that I think fit your criteria if I understand you correctly. Examples - SDL - GLFW - Openframeworks - Monogame/FNA/XNA/etc - Haxe

If you think any of these will save you from the issues of cross platform development and platform specifics, in a different way from what is described by the post, you are wrong.

You will still suffer with notarization and appleness, Android stuff being pressured by Play Store policies changing constantly, and every platform/store specifics, adapting controls, form factors, gestures...

Re: One game, by one man, on six platforms: The good, the bad and the ugly

#68
post #43

I suppose Steam handles Windows game installation, so you don't need Windows installer code signing. But it's worth pointing out that for non-Stream applications, compared to the cost of signing a Windows installer, the $99 yearly fee for Mac is an absolute steal. For windows, you need to get an EV code signing certificate and the cheapest option is $150 US per year, but you ALSO need a >$100 token device. Typical pr…

The token requirement is a pain. We settled on using Azure Key Vault and AzureSignTool [1]. It costs $5 a month for a HSM key and you can sign things from anywhere.

It's not a protection racket...

[1] https://github.com/vcsjones/AzureSignTool

Re: One game, by one man, on six platforms: The good, the bad and the ugly

#69

Earlier quoted context omitted.

I don't feel like it's terribly hard to predict that the Mac gaming market is going too small to make financial sense for a solo-dev game

There is a market but not for the hobbyist. You have better luck on iOS than macOS for games. However, tools, you can make a killing selling simple tools with sexy UX on Mac.

> However, tools, you can make a killing selling simple tools with sexy UX on Mac.

I've been thinking about doing something like this recently but I'm not a heavy mac user these days. Any tips on what people are looking for in small tools?

Re: One game, by one man, on six platforms: The good, the bad and the ugly

#70
post #51

Earlier quoted context omitted.

> How would programming in C++ be less pain than programming in JS / HTML / CSS? At the very least, JS code won't write past array bounds, or smash the stack. A native ABI doesn't mean you have to use C++ though. I can use Qt from Python if I like, or even from the JVM (slightly fiddlier, but doable). I can't do that with the browser. > nobody distributed them for free, as Netscape did with the browser. They also not…

I believe that aforementioned “robust security model” was removed several years ago due to issues with its actual robustness https://openjdk.org/jeps/411

If you read your link, it was removed largely because the things that used it (such as Java Web Start) had been removed, which was more because they failed in the market than because its actual security record was particularly poor.

(Yes, there were occasional sandbox escapes, but there are occasional sandbox escapes in web browsers too. Few security mechanisms are perfect)

Post reply on HN