Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

the web is not viable for games because browsers are unstable targets that change things constantly, breaking the games. Back when there was a stable deployment target (flash) games were everywhere.


This is very true. I built a game to go along with our wedding invitations. I’ve been maintaining it for the past 6 months, and it has stopped working on one browser or the other multiple times. This is despite the fact that I’m using a popular actively maintained JavaScript engine.

It noticed just a few days ago that is wasn’t working on my iPhone because mobileSafari decided to stop reporting itself as safari and only as “mobile safari”.


It noticed just a few days ago that is wasn’t working on my iPhone because mobileSafari decided to stop reporting itself as safari and only as “mobile safari”.

That points to your code doing browser agent sniffing. There are much better approaches to feature detection these days, precisely because of the issue you've encountered. I can recommend https://developer.mozilla.org/en-US/docs/Learn/Tools_and_tes... as a good place to start.


It wasn’t my code, it was engine code, and it was a problem where Safari reports that it doesn’t support a feature that it actually does.


Why do things break? The underlying primitives are as simple as a canvas element, no? I'd think it would be hard to break an array of literal pixels.


Well for starters even getting a canvas based UI working that supports all DPIs, all aspect ratios, live resize, clicks, and multi-touches is non-trivial.


And unless we do some strange CSS tricks to force acceleration, there isn't even the guarantee that canvas is doing hardware acceleratd drawings.


Not to mention text input.


Audio is what was breaking. Also WebGL outperforms canvas, and it’s more complex than drawing a bitmap to the screen.


Sound stuff is still pretty unstable.


Web assembly looks quite stable.

It is hard to interoperate with the page, and it will keep changing on that point for a while, but that's not something that games do. For games it's all drawing on some element, what is very well defined already.


Yeah, but then you need cavas and WebGL to draw and there isn't any way to know if they are actually being hardware accelerated, or if the browser vendor decided to blacklist the users hardware.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: