And where are you going to get your game assets from? Are you going to try and stream those over the network? Good luck with that. Or are you going to show a long loading screen as you try and fight with local storage limits to prefetch all your assets?
To give you a scope of the problem of game assets, "small" indie games like Stardew Valley or Terraria are close to 500MB. How on earth are you going to deploy that on the web?
And if you are assuming a reliable, super-fast internet connection to stream game assets over (along with paying for the CDN to host it), well cloud gaming already does this better and already exists in a meaningful way. Why struggle to fight with the incredibly pathetic limits of a web browser when you can just stream a video?
>"small" indie games like Stardew Valley or Terraria are close to 500MB. How on earth are you going to deploy that on the web?
With lazy loading? Or just an installation progress bar. What's the problem? The user has to click on the permissions dialog, allowing extended space usage, and that's it.
>reliable, super-fast internet connection
It wouldn't need a connection more reliable than what Steam requires for proper functioning.
>along with paying for the CDN to host it
I assure you the costs for a minimally successful game are minuscule when compared to the 30% cut Steam takes.
What you lose is the exposure that a release on a store like Steam gives you. That's not an insignificant problem, and is much more problematic than all the technical stuff you've mentioned.
>Why struggle to fight with the incredibly pathetic limits of a web browser when you can just stream a video?
And now you're back to 2006 era performance on a good day. 72 Mbit/s would be considered a pretty good internet connection. It's also the speed of a PS3's blu-ray drive.
People have been complaining about the 80-100MB/s on the outgoing generation of consoles for a long time now. Regressing by ~10x isn't a compelling argument.
> Or just an installation progress bar. What's the problem?
Without background downloads or updates? Every time someone wants to play your game, they're forced to stare at a progress bar that can easily take upwards of an hour depending on the game ("smaller" 3d games like subnautica push 10GB)? And you somehow don't see the problem?
> I assure you the costs for a minimally successful game are minuscule when compared to the 30% cut Steam takes.
And I assure you that you don't have to deploy on steam, either. You can both be a native game and get all the benefits of it and not pay anyone an app store fee! You don't have to suffer the web's treadmill of being a decade+ behind to have that.
If it's loading faster than user "consumes" assets, it doesn't matter how fast it is. It's not different for native games that allow you to play earlier than the whole thing finishes downloading.
>And you somehow don't see the problem?
Don't stupidly update the entire thing every time? Send deltas? Don't update as often? As for not having background updates it's a minor issue anyway (I for example don't start Steam unless I'm going to play), and there are Progressive Web Apps and Service workers to solve this issue.
>You don't have to suffer the web's treadmill of being a decade+ behind to have that.
Whoever needs the latest features can of course use a native platform. For developers who don't need the latest features or especially heavy graphics, WASM+WebGPU will be a viable option. That's all.
>You can both be a native game and get all the benefits of it and not pay anyone an app store fee!
And the user has to risk trusting me executing native code, which would definitely lower conversion rate.
You are missing the tiny detail that browsers are free to clean the cache any time they feel like, you as game developer have nothing to influence this, it is completely out of your hands as security measure not to bomb user's computers.
AAA titles are already constrained by hard drive bandwidth, which is measured in Gbps on newer systems. They can’t keep all assets in memory. You’re going to have to have a top tier internet connection to get the same performance.
On top of that a browser thread can’t rely on having much more than half a gig of RAM assigned to it.
Are you seriously considering AAA titles in a browser? Is that the benchmark WASM+WebGPU has to pass or otherwise it's worthless?
AAA titles are famously heavy in both GPU and CPU loads, and nobody is proposing to run them in a virtual machine, especially in the 32 bit one. (
memory64 is at the proposal stage)
> To give you a scope of the problem of game assets, "small" indie games like Stardew Valley or Terraria are close to 500MB. How on earth are you going to deploy that on the web?
Someone watching YouTube videos is sucking down hundreds of megabytes if not gigabytes per hour: the higher-resolution the video the more bandwidth required. Most video game assets require less bandwidth (megabytes per minute of consumption time), and can be cached locally.
When designing games for the web, creators will have clear incentive to apply more aggressive compression to everything they send over the wire and figure out how to make do with smaller assets, to cut bandwidth. Games designed to be downloaded have a relaxed size budget and can afford plenty of inessential bloat.
> Someone watching YouTube videos is sucking down hundreds of megabytes if not gigabytes per hour: the higher-resolution the video the more bandwidth required. Most video game assets require less bandwidth (megabytes per minute of consumption time), and can be cached locally.
This is completely incorrect. Games regularly saturate and are limited by the 80-100MB/s that can be streamed from a PS4 or Xbone hard drive. This is in fact the biggest differentiating feature of next gen consoles - the switch to NVME and even streaming directly from disk to the GPU, bypassing the CPU bottleneck.
Meanwhile YouTube video, and indeed most streaming video, is well under 10MB/s. Netflix is even content to only recommend 25mbit/s for 4k HDR content.
> Games designed to be downloaded have a relaxed size budget and can afford plenty of inessential bloat.
This is such an arrogant and asinine statement. Games already exclusively ship highly compressed assets. They aren't just pissing away storage space for the lulz, and if they only tried a little harder could somehow cut sizes to 1/1000th of what they are today. Especially not to satisfy the needs of a platform that provides nothing but problems and headaches.
You can't simultaneously claim that WASM and WebGPU will enable a new era of high quality web based games while just entirely ignoring all the actual problems with shipping games on the web. Which WASM and WebGPU literally solve none of the issues. WebGL2 is already competitive on feature set and capabilities with mobile, and yet casual web games are still largely dead - a regression from the flash era, even.
>> YouTube videos is sucking down hundreds of megabytes if not gigabytes per hour
> This is completely incorrect. [...] YouTube video, and indeed most streaming video, is well under 10MB/s.
10 MB/s is the same as 36 GB/hour. So we are in agreement.
But what game uses more than 36 GB of assets for 1 hour of play? I can’t imagine that is at all common. What kind of assets are they shipping that use that much data?
You don't understand what the phrase "well under" means, do you? It means less than. Videos use less than 10MB/s. Netflix estimates 1-7GB per hour. Games need to load that much data in under a minute. Games don't stream data over an hour, they need to load a world instantly and can then stream in things you don't see. It's those bursts that matter, as that's what players are stuck waiting on to complete before they can get back to playing.
Think of it as if video keyframes were 1GB. Video streaming wouldn't exist in such a world as nobody is going to watch a loading spinner for 20 minutes. No, it'd all be a world of pre-fetched, downloaded content. Which unsurprisingly is exactly how game stores & consoles work.
Yes, and my estimate was “hundreds of megabytes if not gigabytes per hour”. So apparently Netflix also agrees with me.
> Games need to load that much data in under a minute.
This is based on design decisions from the programmers, not some kind of iron law of nature. Obviously you can’t just drop a game designed for one set of constraints into an entirely different context without change and expect it to work precisely the same way.
> This is based on design decisions from the programmers, not some kind of iron law of nature.
No, it's based on that's what textures and model quality expectations are. Reducing that size is directly reducing image quality.
You can make a web based game that looks straight out of 2002, sure. But you can't make one that looks contemporary, and WASM+WebGPU aren't changing that.
And of course no game developer is going to bend over backwards and make their game look like shit so it can run in a web browser for no reason other than to satisfy the ridiculous beliefs of web evangelists.
>To give you a scope of the problem of game assets, "small" indie games like Stardew Valley or Terraria are close to 500MB. How on earth are you going to deploy that on the web?
A friend of mine just got 350 Mbps optical fiber to his house. I was wondering what would come along to eat up that kind of bandwidth, you just answered the question. Someone playing a game on the web could also be seeding the thing on bit-torrent at the same time, thus cutting down the hosting fees for the developer.
Back in the early 2000's you could deliver a fun immersive flash based game in under a megabyte. Sites like miniclip had dozens of games that could easily absorb several hours of fun.
I absolutely agree that this is 100% possible with HTML5, and the only we’re not seeing it happening on a massive scale is a because of a cultural blind spot - as evidence, most of the comments in this thread. The technologies we have now, like Phaser, are vastly superior for building games for the web than Flash ever was (I was a full time game developer for 10 years, and a full time HTML5 game developer now.) And I believe it’s actually easier to monetize these using Stripe than through an App Store. Your game lives on a URL, which is just click away, and paying for it is just one more click - this is about 10 seconds of work for a user. And, you control 100% of your business from production to distribution. There’s a huge pile of money lying on the table here for anyone who can see this.
To give you a scope of the problem of game assets, "small" indie games like Stardew Valley or Terraria are close to 500MB. How on earth are you going to deploy that on the web?
And if you are assuming a reliable, super-fast internet connection to stream game assets over (along with paying for the CDN to host it), well cloud gaming already does this better and already exists in a meaningful way. Why struggle to fight with the incredibly pathetic limits of a web browser when you can just stream a video?