Live data from Hacker News

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

ruoyusun.com

11–20 of 156 posts

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

#11

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…

Platform innovation requires control over your own API, because you want to expose the features and architectures that make your platform excel and that weren’t accounted for in abstracted tools. There will always be incompatible native API’s.

Meanwhile, a ton of apps and games are completely agnostic to those cutting edge platform differences and are going to thrive in least common denominator sandboxes. And making those sandboxes easy to use for some specific style/genre/skill-level is always going to be the competitive difference between them. So the big high-level things are always going to exist too.

But… so are the near-metal abstractions that let you cut through and interleave cross-platform and platform-specific code even in high-performance paths.

You wanted the last group to “win”, but the ecosystem inevitably involves all three. There will always be something like Metal, there will always be something like Unity, and there will always be something like SDL. Winning isn’t necessary.

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

#12
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).

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

#15

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--…

Possibly https://developer.mozilla.org/en-US/docs/Web/API/File_System...?

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

#16

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--…

Yes, the FileSystem API works well.

It's getting some improvements soon (at least from Chrome), currently requires renewing approval on every page load. https://bugs.chromium.org/p/chromium/issues/detail?id=101153...

It works well for my use case. If you want to see it in action: https://web.zquestclassic.com

The problem of course is not all browsers support. As a backup, I use either indexdb or local storage.

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

#17
post #15

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--…

Possibly https://developer.mozilla.org/en-US/docs/Web/API/File_System... ?

FF only support the origin private interface for the FSAPI, which has all the same problems re: persistence as local storage

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

#18

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…

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 also notably lacked any protections against untrusted code. But worst of all, they'd likely run even more poorly on consumer PCs circa 1995.

So, enjoy Typescript, V8, flexbox, canvas, web workers, etc. You could end up having a worse deal.

Post reply on HN