With the exponential rate of development I doubt it'll take a full 20 years to catch up, but it'll still be a while before we've completely reinvented all of the wheels...
But yeah, for the forseeable future, "look at how I re-implemented this ancient technology with modern foundations, and it only took half the time! (And 10% of the efficiency and 100x more RAM)" is all we have to look forward to :-(
Web app performance will always be playing catchup with native, and while the performance gap may shrink (perhaps to the point of irrelevance) it will never be eliminated. The OS and device makers are making the rules.
The real future is in our increasing ability to recognize and build to unique platform advantages in integrated ways. Dismissing the web platform as merely 'distribution' minimizes the value of a universally accessible, instant connection to everyone. It allows for different kinds of experiences unrelated to native performance. As the performance gap b/w platforms decreases, we may see more rich experiences for a web audience that's interacting in realtime with native or console users, broadening what's possible for everyone.
Wolf3D is also an interesting example because the rendering is done in software (so your high powered HD video card doesn't help at all) and I guess a lot of development time was spent writing asm routines/hacks to take shortcuts with the necessary math.
To be fair, a lot of the reason that people are remaking these old games is because people like playing old style games and the people building these demos are probably doing it in a very small team (or even solo).
It should certainly be possible to remake Half-Life (maybe even HL2?) entirely in javascript/WebGL or make more sophisticated 3D games. But we won't see it until some bigger gamedev is willing to risk a fair chunk of change on the browser as a gaming platform.
They are, just as they're active on mobile platforms - EA, Epic and Square-Enix are notable examples. But they don't bother with AAA games (much as they like to pretend they are and attach them to those franchises), instead they target the casual player, that spends up to half an hour on a game per time, and/or that gets addicted to addicting games (w/ microtransactions). And the formula works for them; low development cost (5 - 10 dev team), high returns. Epic's Infinity Blade (and sequel) are the highest grossing games (in terms of development cost versus returns) of all time, at least, for Epic.
Most FPS still give me motion sickness, but I distinctly remember throwing up with the first Wolfenstein.
The transformative power of all of those (excepting maybe GMail) was realized in the form of cgi-generated webpages (click, refresh). Performance is not a requirement for those applications, whereas it is very much a requirement for interactive games. 20 years might be a little too harsh, but only a little.
The first time I played it, I had assumed it was a Flash game, and not html5, based on the quality of it.
It forced me to download a DMG containing "TurbulenzEngineInstaller.app" which itself contains "npturbulenz.plugin" and an "install_script" that installs that plugin into "/Library/Internet\ Plug-Ins/".
About as good as you can get plugin installation to be, I guess, but it's not what I'd expect from an HTML5 game.
[Edit: it's back online, woo! http://www.elizium.nu/scripts/lemmings/]
This was more to kick off a discussion about "are we there yet?", and if not, what is still missing?
I mean, I know what I think is missing, but I've not tried building HTML5 games to understand if HTML5 is the bottleneck, or if other dependencies are the bottleneck.
Pros:
Runtime is very widely available
Cons:
Relatively poor performance
Monetization strategy is not clear
Browser differences increase cost of development
People who are professional game developers have invested a lot in C++ , have a lot of experience in that area and tend to see Javascript as something for developing websites with.
So on top of the other problems you have persuade them that it's something worth spending the time to get proficient in.
It's broken on chrome now for some reason, but works in IE9, Firefox, Safari and Wii-U.
IIRC Flash did better.
The timing is awful in a lot of cases which makes it pretty much unusable for anything but maybe background tracks. I've had audio clips that had to be played in a 50ms time frame fail to play back a third of the time on occasion.
I'd rather have no sound than buggy sound.
Now I'm working on the next generation of it, since I was still learning my way around audio with that one and made a mess of the architecture. I'm starting off with a Web Audio-for-Haxe project( early stages, you can watch it here https://github.com/triplefox/hxAudio ) - I'll be building off of that to add the synthesis and MIDI parts, so that you have pretty much everything needed for the playback parts of an audio app; recording isn't on my radar yet - especially since the specs are very early still. It will be possible to compile out the lib to pure JS, so you won't necessarily have to be using Haxe if that's not your workflow.
Go in any store that sells video games. Look at the backs of all the boxes. Find similarities.
I actually wrote a chrome extension to add a log to goko https://chrome.google.com/webstore/detail/goko-log-viewer/ka...
Post about some of the goko's issues http://www.roadtolarissa.com/speed-issues-with-gokos-online-...
sad that flash has so many issues (security, performance, etc) because there are some really nice compositional tools for creators in that ecosystem.
The only pro I know of is that it runs on IOS and flash does not (actually flash does run on JailBroken IOS). In 3 years IOS will power less than 20% of mobile devices. What then?
My big rub with HTML5/CSS/JavaScript and all this standards crap is that it moves sooooo slowly. I prefer innovation at whatever speed the minds of man can allow. Now we are restricted to creating frameworks built on top of (and limited by) HTML5 to create any kind of innovation (same with JavaScript) it makes me sick. I saw apps like this a decade ago written in Flash. I know that widespread compatibility is the reason that things like HTML5 win out, that and lazy developers who don't want technology to change/innovate because that would mean that they would have to learn something new more often.
What is my solution? I prefer the plug-in model. I think the spec that browsers should follow is one for an secure and OPEN Plugin architecture. If this concept was adopted, we would have a lot more (and better) options besides HTML, Flash and Silverlight to write web apps in. I think of it like this. Look at the iPhone, I picture every app you download as basically being a plug-in for IOS. Each can be written with their own completely different language and UI markup (and many are). Over 30% of IOS apps are not written in C/Objective C. There are a myriad of tools, frameworks and development environments which compile other languages and link them against the IOS libraries. This is how the web should be. That is more OPEN than following a spec that is publicly available, it gives inventors/innovators much more FREEDOM to make the world a better place.
And flash is going the way of the dodo because innovation couldn't happen at top speed, because it was limited by a gatekeeper that insisted on keeping it closed.
The lacklustre support for Silverlight was a demonstration of how badly we were burned by flash.
While it's taking a long time to catch up, we're now free to expand the capabilities without being in a situation where a single party can hold everyone for ransom by refusing to support specific browsers or OS's.
There are many negatives to having HTML5/CSS/Javascript as the foundation, but they are dwarfed by the problems of the alternatives we've had to deal with.
We tried the plugin model back in the 90's. It was uniformly rejected by users and developers alike.
This is just wrong. It was on 98% of desktops and there were over 1 million Flash developers. Mobile is what really hurt flash (actually IOS's rejection of it)
flash is going the way of the dodo because innovation couldn't happen at top speed, because it was limited by a gatekeeper that insisted on keeping it closed
It still managed to stay FAR in front of other web technologies which stood nearly at a standstill for over a decade. Closed is not what I am suggesting anyway. Sure someone can develop an plugin that is closed, but the plugin architecture itself will be open and adopted by all browsers who want to compete.
The lacklustre support for Silverlight was a demonstration of how badly we were burned by flash.
I disagree, I think that Microsoft's stagnation and terrible management of 95% browser share is what doomed any web UI tooling to come out of Redmond. Internet Explore was so riddled with bugs, so vulnerable to virii/malware and so stagnant that it became a stench in the mind of nearly every web developer. This was the biggest mistake IMO that Microsoft has EVER made. They could have pushed innovation and owned the search engine market at the same time. They will never get it back from Google now.
While it's taking a long time to catch up, we're now free to expand the capabilities without being in a situation where a single party can hold everyone for ransom by refusing to support specific browsers or OS's.
Having a standard for plugins in the browser would not allow this situation to happen. A lot has changed in the last 12 years. Sure Macromedia was the only one who made a viable plugin to fill up the Internet Explorer window with, but that would not be the case today. We would see open source and competing products popping up everywhere - Just like the JavaScript/CSS/HTML5 frameworks we are seeing pop up every month. These frameworks try to innovate past the limitations and cumbersome methods that the standards constrain us to. We would be a lot better off if there was an open and secure plugin architecture with access to a VM, Drawing and DOM API (Perhaps the HTML5/CSS/JavaScript implementation would even run on top of this API).
But I'm genuinely curious: at what point will we stop being fascinated by what can be done in HTML5, and actually start focusing more on what is actually being done -- regardless of the technology used.
Or to put it another way: when will HTML5 games stop feeling like HTML5 games?
For example, if this were on a console, I think it would still be cool, but it's lacking a certain "game" feel to it. It still feels like playing an old school game on a PC keyboard, and there still seems to be a sort of keyboard-to-response latency that I find in most HTML5 games. Not to mention, no music/sound.
Again, I'm not knocking it for the effort. I still think it's pretty dang fun, even for an HTML5 game. But it still feels like an HTML5 game.