5 ms·
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 deploymen
by liveoneggs 6y ago
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.
- learc83 6y agoThis 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”.
- StavrosK 6y agoWhy 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.
- jan_Inkepa 6y agoSound stuff is still pretty unstable.
- jayd16 6y agoWell 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.
- sfjailbird 6y agoNot to mention text input.
- pjmlp 6y agoAnd unless we do some strange CSS tricks to force acceleration, there isn't even the guarantee that canvas is doing hardware acceleratd drawings.
- learc83 6y agoAudio is what was breaking. Also WebGL outperforms canvas, and it’s more complex than drawing a bitmap to the screen.
- onion2k 6y agoIt 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_testing/Cross_browser_testing/Feature_detection https://developer.mozilla.org/en-US/docs/Learn/Tools_and_tes... as a good place to start.
- learc83 6y agoIt 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.
- marcosdumay 6y agoWeb 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.
- pjmlp 6y agoYeah, 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.