Once a few years ago I was working on some internal web-based dev tools at a company. Some of the users requested a "quake console" in the browser UI (a slide-down console)
I took it a step further and made an iframe-embedded version of Quake deathmatch pop up when you typed the konami code. It was a hit :)
So when are we going to see modern Unity and Unreal games running on the web? Games seems like one of the last areas that is a holdout on desktop. We've seen terminals/IDE, productivity software, and even design software like Figma run in the browser, but not 3D games which is a multi-hundred billion dollar industry in it's own right.
Correct me if I'm wrong, but it seems like a massive opportunity for both game engine providers and portals, especially with the arrival of WebGPU on the horizon.
You already can, Unity has their own section of Unity on the web games you can play. They aren't graphically impressive usually but comes down to lack of development resources.
Then there's examples like Townscraper (https://oskarstalberg.com/Townscaper/) which are graphically nice and already playable on the browser. There are also many games on itch.io of varying quality, but IMO Townscraper is the nicest.
The problem of storage is also quite important, it's hard to push a high quality game on the browser when a lot of people won't stick around for the 10GB+ download needed, not like they would if they're downloading from the Xbox store or something like that. So it's a bit of a cultural issue as well on that front.
I don't think it's a cultural issue. The difference is you only have to download a game once from the store compared to downloading 10GB+ every time you load the webpage.
Quite a lot of cache storage can be used and can be expanded on as well if there was a serious demand for it. Browser games don't technically have to redownload the entire game every load. The reason I claimed it as "cultural" is because of how we view browsers and interactive media within them. We are totally fine with opening a games store app, clicking download, and waiting and playing. The same is technically possible within the browser, but people are far less likely to wait for it.
It's like sound. People are OK with video games with clicky sounds going through menus with background music playing, but find it very obnoxious if a website does the same. Not a technical problem, but one of culture and how we view the mediums.
You need to design a web game around the download bandwidth, and only stream data right when it's needed instead of preloading everything upfront. Porting existing games with a different streaming model usually doesn't make much sense. And once you build a web game from the ground up anyway, there's little reason to use one of the humongous game engines like Unity or Unreal which have been designed for a very different data streaming approach.
Well, you don't need to download the whole world data-file to play the game. All you need is to stream whatever you can possibly interact in the next couple seconds.
You can also load low-res textures and models for users who just showed up, and then, as they have been playing for hours/days, upgrade to better higher quality models.
This has already been possible for years - Unity and Unreal have had ports for a long time. The problem is that the web is a horrible platform to release AAA or AA games on. No way to pre-install, arbitrarily small local cache for your assets, long load times (due to slow I/O and code compiling every time), graphics API feature set from a decade ago, limited support for multithreading, SIMD not really widely usable yet (but close!), etc. On Android your game won't start because phones don't have enough RAM to run 64-bit Chrome and 32-bit Chrome doesn't have enough address space for your game. Don't get me started on how bad some of the other APIs are - for example, wanna stay fullscreen on iOS? You can't unless you're using a <video> element, it will constantly boot you out if it even lets you in at all.
WebGPU will help with the 'graphics API feature set from a decade ago' problem but you may have to wait like 2 years extra for it to show up in Safari and ordinary Android phones since Apple delays new features and Android phones don't get updates. Android phones also have horrible video drivers, so it may not work on many handsets ever. Plus you have to rewrite all your shaders in their special snowflake shader language and wait for them to compile on every page load.
Ultimately, Apple doesn't want you shipping browser games because they would rather get 30% of your revenue via the App Store. The Chrome team probably does want you shipping browser games but they're in a difficult situation with the state of the mobile market, they probably need to do painful stuff like implement compressed pointers if they haven't already.
Yea I was working on a Unity game that originally had a WebGL build. At one point I implemented a 3rd party plugin that required multi-threading for real-time rope simulation (Obi Rope), and at that point WebGL basically became impossible for the game.
Exactly my point of view, 3D Web APIs are only good for 3D models in e-commerce, shadertoy like playgrounds, retrogaming and casual games with PS3 like capabilities.
And even the PS3 at least had a proper graphics debugger.
The header on the previously linked docs page brings us to the GitHub repo where Epic OpenSourced it as a plugin. The missing support can be confirmed in the issues.
Seems like web support was quietly removed after all.
But it seems to me that, esp. in the case of gaming, it isn't just distribution that win, but the ability to discover, and pay, for games easily in a single place. So App Stores seem to have won the distribution game and have added several other capabilities that are all together make for a more compelling story than easy distribution alone.
If that weren't the case, why aren't we seeing more games distributed this way (web)?
It's crazy to me how unpopular arena FPS is these days. To me it's pure joy, bunnyhopping around a map in Q3 dueling rail vs rocket in the air. I've had fun moments in modern FPSs but nothing comes close to Q3 or UT2k4/UT99 except games like Reflex Arena which are basically Q3CPMA with a modern engine (amazingly well done engine too). It's not nostalgia goggles, I still get the same response every time I play.
There are loads of modern FPSes that match the pace of old, but only in the indie space, not AAA. I recommend Ultrakill (whose second act just released last month), which is very much worth taking a look if you reminisce for Serious Sam and the like: https://www.youtube.com/watch?v=Pw63IVgYLDc
singleplayer fps, there's no arena fps with a particularly vibrant community, and if i'm wrong about that please please tell me which game i should be playing
You are right that multiplayer arena FPS with a vibrant community is a rarity now. I think the most popular one is Splitgate (sitting at ~600 players ingame on steam right now)[1]. Xonotic seems to be semi popular too but not on Steam if that matters to you.
Part of the problem is many of the modern FPS games have adapted arena FPS features (even Halo now is much faster than it used to be) making it difficult for people to go back to them unless they were deep fans of arena FPS games in the first place.
QuakeWorld (the "Internet" version of quake 1) is still very active. The source code was open-sourced by Carmack many years ago and the community has been evolving the clients ever since. Today the most popular one - ezquake [0] - features many improvements in performance, networking and teamplay features.
Anybody can download a version of this client along with a mostly playable version of quake [1] (that includes only the first chapter of the original maps like the shareware version but many or most popular multiplayer maps. And if you have the original you just need to place the pak1.pak inside the id1 directory and have access to everything)
There are many ongoing tournaments and QHLAN is about to be held in Sweden on November 17-20. You can find all about these in the quakeworld wiki [2]
To find the servers and games you can use one of two websites [3][4] or the in-game browser. The quakeworld EU and US communities are found on Discord. [5][6]
There is also an automated Twitch channel built by a community member that streams quakeworld 24/7 [7]
Some of it is because I am terrible, to be honest.
I have a hunch that most the people still hosting servers for games 20+ years later are very good at it. The noobs and casuals like myself moved on ages ago.
Being blown to bits before the whole spawn animation plays repeatedly is amusing for a while, but the charm wears off fast. I don’t have the time to dedicate to get good.
This was my Quake experience a couple years ago, at least.
Cool cool cool ... though these kinds of browser proof-of-concepts have been around for a decade (more than a decade if you include Flash+alchemy running Quake).
Is the browser coming back as a gaming platform yet?
I don't want to rent something that doesn't recognize platform conventions or take full advantage of my hardware and storage, when it can and should have
Neither do I want to have to pay some rent-seeking wanterpreneurial fuck a monthly fee to access content that runs better locally
With WebAssembly and WebGPU, absolutely we are going to see resurgence in games, this time with near native performance and modern fidelity visuals that are closer to what can be done on PC, mobile, and consoles.
Web will be huge for increasing accessibility, especially for casuals who have never downloaded Steam before. Imagine the Cambrian explosion that will take places when playing becomes as simple as clicking a link?
>Imagine the Cambrian explosion that will take places when playing becomes as simple as clicking a link?
We've had Canvas/WebGPL since 2011. Emscripten came out 10 years ago. WebAssembly 5 years ago. I've seen countless of these kinds of demos over the last decade. Literally no difference between this one and what was demoed years ago.
So for years a plugin-free browser was good enough for 'modern fidelity' gaming - but it never happened.
There is no 'Cambrian explosion' coming. Casual mobile killed casual browser gaming.
I see MMO's relying on browsers, because the web model and the subscription model align nicely. We had browser based (probably still do) text based "MMO's" that relied on the browser, and there's no reason that something like World of Warcraft or Second Life couldn't run in the browser fairly easily today.
Very cool, even though the only thing that works is the opening. Anything past that crashes the game (player setup, starting a new game or training session).
The joke was that the very first screen in the game is blue text "PRECACHING..." on the black screen which stayed for minutes on 99' hardware, so it could also be an intro of sorts.
I spent many hours in Unreal GOTYE honing my reflexes for Counter Strike Source. Put the bots on godlike, increase the gameplay speed to 200% and then die more often than not. It is brutal and makes other FPSs feel like they're molasses.
I had no idea about this until my friend - who's still active at the top level in UT99 in a couple of game modes - gave me the lowdown a year or so ago. For anyone who doesn't know what we're talking about - a sequel to Unreal Tournament was announced in the mid-2010s. But it was to be developed relatively openly and in collaboration with the existing UT community. There are builds available that are very playable (including source code[0]) and as far as I know it was shaping up to be a great arena shooter. Then Fortnite exploded in popularity - and UT4 (or just "UT"?) was quietly de-prioritized, and has set in limbo ever since.
It's a shame. I still have some hope that it'll get dusted off, polished and given the attention it deserves at some point. A few people in the community feel quite hostile towards Epic, though, so they may have to work extra hard to regain that following.
Edit: ALSO I figured I'd add something interesting. The UT99 unrealscript source was semi-officially released and Epic did permit the community to release patches ... on the condition that they didn't break compatibility with the released version. That is, if I went back to my parents' house, dug out my old CD copy from 23 years ago, installed it and tried to play on one of the community servers, it would still work. Which is a shame since there are a handful of updates and quality-of-life improvements (for example, net code is supposed to be a bit janky) they would like to do but simply can't. Another missed opportunity :-/
Could that source code, in theory, be ported to UE5? So basically, it looks and feels like UT99 but maybe with upscaled assets and better rendering quality?
I think that would require a pretty substantial overhaul - the models + textures for players and items are accessible and in a relatively readable format, I'm not an expert but I guess they could be ported. Maybe some conversion is possible for the UI, levels, music, sounds too. However a lot of the game logic is implemented in UnrealScript, and it'd need to be entirely rewritten in (I think) C++ for UT5. I suspect that would be a fairly in-depth task, and at the end of it all you'd have a slightly shinier version that nobody plays because they're happy enough with UT99 despite its faults.
Might be fun as a technical exercise if you're bored, though :D The UT99 UnrealScript sources are here if you ever want to play around - text editor support for UnrealScript files isn't great but if you can move past that, it's really quite moddable and extensible, I really wish I made the effort to dig into it earlier when the game was more current: https://github.com/Slipyx/UT99
UE4 (and thus UT4) abandoned UnrealScript entirely in favor of Blueprints and C++. The majority of code from the previous games (including base engine code) is all UnrealScript. It would be more feasible to take UT4 source and add features of the old games.
One of the main benefits of the older games is the mod community, but without UnrealScript it's not really doable in the new engine. Mods would have to be DLLs which are not really safe to distribute.
It really needs Epic's support to either add back unrealscript or host a distribution hub where the game can download the DLL mods.
I have a tiny glimmer of hope that the yet to be released versescript will allow a new UT with scripting support, but I'm not holding my breath.
What I'm curious about is how this has been done. I don't think that the source for UT99 has been released, so does icculus have access to the source and has then ported it to emscripten, or has it been decompiled from x86 and then recompiled for WASM, or is it running on an x86 emulation layer programmed in WASM?
I presume it was from source, given that everything else is prohibitively hard just for a demo like this.
awesome! UT is probably my favorite PC shooter - have so many memories of running a LAN version of UT2003 back in high school and playing with a few friends during open hours.
Don't know why, but the UT series has, for me, been more enjoyable than modern FPS games like CoD. I'd take UT99 or UT2003/4 or the more recent UT over any crap that EA puts out every year.
I like AssaultCube even more. Unreal/Quake were always too fast and cartoonish for me. New-style shooters are too slow and realistic. AC is in between, both in terms of speed and realism, though more on the old side.
You ever see something that is relatively minor, but because it hooks something in your subconscious it inspires a great emotion? It's not a sadness, but some form of eustress. This does that for me. Thanks to the devs who put in the time to do this, both the game and the wasm port.
There has also been a fully playable version of Quake that runs in the browser for many years. Super cool, was great for slacking off at work back in the day haha
Edit: Quake Live it was called. Unclear if it's still offered in the browser as it seems to have made it's way to Steam.
One of my first startup experiences was working on the multiplayer platform that supported Quake Live. We eventually licensed it to Riot Games for what became League of Legends but both games were significantly delayed and we ran out of funding.
Uncaught 72428808 - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch
when starting a game, anyone have an idea why? On both chrome and edge.
The github page states that this project doesn't work with mobile safari. Therefore all browsers based on the safari engine on ios including firefox will not work.
I took it a step further and made an iframe-embedded version of Quake deathmatch pop up when you typed the konami code. It was a hit :)