Live data from Hacker News

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

ruoyusun.com

121–130 of 156 posts

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

#121
post #97

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…

The Java Applet was this. Flash also was this. Now the browser is just a bloated pile of crap.

As opposed to Java applets?

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

#122
post #92

Earlier quoted context omitted.

Even without the time traveling, I would be happy if there was just a single stable, non-bloated, reliable, portable platform that could be used for when you just want to Write Once and then know that it will Run Everywhere _forever_ (* insert disclaimer about nothing literally lasting forever). Not something that rolls out breaking changes every six months. Or six years for that matter. Would not even have to be an…

Web browsers are remarkably backwards compatible. 20 year old websites continue to work fine. The things you linked are only advised against for new code: > These features are likely stable because removing them will cause backward compatibility issues and break legacy websites. (JavaScript has the design goal of "don't break the web".) Still, they are not cross-platform portable and may not be supported by all analy…

They are also typically browser-specific extensions that were never cross-platform in the first place, features added based on proposals that were not in the end accepted (such as the Object.observe/unobserve API), or features from the Old Times™ before the specs were fully defined (and therefore typically also not cross-platform).

You've also got a bunch of deprecations for things that were in the spec, will almost certainly be supported forever, but are now seen as bad API design for one reason or another - usually because they don't handle edge cases correctly for historical reasons, or the name doesn't reflect what the function actually does. Unless any of these features actively leads to a security issue, they're very unlikely to be removed.

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

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

I always thought the hardware survey was biased towards windows. Running both windows and Linux I seem to never get the hardware survey on Linux but get it yearly in windows.

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

#124
post #92

Earlier quoted context omitted.

Even without the time traveling, I would be happy if there was just a single stable, non-bloated, reliable, portable platform that could be used for when you just want to Write Once and then know that it will Run Everywhere _forever_ (* insert disclaimer about nothing literally lasting forever). Not something that rolls out breaking changes every six months. Or six years for that matter. Would not even have to be an…

Web browsers are remarkably backwards compatible. 20 year old websites continue to work fine. The things you linked are only advised against for new code: > These features are likely stable because removing them will cause backward compatibility issues and break legacy websites. (JavaScript has the design goal of "don't break the web".) Still, they are not cross-platform portable and may not be supported by all analy…

20 year old browsers don’t work at all, though. You can’t browse any of the top 100 sites, and you won’t be able to download an old release of firefox with your old version of internet explorer, because SSL.

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

#125

Earlier quoted context omitted.

> 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. Yeah, I’m not buying that. It’s the story they tell you of course, but I think that’s a marketing lie. Let’s be clear first that hardware is the platform. Your comment seems to agree with that. Note that for quite a long t…

Both things can be true.

I was trying to respond to "Platform innovation requires control over your own API". The short answer "no it does not": look at CPUs, we just need their ISA to take advantage of any improvement.

In fact, the best way to expose any hardware improvements is to give us the data sheet. Gate keeping direct access to the hardware with an API effectively reduces user access to innovation.

One could criticise how I conflate hardware and platform. I’ll just note that all the goodness we’ve seen the past 40 years were made possible by hardware. Personally I saw precious little innovation coming from software specifically. So even if a platform is more than just hardware, actual innovation mostly comes from hardware anyway.

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

#126

Earlier quoted context omitted.

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…

> 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. Yeah, I’m not buying that. It’s the story they tell you of course, but I think that’s a marketing lie. Let’s be clear first that hardware is the platform. Your comment seems to agree with that. Note that for quite a long t…

Even UNIX isn't one platform, hence why POSIX is only good for CLI applications.

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

#127
post #50

Earlier quoted context omitted.

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.

MAUI is Xamarin.Forms rebooted, and it will be a flop only because Microsoft decided to rewrite it, instead of improving it.

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

#128
post #88

Earlier quoted context omitted.

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

They've been at it for over 40 years and grew to the most valuable company in the world. In many computer fields they still are THE platform (anything design for example) so clearly the software they do have is plenty. Can you elaborate what you mean by shooting themselves in the foot? Do you see them as a centipede who sacrificed one foot in exchange for all the riches in the world? Or do you mean that if they were…

While I agree with you in principle, I was there in the 1990's and it was a matter of luck that they didn't went down.

Microsoft's money, buying NexT instead of Be, NeXT employees takeover from inside, having Steve Jobs back at the helm, ...

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

#129

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…

Flutter is actually pretty close to this right now. I'm building an app that targets Windows, Mac, iOS and Android and so far it's working really well on all of them with more than 90% code reuse. If Google doesn't give up on it I think it's going to be a much better stack for cross platform applications than the browser is.

Flutter has a multitude of problems, at Google's inability to support anything long-term is probably the smallest.

Flutter apps don't look or work like native apps, and the only people who will put up with that are people who have to do so because their enterprise mandates it. Flutter apps have horrible battery performance. Flutter apps are always at least six months behind what is possible with native toolkits and SDKs. Flutter apps use a language that literally no one other than Sass or Flutter developers actually want to use and that offers exactly no benefit over the dozens of other possible languages out there.

Flutter is Java Swing, but worse in pretty much every way.

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

#130
post #80

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…

Could Flutter from Google be considered a good enough solution?

Only if you don't value your battery life, usability, proper accessibility, or developer ergonomics with a language that has no raison d’être.
Post reply on HN