I just ported Quake III to the web with multiplayer and mobile support: https://thelongestyard.link/. I was hoping I could use this project to do Unreal Tournament as well, but it seems like it's not that playable yet.
I wish Epic had GPL'd their old releases the way id Software did. I'd especially like to have UT2k4. I played a lot of ONS-Torlan in college.
Ut2k4 is so fantastic, I still have a scar on my forehead from the first time I played the demo on a CRT sitting on a chair and my friend tackled me into it to "save me from a sniper". I would get up at 4am because I had a bedtime but no wakeup time and play 4 hours of CTF-Face instagib before school. Q3DM17 also holds a special place in my heart, I'm getting a tattoo of the "Impressive" emblem in a few weeks!
Not a day goes by that I don't pine for turn of the century FPS gameplay. (and maybe my turn of the century reflexes)
UT's bots really helped at smaller LAN parties and get togethers. They weren't as competitive as professional players, yet could actually play the different modes and fill out the teams.
Before that point bots seemed only capable of team death match.
Haha this is incredible! I had a gap in my gaming years—I only enjoyed UT GOTY (a 2000 release?)—and sounds like the series carried the same kill streak sound bites over. Impressive is prob a safer tatt than HEAD SHOT!
UT2k4 deserves to live, but if we're being honest, there weren't a lot of people playing it during the last decade and a half. I wonder if being able to play it in a browser would actually improve that.
I'm not really a gamer. When I discovered original UT I'd play it at work because my home computers never had good enough graphics. I loved the atmosphere of many user-created maps.
Is there no similar experience that's popular today?
Arena FPS of the Quake/UT era have been supplanted by CoD-style tactical shooters, slower team-based FPS like Halo, hero shooters like Overwatch, and battle royale shooters like Apex Legends. I don’t think a popular pure arena shooter exists today. (Though Splitgate and, to a lesser extent, Halo Infinite scratch the same itch for me.)
I’m optimistic, though. Adventure games were dead for a while but eventually came back with a vengeance. I doubt the desire for quick, pure shooty fun will ever go away.
I had played UT2k4 almost exclusively for months before ever trying halo, since I didn't own a console. I eventually played at a get together at a friend's house and genuinely couldn't understand why Halo was so popular- the speed was so slow.
I eventually appreciated it a bit more, but UT will always have a special place in my heart.
Unfortunately a fad that's been around since 2016/2017 or so. The largest one is probably Fortnite BR, they tend to have a few million monthly active users.. although whenever there's an event there's a lot more who just log in for the event. Typically a BR is one person (or one duo or one squad, etc) vs everyone else. No one respawns, except for specific exceptions, and the last person/squad/whatever standing wins. There's an official team deathmatch type mode as well but the children tend to scoff at it as if it's just training wheels for "the real mode" instead of realizing that it's more fun to have respawn than to not have it.
I did a new port of base ioquake3, and actually contributed changes back, so upstream ioquake3 now has decent Emscripten support. The multiplayer is using WebRTC DataChannel, based on HumbleNet but I had to make quite a few changes, as it was abandoned a long time ago.
If they have a different username here, it feels wrong to out them. If they wanted, they could have said it themselves. You could have thanked them without tying the username together in a way that is Google-able.
I managed to play some ONS-Torlan this past weekend with my friend on a pure LAN (no Internet), it was fantastic and just as much fun as I remember. I enjoy turning on lots of fun modifiers like low gravity, big head mode, berserk, etc.
I'm half-way porting another turn of the century game engine to emscripten but I'm a little stuck on the networking so it's pretty cool being able to have practical examples to reference.
Multiplayer on the web is tricky. For non-action games you can get away with WebSockets but for arena shooters or other action games I think UDP is important, and you can only get that with WebRTC and all the baggage that comes with it. I'm using a library called HumbleNet to handle WebRTC, but I had to make a lot of changes for it to be usable. https://github.com/jdarpinian/HumbleNet
Wow, this is awesome! Is your fork public? I'd love to try adding some stuff like touch controls and save file syncing like I've done for Cave Story https://thelongestyard.link/cave-story/
Nice! I thought about trying to port Tribes 2 but I never played it myself so it wasn't high on my list. My HumbleNet repo would be a good starting point but some changes may be required for it to work. It's not at the point where it can drop in and work on any game, although I think it would be possible to get there.
There is WebTransport which is based on HTTP/3 (formerly QUIC), however it is not available in Safari (no surprise there) and also it does not support peer-to-peer connections.
WebRTC is available today in all browsers and supports peer-to-peer unreliable UDP.
Is there a reasonable networking library for just throwing data packets somewhere using WebRTC in browser, specifically with a client-server rather than P2P? I've probably started work on such a thing like 4 times now but I've never gotten very far because I always found that whole stack incredibly convoluted and onerous to work with if you're not using it for it's intended usecase, but I really would like to have a go-to library to make little multiplayer webgames that use UDP under the hood.
Yeah WebRTC is not a well-factored API. It's basically almost an entire end-to-end implementation of a video calling app Google acquired and bolted on the side of Chrome. If what you're making is not a straight video calling app then it's a very strange API to use. But it does work!
The problem with WebRTC for this kind of application is the need for a whole separate "signaling server" just for connection establishment, plus STUN/TURN, plus your actual application server makes three required servers. It puts a really high minimum on the complexity of any WebRTC app. For a client-server only application you might be able to combine all three servers into the same binary. I haven't seen a library that does that, but maybe it exists, I haven't looked extensively.
The HumbleNet library that I use provides an implementation of the signaling server for connection establishment, and for the client app it hides all the WebRTC complexity behind the BSD sockets API. So all you need to do is host the server.
I don't think his Linux bit is backwards. I think he is just saying switching to FOSS software because a company is taking a freedom isn't a real solution, and we should fight to make it so companies can't do certain things, regardless of if Linux or anything else is an option.
Admittedly I lack context. It seems on the surface this is a very loaded topic. I didn't get the gist it was 'switching' -- things existed/were being taken away.
Absent anything else, I feel supporting the status quo does just that. Must break some eggs to make an omelet; quantities/plate count/portions matter.
When I say 'loaded', I truly mean it. One could argue this in a positive self-fulfilling direction or the other: fallacy, 'sunk cost'.
I feel as if this is capitulation, personally, but am clearly biased. Very idealistic, would prefer they be the change we want to see
I think it was someone other than Carmack that was pushing for source releases and linux ports inside of Id. They stopped doing it a while before Carmack left even.
Do you develop professionally on current idtech code? Or are you comparing present-day, easily available Unreal Engine code to what id most recently made available under the GPL, which is essentially twenty year old code?
I wish Epic had GPL'd their old releases the way id Software did. I'd especially like to have UT2k4. I played a lot of ONS-Torlan in college.
Instead of UT I may do Serious Sam next. Serious Engine was open sourced and there's already a web port (without multiplayer): https://www.wasm.builders/martinmullins/serious-sam-in-the-b...