Hacker News new | past | comments | ask | show | jobs | submit login
Play Counter-Strike 1.6 in your browser (cs-online.club)
878 points by m0ck on June 12, 2020 | hide | past | favorite | 317 comments



I sunk many hours of my life into this beautiful, beautiful game (starting at the tail end of 1.5, however!) and sometimes tune in to watch CS:GO competitive matches. I know Valorant is apparently stepping up as a spiritual successor to Counter-Strike, but I just love this game for it's emphasis on pure skill, and I really am surprised few other games have come as close as 1.6 to perfecting a team-based FPS that lands all players on an almost perfectly level playing field.


While plenty of people will likely move over to Valorant, as someone who's played a bit I think there is still a distinct difference between the two games.

The main thing shared between the two is the feel while shooting. It's hard to explain, but you feel the "weight" of the gun and it's rate of fire really well and it's satisfying when you land shots.

But, the abilities, while not overly broken, does change the feel and strategy considerably. And Valorant maps are really bad in comparison to CSGO. So much useless space, bad angles, etc.

So, while I hope Valorant pushes CS to get better, it's unlikely that the pool of players or viewers will be 1:1. The CS pros moving to Valorant are basically doing so because they either can't have a CS career (Brax, perma ban for match fixing; iBuyPower) or haven't been good enough in a while/never were good enough for a T1 CSGO team.


> The CS pros moving to Valorant are basically doing so because they either can't have a CS career (Brax, perma ban for match fixing; iBuyPower) or haven't been good enough in a while/never were good enough for a T1 CSGO team.

I think it is really early to use this as some sigil for how good the game is or how well it will do as an esport. Of course the first people to move are the ones outside of a current CS contract! Why would you give up your share of multi-million dollar prize pools while the other game is a week and a half old? it isn't necessarily an indictment of Valorant, its just the sensible business choice this early in the game.


I'd like to provide a counter point. As a person coming from Quake 2, I find CS shooting mechanics at the very least annoying. I can't find anything pleasurable in them.

I still played CS but mainly because of the team play it added. Simple, flexible, and enjoyable.


Valorant is already dying. I doubt it will do anything to displace CSGO. If anything the toxic and racist community GabeN has cultivated will do CSGO in before a competitor will best them in gameplay.


Seriously sick of hearing this.

The Internet has been "toxic and racist" since, oh, the first chat room...

Kiddies in a game can't hurt you. Worry about the important shit, like being killed or thrown in a cage by law enforcement.


> The Internet has been "toxic and racist" since, oh, the first chat room...

In any respectable community, those sorts of people tend to get unceremoniously ejected from the community - from IRC channels to web forums to community-run game servers of old.

Now, games are match-made and game companies are pretty much forced to exercise discretion about what kind of community they want to have playing their game. Personally, I no longer have the patience for losing 30+ minutes of my life to a game that was lost because there's a 3-stack on my team who do nothing but throw, team-kill and think they're the height of comedy because they say offensive things or have a swastika as their profile picture.


if you don't have a porn spray, are you even really even serious about playing CS 1.6?


Food for thought: kiddies playing games might one day work in law enforcement


Law enforcement that gets triggered by insults seems pretty dangerous too tbh.


Are you trying to justify online toxicity and unsportsmanship in multiplayer video games by comparing them with the tragedy of George Floyd?


You think he's the only person/race very ng killed by police, then, you're the problem.


I...what?


> Valorant is already dying

Hard to take this seriously considering they had 3 million DAU during the closed beta and it's averaging 100k+ concurrent viewers on Twitch during the day (North America).


Unfortunately, it seems like Riot plans to take the same approach they do with League of Legends, and introduce new agents consistently and frequently. With the need for unique and interesting abilities to drive interest, Valorant will end up being much closer to Overwatch than CS.


I would say it’s still fundamentally different from overwatch in that players who prefer CS-style may not like Overwatch but would like Valorant.

Overwatch is much more abilities-heavy while Valorant is still more aiming heavy.


I think CS will keep its popularity. Only players who can't cut it at a high level in CS are bailing to Valorant.


You mean like Skadoodle?


It's different for professional players, isn't it:

>'On June 3rd 2020, it was announced by T1 that he has resumed his professional career but in Valorant - reuniting with ex-iBUYPOWER teammates Braxton "swag" Pierce and Keven "AZK" Larivière in the process.' (https://liquipedia.net/counterstrike/Skadoodle) //

If Valorant is less aim-based (I don't know) wouldn't that make sense for a retiree from a more aim-based game?

Also Valorant could have just paid a load of CSGO "names" to move to their games as part of their marketing.


For sure. I don't know about all you, but I would go nuts if I had to stay in the same job forever. Sometimes you desire new challenges or greener pastures.


FWIW I've played the same game competitively for the past 11 years, while also doing the same job (programmer). Not sure how that reflects on me haha, but despite doing the same thing, the "meta" and skill level is dramatically different for both.


Sure, it takes all kinds.

However, I feel the need to point out the difference between playing something competitively (hobby) versus playing something professionally (job). The first is something you do to unwind after a day of work... the second is work. There's usually a large difference in time spent and focus.


Or players past their prime.


or Hiko for that matter.


So instead of "couldn't make it top", we're talking about players "who couldn't stay at the top" ?


I think “can't cut it at a high level“ was meant to cover both.


On the one hand, with TTKs the same as CS, it's unlikely it will ever be as ability heavy as Overwatch.

On the other hand, unless Riot deviates massively from my expectations, they will release new agents so often, and with such power creep, that it will get pretty damn abilities-heavy and approach Overwatch.


Valorant appears to me to be an uninspired clone with a few gimmicks and a lot of marketing money behind it. It's the same way that LoL was a clone of DotA with extra marketing and a few gimmicks.

I don't understand why anyone knowledgeable would be installing a "free" game that includes a kernel level rootkit.

https://www.techspot.com/news/84841-valorant-anti-cheat-soft...


A kernel level rootkit is a usual form of an anti-cheat software nowadays (BattleEye, EAC).

You can dislike it, you can question whether you can trust such software from a Tencent-owned company, but it doesn’t make Riot’s solution somehow different.


1. Overwhelming majority of the (potential) player base is not "knowledgeable" as per your comment

2. It worked for LoL, which has made something like 10x the money of Dota 2. Valorant doesn't have to be "the best" in its category, as judged by connoiseurs, to win its market.


League was the first free derivative of the mod (Dota 2 was released nearly four years after it) and the complexity of the game was massively reduced to the extent that it's marketable in a way that Dota 2 just isn't. Valorant is trying to fight the incumbent while dealing with an inevitable balance trainwreck, and although Riot is going to throw a lot of money at it, it's not clear they realize how spoiled they were with the success of League. I'm sure the game will be around in a few years, but the odds of it largely supplanting CS don't look very good.


I've seen Valorant blow up in my little circle of online content/professional gamer types. Personally I haven't taken to it, I think the graphics are not very inspiring and the game play seems derivative of almost every team vs team shooter in the last decade. That being said, marketing means a lot and if they flood the digital airwaves, they might just reach critical mass.


I believe you are wrong , Dota2 was a rip off of LOL.

Interesting you mention the root kit - you realise Steam monitors urls Your machine has visited right? They also didn’t confirm whether or not these are then uploaded to their servers.


Dota 2 was a (almost carbon) copy of a DotA map for Warcraft III (there was even a settlement between Blizzard and Valve about this). Not that it's necessarily a bad thing, but it makes more sense to claim that LoL was inspired by a DotA map.


The '2' in the name should clue you in to its inspiration, which was not LoL.


What areas does CS:GO fall short in when compared to 1.6?


There's not a lot of difference in gameplay, but CSGO destroyed the sense of community and enabled toxic players. Prior to CSGO, there was a vibrant community of player-hosted servers, run by clans. The best of them had active admins who would kick/ban cheaters, trolls, and toxic people. It was hard to find good community servers, but once you did, it felt like home. It's much easier to get into a match now, due to the automatic matchmaking and different playstyle and skill grouping options, but the communities are gone. You can still run a private server, but hardly anyone does. I used to be in a half-dozen clans and now I'm in zero.


Rambling post ahead:

You see this trend in MMOs as well - towards convenience (and fun) at the expense of community.

Back in the old days of EverQuest and Final Fantasy XI, it was almost impossible to do anything by yourself; you HAD to find other people, and ideally a clan. Enemies would destroy you after level 10 or so, and quests were incredibly laconic and abstruse seemingly by design.

Everything about the game was difficult, dangerous, and mysterious. Reaching out to others was expected, and many were glad to help you through those same challenges they too struggled with.

On the other hand, it took hours - often all night - to accomplish just about anything. Once you got a good party going, you basically didn't want to stop, as just getting to that point took two freakin' hours.

On the other other hand, because everything took forever, you would inevitably shoot the shit, because there was just nothing else to do!

Anyways, nowadays you can easily solo pretty much any modern MMO; and any group content just automatically plops you into a party with some dudes that you will quite certainly never see again. Action is immediate with little time to type anything, (there's surprisingly little support for voice chat in these games), and usually easy enough to hardly require spoken coordination.

Just gotta look for people on discord I guess.


WoW ruined community in many ways. They added the Dungeon Finder, so you no longer have to socialize to find a group; they added cross-server battlegrounds, cross-server Dungeon Finder, and even cross-server zones, so all your experiences are with random people you'll never see again; they made it trivial to travel from place to place, so you don't need to go on epic journeys that require banding together for survival. There used to be a role for "community elders"—experienced players who would show newbies the ropes, organize and lead dungeons and raids, etc. Those things still happen, but because they're no longer necessary, it's possible to get all the way to endgame raiding without making any friends (or even speaking to anyone). Since you don't need any community to play, toxic players can succeed—and even thrive—by being selfish and taking advantage of others. There's no social credit anymore.


Community in gaming is still just as strong it's just shifted from custom servers to discord servers.

Back in the day I remember mailing $10 every month to someone splitting hosting costs on our clan's 1.6 CS server. It felt like a clubhouse I'd pop into after school to hang out with all my online friends.

Nowadays I get the same experience from joining voice chat in my regular Discord channel with people I know, then grouping up with whoever's online for a few comp or quick play overwatch games.


This is why, when given the choice between CS:GO and predecessors, I'll usually pick CS:S. In the CS1.x days I had a "home" server, we BSed and played together all the time, and cheaters / troublemakers were promptly dealt with. Afterwards, I had a CS:S "home" server for years until it shut down a while back. Maybe 2018? I just don't get that same experience from CS:GO.

I still play CS:S.


Source plays the best in my opinion. Of course I pretty much only exclusively play turbo gungames now, so my perception of what makes the game fun has shifted a lot.


Yes. You didn't only choose game when playing CS 1.6 you chose servers. I had a couple, me and most players from my region used, then a couple for trolling (no cheating just trying bizarre tactics, spamming the chat or slaying noobs). We also ran servers for special occasions, social circles etc. It was fun.


No one thing, specifically. Maybe it's just a muscle-memory thing, but I think the early 2000's polygonal PC graphics look lends well to knowing about hitboxes, certain techniques like defending against BHoPpers and it's overall response. But, to be fair, I've never played CS:GO on a 240hz monitor with a gaming rig (my laptop manages all low and I still do well when I wanna scrim Dust2 :) but there's something about 1.6 that just feels, almost arcade-y? This could all be nostalgia talking. I love CS:GO, but it is getting a bit dated now, too!


Different style fps's, 1.6 was low latency, the newer versions of basically any fps trade off latency for better graphics and better physics.


It's quite easy to get 200+ fps on CS:GO, and that's with max graphics settings or very close.


Doesn't fix input latency due to physics, different style games similar to the new quake


If bunny-hopping was eliminated in CS:GO, that might be considered an improvement for some (and not so much for others).


I still play source. I could never get into go. Not sure what modding scene go has, but there are a ton of great mod servers in source. Zombie escape gets ridiculous.


I didn’t expect to see another CSS Ze player, given there’s so few of us now. There’s a good chance we play together! Thousands of hours spent playing and making maps, I wouldn’t trade them for the world.


Yes it's a shame, I have so many fond memories of playing condition zero. Used to switch between playing CS:CZ, frontpage and photoshop.

Back when PSD slicing was a thing.


Thousands of hours gone to many a sleepless night of scoutzknivez with friends. Fond memories.


Pavlov IMO is the spiritual successor


Seems to be a VR game, so unless VR suddenly gets a lot cheaper and a lot better, Pavlov will never replace CS.

Looking at the first few seconds of the first video on Steam for Pavlov (https://store.steampowered.com/app/555160/Pavlov_VR/) shows a very low-skilled encounter as well. If they are trying to attract CS players, they need to show it's a game that shows skills, not like that.


> shows a very low-skilled encounter as well

That might be the difference between having to actually aim your gun with hands in front of you, and flicking your reticle to a location with a mouse.

> unless VR suddenly gets a lot cheaper and a lot better, Pavlov will never replace CS.

Not that I think it will ever replace CS, but I think you can side-load Pavlov onto a Quest, and that's not necessarily a high cost of entry depending on what you compare it to. For a casual player, that's probably a lot of money. For people more serious about gaming, that might be equivalent to a few optional upgrades to their mouse and keyboard.

Interesting to me is that it opens up some interesting competitive options, where you could ensure people are all on equivalent equipment, if for example you have a Quest tournament.


VR is 400$ with the oculus quest, no computer needed, no TV needed. Considering that, it's a bit more expensive than the nintendo switch, and cheaper than pretty much all consoles and PC gaming.

I just played Pavlov on it and it works flawlessly, I'm not sure I get your comment.


I feel that you should actually play the game before having such a strong opinion. The store video doesnt reflect most gameplay.


Hell no. The game is basically becoming some garrys mod hybrid mess.

https://store.steampowered.com/app/496240/Onward/

Onward is way better experience.


It’s just VR counterstrike with tons of maps and mods. That’s a good thing because it shows that it has a big community.

I also like Onward better, but Onward is more like a realistic military sim than a spiritual Counter Strike


This could serve as a demonstration what a long way way web sockets/rtc/channels still have to go, since the experience is much worse even considering the ping compared to 20 year old netcode.


You're going to hang the state of networked browser gaming on this random person's netcode implementation? Go to r/GameDev and you can find some redditor Unity projects built on UDP that are even worse, but you aren't going to say "wow, UDP sux".

Check out something like https://krunker.io/ which gives me a surprisingly good FPS experience despite my distance from the server.

Browser gaming does take some thought though, to be sure. UDP via WebRTC is relatively new and isn't trivial. And I know some games get around TCP head of queue blocking by opening up 2+ WebSockets.


HaxBall [1] and WebLiero [2] are two other games with pretty decent WebRTC P2P netcode by the same author.

[1] https://www.haxball.com [2] https://www.webliero.com


That was impressive, on mobile and I was able to just hop in and start playing. Not something I’d play, but just impressed that I was able to so easily


This is not random. Prediction and compression is all GoldSrc original, from leaked sources. WebRTC/WebSocket is HumbleNet.


Krunker is fantastic. I have wasted many hours in that game :)


Amazing experience there with kunker. So snappy. Thanks for sharing.


Do you have any more information on getting around head-of-queue blocking by opening up multiple websocket connections instead of just one? Seems like an interesting solution.


damn krunker is really not bad at all


How good is krunker? Don't have a mouse but maybe I could get one.


It's quite fun and has a surprisingly deep movement system. The userbase is very young so if you have any FPS experience you will shred through the average player.

Expect to get annihilated by someone who knows the movement system though. You'll know someone's using it when you see it, since they'll be moving at 999 units per second and circle strafing you to death.


I remember playing CS around 2000 on a 333-MHz Pentium II with an ATI Rage graphics card, and it was a much smoother experience in every way.


On a similar note, I think people were _way_ too early to celebrate the death of Flash (security issues aside of course). Developers were making content in 2000 which their contemporaries 20 years later don't come anywhere close to in terms of performance, design, or responsiveness.


Flash had more than just security issues. There were definite limits on complexity.

A great example is the original Binding of Isaac; written in flash, but near the end everything was so precarious that backups had to be made before certain publishing stages because sometimes it would corrupt the files it was trying to build (Due to the complexity.)


If bugs in flash forced people to use source control for complex projects then I would call that a feature.


Well ignoring those issues, is there a html/websocket "framework" which works like flash did?

AFAIK, "zero code" systems still haven't reached the level of hypercard (the spiritual predecessor to flash) when it comes to being able to define event->action with a mouse, much less expanding them to the full capabilities of flash.


That style of content just disappeared or turned into video only as far as I can tell.


I dunno. I implemented my games'[1] netcode on top of WebRTC and it runs just as well as proper UDP stuff. If you configure it be unreliable and pack everything into small binary commands then it behaves exactly like you'd want for a fast-paced multiplayer game. Obviously most web games use websockets for networking but it is certainly possible (albeit much more difficult) to have very fast netcode in a browser game.

[1] https://redka.games/mages


It's been awhile since I took a crack at WebRTC. Do you still need to go through all the peer negotiation even when you are just trying to get to a known server?


Yes, you still have to go through the negotiation. I put together a tutorial for a minimal Node.js Server + Browser Clients example a while back:

https://www.marksort.com/udp-like-networking-in-the-browser/


Bleh! I was really hoping they would have smoothed that out by now. I just want a damn UDP socket to my server!

I guess it's easier to piggyback on the security model of the P2P handshake than work out a separate model for client-server communication.

I built a pair of libraries for a nodejs<->browser DataChannel, it was a nightmare at the time though, and I'm sure totally obsolete by now.

Given how long it took for us to get %*@!$ data channels, I guess we'll get a simpler way to connect to a regular server in... 2030? (I watched WebRTC very closely from the Ericsson prototype was released... for awhile I was contemplating trying to pass data in the audio or video streams -_-)


What do you mean by "small binary commands"?


Instead of cramming ecoded json into the data channels, like you'd with websockets, you can build binary buffers with all the data that has to be communicated between server and client. For example movement commands like up/down/left/right alongside some flags like isJumping can be packed into a singe uInt8


Yup, delta compression and potential visibility sets are also a huge win as well.

The best thing is to design your gameplay to be "predictive", that's how we had ~300 player games like Subspace over 28.8/56k way back in the day.


Use websocket in binary mode, pack operations into tiny messages.


actually binary websockets won't do in this case since the underlying protocol is still TCP with automatic retransmission mechanism which kills performance for very fast-paced games. You have to use WebRTC in that case


So there's no reason to use binary commands when using something like socket.io?


not much but shaving off some bytes is good in itself


Then again, the netcode of the original HL1 engine was extremely good for its time.


This appears to strictly use WebSocket, and not touch WebRTC at all.

It is no surprise that a TCP text-based protocol sucks for realtime gaming purposes.


I love how people like to make browser versions of everything. From chat apps to email clients to games. But they all end up consuming 10x the memory but are still 10x slower than their native counterparts !


Seems a bit unfair to only acknowledge one side of the trade-offs. Obviously native apps win the perf side.

How about being able to play with your friends after just handing them a link? Native 1.6 doesn't even run on my computer at all.

I think browser ports are the only hope that old games have at coming back. The other month I played Nox's quest mode with my friend on a browser emscripten port (plus a lot of custom code / networking to get it online). And it's a game I thought I'd never get to play again. Gog.com sells Nox for Windows but of course the servers are long offline.

The adolescent glee over how much worse browser applications run really misses the big picture.

https://en.wikipedia.org/wiki/Nox_(video_game)


> How about being able to play with your friends after just handing them a link? Native 1.6 doesn't even run on my computer at all.

This is actually one of the major selling points for Cloud Gaming. Although it still has a lot of issues to be adressed before getting into the mainstream, this is exactly what it promises. Just sending your friends an invite link and get them to sign up is a much more pleasant experience than downloading 100+GBs of game files before being able to join the session.

I also enjoy seing browser implementations of popular games. My favorite recent example is the classic version of Minecraft running in the browser [0]. The browser is obviously a much more restrictive environment than a native app, but I can still imagine plenty of useful examples for performant 3D graphics in a browser. After all, Games are often just used as a showcase for the capabilities of new Apis and performance improvements.

[0] https://classic.minecraft.net


I always thought the cloud gamming is really just a way to move gammers to "subscriptions" instead of one time purchases, in the end milking more money and taking more control from them just like Adobe did with their creative products.


Microsoft has been successfully charging subscriptions to millions of players every year without needing to run games in the cloud. Cloud gaming is a play at capturing revenue from people who aren't willing to shell out $300+ for hardware and $60 for every AAA title they want to play.


Why not both?


Minecraft actually started as a browser game, before it had survival mode.


Mojang put the browser version back on-line last year: https://classic.minecraft.net/


> How about being able to play with your friends after just handing them a link?

That doesn’t work well for games with lots of modern assets.

> Native 1.6 doesn't even run on my computer at all.

That is strange, it works on the latest Windows.

> I think browser ports are the only hope that old games have at coming back.

Why? Steam, GoG, DOSBox, Proton, DXVK, emulators, VMs, etc. all give you access to almost every game that has been produced, today.

Many of those have thriving online communities, too.


pretty sure I can't run 1.6 on my mac


You definitely can.

But regardless of this particular game, it is not a valid complaint. It is like complaining your phone or your toaster cannot run a given game because it was never designed for them.


I think you can, it has a native Mac port on Steam.


You can, I run 1.6 in Parallels VM, FPS is very good.


You know no-one is forcing you to play CS in your browser, right? Why is it so offensive to you that this exists and someone else is finding joy in playing it? Why does HN love to rag on web technologies so much?


I simply stated that downloading dozens of gigabytes from a link is far from ideal. You also lose performance, features, community, and everything a place like Steam gives you.

> Why does HN love to rag on web technologies so much?

HN is quite pro-web and there are dozens of startups based on the web.

Nevertheless, my counter is: why does "the web" try to recreate existing technologies and operating systems?


> Nevertheless, my counter is: why does "the web" try to recreate existing technologies and operating systems?

Why not? Why is it so offensive to you? You know you can just ignore it and move on, right? You don't have to be an asshole and shit on everything you see.


I mean, before Steam this was basically the state of gaming. No community, limited features, spotty performance. This is just teething issues. There is no reason a platform like Stadia can't work in the future as these things get better.

And, in terms of downloading gigs from afar, you're already doing that, but instead of being able to play games while downloading you have to wait to download 60gb of COD updates, consume your entire PS4 drive with a single game. And while that is happening, you're just sitting there not using your PS4 because opening another application pauses the download.

We are starting to see more cross platform support for games between PS4, XBO, and PC. But older games won't ever support cross platform between Windows, OSX, and *Nix. A browser port could easily change that.

> Why does "the web" try to recreate existing technologies and operating systems?

It's the same trend we've had since basically the dawn of computers. We move things into deeper abstraction layers. Why is this an issue in your opinion? Isn't more options better? Isn't ideal to adapt old concepts to new implementations? At the very least does it not provide potential educational value?


> I mean, before Steam this was basically the state of gaming. No community, limited features, spotty performance.

That makes no sense. Before Steam there were many gaming online communities, all games were native and were marvels of technology for the time, etc.

> There is no reason a platform like Stadia can't work in the future as these things get better.

Stadia does not run games on web tech. Quite the opposite. They are native Linux Vulkan binaries.

> you're already doing that

There is a big difference between downloading a game once vs every time.

If you mention offline web storage, that is exactly the same solution as Steam and others do. A good example of the web reinventing the wheel.

> consume your entire PS4 drive with a single game

Not the case with a PC with terabytes of space.

> you're just sitting there not using your PS4

Not the case with Steam/PC. > We are starting to see more cross platform support for games between PS4, XBO, and PC. But older games won't ever support cross platform between Windows, OSX, and Nix.

That has nothing to do with technology. It is a matter of licensing, finances and support.

The overwhelming majority of games use engines which target all platforms, from PC to mobile to console.

> A browser port could easily change that.

No, because it has nothing to do with technical issues.

> Why is this an issue in your opinion?

I have never claimed it is an issue.

> Isn't ideal to adapt old concepts to new implementations?

A new implementation does not imply a better implementation.


>No community, limited features, spotty performance.

GameSpy.


Because the web is the closest to a universal platform where as the existing operating systems are walled gardens?


How are Linux, Windows or even macOS walled gardens?


https://en.wikipedia.org/wiki/Closed_platform

The average non-technical person isn't installing unsigned software on Mac or Windows, and the average person isn't using Linux at all so it's not worth considering in this conversation.

For all intents and purposes, approved windows applications and mac app store apps are what they get.


> The average non-technical person isn't installing unsigned software on Mac or Windows

False. The average non-technical person is installing unsigned software from Steam and other cross-platform game stores.

In fact, the vast majority of all PC/Mac users play games downloaded from Steam and similar stores, not from the Microsoft/Apple stores.

> the average person isn't using Linux at all so it's not worth considering in this conversation.

The average gamer isn’t using Mac at all either (4% vs. 1% according to Steam), so I guess it is "not worth considering in this conversation" either.

Which leaves us with Windows. So porting to the browser is irrelevant since all games are played in a single platform, according to your own logic.


"Nevertheless, my counter is: why does "the web" try to recreate existing technologies and operating systems?"

Was your exact statement so I'm not talking about just games and limiting it to them after the fact is disingenuous.


I don't think that lowering friction is a great thing. A certain amount of easy-to-overcome exclusiveness helps keep a community vibrant.

When I was a kid I heard about a group of hippies that would have parties deep into the desert, far from roads or civilization. They had a "list", and if you were on it you'd get invited to the parties. Long story short, I figured out how to get on the list and one of the coolest things about those parties was how much effort everyone who attended went through to get there, both in however they managed to get invited and how much of a potential ordeal the journey was just to show up. The friends I made there put me on my current life course and now I'm surrounded by great people and a good tribe, which is really hard to find once you finish university. All because I put in the effort to get on the list and attend.

Sure, not making things super easy creates slightly less inclusive communities and they are definitely smaller, but they're longer lasting, have some shared plight to bond around, and are generally of much higher quality. Allowing any old yokel easy access kills community because there are too many tourists


This is such a joke. Elitist, even. Technology-sourced friction is not a great thing. Software that is hard to run does not improve the act of running it. It just prevents others from experiencing the same things you enjoy.

Are you really suggesting that you bond with fellow gamers because of how hard setting up the game was?


Yes. And in the scene I am describing we are being overrun with tourists because everybody is just so damn inclusive now. There's nothing wrong with elitism; it keeps things hardcore and gives newcomers something to strive for.


There's even less wrong with being "so damn inclusive".

There's nothing preventing these type easy-access browser based games from having "elite" servers for high ranked players.


Mouse tracking is clearly broken on Firefox here. The input lag is insance. I wouldn't link this to any of my friends with the intention of getting them to play Counter Strike with me.


Shame, I just played a few rounds in Firefox on a Mac without any mouse tracking or input lag issues and had a blast! Is it possible that you have some Firefox Add-ons installed that are messing with it?


Hey, can you send me a link to that Nox port? What a blast from the past - I remember saving up to buy that game as a kid :)


The subreddit has a small community of people playing. iirc there's a community server you can point the Gog.com binary to: http://old.reddit.com/r/nox. (The Gog.com binary actually runs on macOS if you're pre-Catalina as it's 32bit, they just removed the indication since everyone is on Catalina now)

The browser "port" is here: https://playnox.xyz/ (200mb) -- Whether online play is available or not can be hit or miss. The single player campaign does work as well -- worth it for insta-nostalgia.

I say "port" in quotes because it's not just a matter of `cat nox.exe | emscripten > nox.js` of course. The creator posts in the subreddit / the nox community forums and has some really interesting technical comments where he explains some of the challenges.

People who can pull off something like this (talk about cross-cutting engineering skills) really blow me away.


nice. i once spent a week trying to hack the engine to support widescreen resolutions. time to re-play it :D


We used to hold game nights at my previous company and we would all play quake on the browser together. No installing, no sharing files, nothing. Just click the link on Slack and you're in. Nothing beats that.


This is a flippant useless negative comment on someone's cool effort. Looking at your other comments, and at your blog - everything is negative. "This sucks, this is crap, I would never use this". What's with all the negativity? Just give creating comments and posts about stuff you like a try. The internet is not short of critics to make useless negative comments.


Yeah, enumerating why something sucks is trivial. Anyone can do that about anything. Yet for some reason it's tempting to do it. Maybe because it makes us feel like a critic?

For some reason it takes more effort to see the positives in something or someone, even ourselves.

It's often a good practice to stop and think of the positives of something. Maybe it's not so obvious. Why did someone decide to build it this way? They probably are well aware of the downsides (after all, they're the one who built it) yet they saw some upsides. They must have thought the upsides outweighed the downsides. What were they? The harder that question is to answer, I think the more useful the practice is.

Internet (and HN) discourse would be a lot better if we did more of that.

I know it's a challenge for me -- it's really easy to get stuck in a negative thought loop, especially while spending so much time on social media (incl Twitter, Reddit, and HN) where we like to award ourselves points for being critical.


This was actually explored in this Cracked article [0] which I heard about on the Cracked Podcast. Basically, being cynical and negative is one of the easiest ways of appearing smart because you don't need to back up any of your assertions and people are less likely to be called out for shitting on something.

[0] https://www.cracked.com/blog/the-7-stupidest-things-that-mak...


I don't see how being negative allow one to not back anything, I can say something sucks, but I'd have to explain why. And people will get called for shitting on something, see the GP comment.

I'd even say you're less likely to be called out for being negative without giving an explanation than being positive without giving an explanation.

Though it's usually easier to explain why something sucks than why something is great, since a negative explanation has only to find which part don't work, rather than explaining why something is globally good.


This isn't about being negative or critical. It's about being negative all the time. It's about labelling yourself as cynical and making all of your schtick be about that negativity.

I see plenty of well-thought out criticism on hacker news and reddit. I see excellent deconstructions and refutations which show excellent balance and are clearly the work of a lot of thought and rumination. This isn't about those posts.

The 'cynical is an easy way to appear smart' comment will apply most to daily conversation and low-effort drive-by comments on forums. In an everyday example, think about how people will make a joke or comment about how they dislike certain bands or pieces of technology. Do they always follow up with a bullet pointed list of what it is that they found disagreeable? No. I mean, sometimes, but if I were to take a clicker with me throughout my day and count every time someone made a casual negative comment, it would be higher than those presented with backing evidence, justification or even explanation. So to counter this comment:

>I don't see how being negative allow one to not back anything, I can say something sucks, but I'd have to explain why.

I disagree. You absolutely don't have to say why something sucks and most people don't most of the time.

But this is ok, though, because people are mostly just expressing their opinion. There may be some signalling that you have a better taste in music or that you have a more refined taste in technology, but most people won't even consciously register that that is the intent that you are trying to signal. So I'd say that this covers this:

>I'd even say you're less likely to be called out for being negative without giving an explanation than being positive without giving an explanation.

I will agree with you if the comment is negative and controversial but most of the time people are negative, it passes most people's internal 'controversiality test', it doesn't get challenged and nothing further happens.

>And people will get called for shitting on something, see the GP comment.

They will. Sometimes. However, we're not talking here about nobody ever being called out for being overly negative. We're talking about how overall it is easier to appear to be coming from a place of authority by taking a negative stand point.

Hacker News is rife with this. A new technology is posted and the first things that will be commented will be picking holes in it, finding obvious flaws, decrying or otherwise.

Statistically, this would seem to be fine and you're likely to be on the winning side of history most of the time. New stuff is more likely to be either undeveloped or unstable, ignore or duplicate work or be so forward looking that it isn't viable in the near term. However, this then also becomes the intellectually lazy stance to take. 'This is probably going to be bad, so let's find all the flaws first and then we can call it a day'. You will see many comments which will include lots of technical flaws without themselves saying what experience their criticism is based on. And the cost would appear to be minor: some things that become good and viable ideas eventually get shot down, but so what? If they become good then that person can just change their mind and no harm no foul.

Overall, this means that the 'cynical' mindset appears to be a stable one, one that means that you're right more often than you're wrong and one that means that you can appear to be talking from a position of authority without actually having to back that up.

So, sure, I see what you mean to an extent, but I think your point grossly misses the point of what my post (and indeed the two parents) were really getting at.


> I think your point grossly misses the point of what my post (and indeed the two parents) were really getting at.

Most likely.


I agree with you on one level-- I think people on HN are generally overly critical of projects like this which are clearly huge accomplishments and the culmination of tons of effort... But on the flip side, I think it's plenty valid to look at projects like this as case studies into why modern web tooling isn't up to the standards of the tooling of 20 years ago (on much less performant hardware no less). Even within the browser, decades old flash games run circles around their JS contemporaries.


Which may be good. If I post to HN I'm looking for critics, not for an empty Attaboy.


constructive criticism exists tho, being just negative is just cheap


> In many ways, the work of a critic is easy. We risk very little yet enjoy a position over those who offer up their work and their selves to our judgment. We thrive on negative criticism, which is fun to write and to read. But the bitter truth we critics must face, is that in the grand scheme of things, the average piece of junk is probably more meaningful than our criticism designating it so.

> Anton Ego

Maybe GP will learn this someday, but based on their replies to you, that day is not today.

Meanwhile, they're raking in the upvotes thanks to their cyniscim, so why change their approach?


Comment OP here

I am an avid gamer who players a couple of hours of Apex Legends and Call of Duty Modern Warfare everyday. And I've been info FPS gaming for 2 decades now.

To play a game released a couple of decades ago and see it take up almost the same amount of resources as the games I mentioned earlier gave me a chuckle.

I commend the developer for his effort though. To make a game like that run on browsers is a mighty impressive effort and it is Uber cool. I don't dispute that even for a second.


Weird, I'm similar to you and seeing 1.6 running in my browser was just mind-blowing and took me back.


Are you actually saying you need an Apex Legends-capable machine to play Counter Strike on the browser? You can probably play this with an Intel integrated card from 10 years ago.


GP's comment is a short and non-insightful comment, this usually gets downvoted but for some reason it made it in this thread. I usually call this "driveby feedback" at work.


I think it's a perfectly valid criticism of the ridiculous levels of resource wastage of software today.

This has merits as a form of art, but as something for practical use, I do not think we should be so wasteful with computing power.

For something related, but not so wasteful (and also a form of art), look at: https://en.wikipedia.org/wiki/.kkrieger


On the other hand, they don't require admin rights, disk space or installation time, and are platform independent (including for example chromebooks)


I'm all for web apps, but does CS actually require admin rights?

> disk space

CS just downloaded 185mb of network resources for me to play. I would have thought those resources are stored on my disk, and not just in memory.

> installation time

That 185mb of resources took ~1 minute to download. By the time it had finished, it told me the server was full.

Regardless this is still very impressive.


I'm not going to claim that one is better than the other, because it's all about tradeoffs.

But I'm sure more people played this right now because of the low barrier to entry.

And the admin rights might not even be technical. Not a lot of people are fond of installing games on the laptop from work.

But like I said, everything has tradeoffs.


> But I'm sure more people played this right now because of the low barrier to entry.

This is the key point. If I'd seen a post about CS with a zip of an executable I would have passed.

Why? Because it probably wouldn't have run correctly or I would have had some other issue with it.

Let alone checking the provenance and worrying about malware.


>I'm all for web apps, but does CS actually require admin rights?

No. The cracked version(s) that are played in schools and whatnot are usually just a zip file you extract and run.


More like a portable CS that can be placed in the documents directory and run from there. I remember my son's cousins installing software while not as admin on my Windows PC by installing in the documents directory. CS, AOL Chat, etc.

A good way to get malware as well. I could never trust those cracked versions. One cracked version made CS 1.6 with Navy Seals looking for bin Laden, which I thought was fun.


The first two are trivially solved by portable applications (AppDirs, Application Bundles, AppImage, etc.). Platform independence is only kinda true, as many of these things don't actually function correctly on anything but Chrome, so they effectively target just one platform.


Omg the modern web has become a monoculture!


Chrome runs on many different platforms.


Those are all very minors inconveniences. Installation took a few clicks, disk space is negligible for that category of apps (and if it isn’t re-downloading on each access is a more pressing issue). Only the platform thing matters, yet the exemple you give isn’t convincing given it’s super low market share.


then there are apps like photopea.com. feature parity with Photoshop, but starts immediately, consumes virtually no memory, requires no special permissions, runs on virtually any os. compare that to the adobe app which loads half a dozen services, takes about a minute to load, wont run on linux, etc...


Well since we now have 10x the memory and 10x the compute we are able to do this.

Also, you don't need no stinkin App Store, zero time for installation. The only next step would be to have everything open source I think these are good tradeoffs. I rather have Freedom than performance and more and more tech users are doing this.


Justifying everything becoming a web app to avoid app stores seems to me a lot like swallowing a spider to catch the fly.


Agree. I seriously do not understand what is so hard about going to a website and downloading a program. It takes literally all of 30 seconds.


It works well on my laptop without installing a darn thing. Why do I care if it's 10x the memory if I have that memory to use? Graphics are good enough. Gameplay is like I remember it 20 years ago (was it that long?!?!). I think this is pretty amazing.


I think mad props are due to people figuring out how to port non-trivial, closed-source applications to browser javascript environments.


This is a clone, not a port.


What is a solid alternative that allow access to applications cross OS without an explicit installation step?


think the biggest issue with browser apps is proper asset management. what you see most of the times is a huge payload of assets getting loaded at the start. I would like to see some kind of streaming service for assets. specially with textures that would be really neat.


The hard part there isn't a browser vs native thing (native apps also generally ship with all of the assets in a front-loaded client) but abstracting your rendering pipeline to handle streaming or incremental LoD over the network.

It's more of challenge of taking the time to add that level of polish.

Kind of like the rare native game, like League of Legends, that will let you play before the entire client is finished downloading. Being a native app didn't give Riot Games that for free, they had to specifically build it for their game. Even in the native game market, it's AAA-level polish for a small fraction of games.


I would actually love to see an old browser (e.g. IE 6) purely implemented in JavaScript to run inside a browser, without using the browser's DOM rendering capabilities (the web page should be rendered by the JS code on a <canvas> element, input events should be correctly handled, and of course a JS engine also has to be implemented).


Here's Win95 in a browser: https://win95.ajf.me/


If you haven't seen The Birth & Death of JavaScript, you're in for a treat.

Gimp running in Chrome running inside Firefox

https://www.destroyallsoftware.com/talks/the-birth-and-death...


This is a pretty short sighted observation. It's obvious to most tech folk here that yes, moving up to higher abstractions, higher level languages and paradigms comes at a performance cost.

But we could have just stopped at assembler with that insight. I mean all the rest is just slower, and less efficient.


> This is a pretty short sighted observation. It's obvious to most tech folk here that yes, moving up to higher abstractions, higher level languages and paradigms comes at a performance cost.

This is not even necessarily true. There are zero cost abstractions. Compilers can generate better assembly code than the overwhelming majority of developers.


I didn't check but I don't think what you said is the case with graphical resources.


Was it 10x faster to build and easier to maintain or are 10x of statistics not true?


It taking like 1gb of ram in chrome.

Your point? I literally just clicked on a link, downloaded a few assets and was into an online FPS. Virtually any modern computer in the world no matter what OS/browser should be able to do the same.

But I guess for someone like you it has to be written in assembly so it's 100% efficient, even though you take 100x more to attempt to get it working than your counterpart.. and you never actually finish.


In a similar vein, http://www.quakejs.com/ is a JavaScript port of Quake 3 (using GPL'd engine code and Q3 Demo assets) and is equally impressive


Reminds me of Quake Live, which looks like it's only available on Steam now, but it used to be launch-able from Browser.

Anyone know how Quake Live worked?


Quake live's "main menu" interface was web based and a NPAPI plugin was used to run native code. When Chrome dropped NPAPI support, Quake Live moved to Steam, using Awesomium for the web interface part. The game is now an unmaintained relic but there still an active community.

https://en.wikipedia.org/wiki/NPAPI

https://developer.valvesoftware.com/wiki/Implementing_Awesom...


You had to download a plug-in I think


I like how they have Russia as the flag of Europe despite most of the country not even being in Europe, most people would use the EU flag but I guess this is CS 1.6 so they are most likely a fair few Russians about.


It's a good addition to the running joke about Valve's games that EU servers are Russia West.


Became moderately proficient at Russian thanks to Valve. такая халява.


My kids can swear in Russian as they play CS:GO ...

I enjoy when I get foreign language players of a language I know some of, it's a good way to practice IMO - wish one could choose a preferred language.

I guess they don't do that because of the impact on matchmaking (mm), the mm seems crazily sub-optimal I'd love to know that logic behind it : like when you have a game of 9 people, why you abandon it rather than finding a person from the pool of 100k waiting that will play. It could be a setting "allow game requests from mm" and they could give a little xp for it - beats searching and waiting another 10mins to start a game.


Most of the land isn't in Europe but most of the population is and I daresay Russians outnumber other nationalities on European servers.


Last time I checked - Valve has no game servers/entry nodes in Russia.

Western Russia connects to Sweden or Poland. Northern European and Eastern European countries connect through the same nodes.

Connections within Valve network are handled internally (since they can tune it for better latency, etc.) and you don't even know where the actual game server is hosted. So there is always a big mix of players no matter where you are in Europe.

Fun thought: it depends on how much throughput can be handled by Starlink, but Valve could waste some money on it to bring players closer from further away. They already have the dynamic, latency based entry node selection set up. If they hooked up some of the internal network through Starlink, it could be amazing low latency cross-continent gaming. And games like CS:GO and Dota 2 doesn't require too much bandwidth.


I thought dota had one but it has been a while and can't remember if that was really the case.

Assuming it is not, I wonder why? Lots of russian players, why wouldn't Valve put servers in Russia?



I guess it is where the server is? See Asia (Indonesian flag?)

Also most of the dannish kingdom's land is not in Europe either.


It is not indonesia but singapore which is just 0.0017% of asia.


but 100% of the money laundered in Asia! /joke


The server is most likely in Saint Petersburg or Moscow which both are very much in Europe.


A good chunk of Russia is geographically in Europe.


Isn't network topology is the determining factor (instead of world politics) for these naming conventions?


I'm guessing all their EU servers are in Russia. My ping was pretty high from France.


Russia is and always has been considered a European country.


Russia is the last remaining European Colonial Empire with their colonies still part of the original power, mostly thanks to them being geographically together.



Tell that to the Vladivostokians.


They're well aware of it.


I was always told Russia spans two continents.


France technically spans 6 continents. It's still a European country.


The Russians are firmly in charge. Try asking some Turks in Russian territory whether they have an equal voice in the country compared to the Russians.

Is the US more of a European country or an Amerind country? What would its geographic location suggest?


That's news to me, an European.


Then you payed poor attention at school.


This is actually nice! If only CTRL+W didn't kill the tabs... We still got a long way to achieve the glorious web everything but progress is progress and I'll give them that.


I did this 3 times and then gave up! The muscle-memory is too strong.


You need a cmd button :)


Same problem here (FF on Linux).



Is this made/approved by Valve? Or is it just that nobody cares about taking down CS 1.6 piracy anymore because it's such an old game?


Cracked (non-steam) CS 1.6 clients are available for years and I don't think Valve ever cared.


It was never difficult to play CS for free, and that's probably the reason for its success. I remember getting into CS because you could play online with basically any Half-life product key and by 2000 you could buy bundles that came with like 3-4 keys.


I think CS, in that era, was free if you had a HL product key. It was a community mod and even when it transitioned to a boxed standalone product you could still download it if you had a HL key. CS: Source was also a free upgrade.


This site is charging, though.


Surely the patent of cs has expired by now


yeah but you can't play with your friends on steam so... there was never really a point to play on these servers (also cheat)


A counter question: why do you care? Do you believe someone waited all those years to not buy it and play for free in browser with massive lag? Is this an attempt to enforce bullshit corporate-centric policies that are copyright laws simply for the sake of enforcing them?


You're projecting a lot on my comment. I spent most of my youth pirating CS and Unreal Tournament so no I don't care at all if people can do it from the comfort of their browser, besides such old games might as well be in the public domain as far as I'm concerned. I was just surprised that a website like this one managed to operate for more than a few days before getting shutdown for obvious piracy, that's all.

I guess there's precedent for Valve being pretty lenient with that stuff though, after all they embraced the Black Mesa HL remake when most other editors would've ceased-and-desisted it into oblivion.


FYI the creators are actually charging $2/week subscription for this game. Profiting from a cracked software definitely crosses some moral boundaries.


Does it? It has been over 20 years. Should a creator be able to profit indefinitely off a single work? 20 years is long enough for a patent to expire. The fact that copyright outlasts patents is really just a corruption bug in our legal system.


Patent does not apply here, copyright does. And the US copyright lasts 70 years after the death of the author, and for companies, 120 years after creation or 95 years after publication, whichever is shorter.


Yes it does. The creators also maintained that code, and the other intellectual property, by expabding on it with source and csgo. While I am nobody to poopoo piracy, this is a piss poor justification.


It's like a best of. Those aren't the latest 1.6 models, it's the 1.5 knife, but the 1.6 shield is in the game.


Aside from the HL2 leak and CSGO skin trading sites, Valve has been very liberal with their IP.

They generally don't care.


Certainly not, it's using Xash.


Who remembers CS 1.3 -- the last truly great CS, before 1.4 removed bunny hopping and thus ruined the game?


Beta 7.1 was where it where I got hooked. The Steyr Scout was a 1 shot kill with the same move speed and cs_mansion was the epitome of map balance. At least at the 12-PC internet cafe I could play at.


For me, this is a good gaming experience.. Just stream and cache :-)

Never mind, it's more like: download, wait, server full

Still awesome


Faithful to the original in that sense!


haha


As often, the keybindings use a QWERTY-centric layout, that doesn't make much sense if that's a different keyboard, and no obvious way to change it.

The steam controller API is nicely designed: you define actions, and let the user pick a way to trigger those actions. I think there are predefined ones that already have mappings for common input devices. The API then returns an image and name to correctly prompt the user. I wish we had something like this at the browser or operating system level.


I've had to deal with this all my life because of the French AZERTY, but honestly the best solution to this problem is to get a QWERTY keyboard. I haven't thought about this issue once in the last decade.


I have the same problem and it exists with virtually all web apps. No easy rebinding and often no rebinding at all.


Next gen network streaming api for the web is WebTransport:

https://wicg.github.io/web-transport/

You can experiment with the initial draft version of QuicTransport today:

https://web.dev/quictransport/


Thank you for sharing this. I didn't know about that, and it's very interesting to me.


I don't know much about the topic - but from what I understand, Valve games use Protocol buffers and UDP connections to the lobby server, in their netcode (someone correct me if I'm wrong).

Is there an equivalent way to do this with the same level of efficiency in the browser? What are browsers missing in order to achieve this?


> Valve games use Protocol buffers and UDP connections to the lobby server, in their netcode (someone correct me if I'm wrong).

The netcode originally used in GoldSrc/1.6 came from QuakeWorld and predates Google. IIRC it got replaced at some point. The current iteration of Source's netcode doesn't have anything to do with that, though.


> IIRC it got replaced at some point. The current iteration of Source's netcode doesn't have anything to do with that, though.

Do you have a source (heh) to back that? Lots of the networking configuration cvars from 1.6 are still there in CS:GO and do the same thing. Maybe it was cleaned up but I wouldn't be surprised if it's still mostly the same code.


According to Valve, they deployed https://github.com/ValveSoftware/GameNetworkingSockets successfully on CS:GO.


GameNetworkingSockets is pretty cool, and integrating it must have required some extensive changes, but it's more of a networking middleware library. I thought blattimwind was referring to the gameplay related netcode (prediction, interpolation, lag compensation, etc). My understanding is that it hasn't changed much since the 1.6 days, because all of the configuration knobs are still available today, but maybe they rewrote it and I'm just out of the loop. It'd be a major task to do that without affecting gameplay "feel", which is why I was interested in some source to read more about it.



Those are GC (Game Coordinator, server list, matchmaking) and Steam (items, trading, etc) protobufs, not for the actual netcode of Source games. There also seems to be some demo (saved game replays) related messages there, but I don't see anything gameplay related.


There's nothing stopped anyone from using protobuf in the browser, it's just not that common since JSON is easier to work with. Not sure how the netcode on this game works though.


The last version of CS worth playing was 1.2 (or 1.3? or 1.4? I don't recall), where strafe jumping was still possible, so you could pretend it's Quake and annoy the hell out of the more covert people.


Basically unplayable if you're used to CS at all, however this is a really cool and impressive project :)


Cool! Now please do Heroes of Might and Magic III.


Please don't, it would 100% swallow me after all these years of not playing computer games :) I loved Heroes 3.


I would say I really enjoyed it. Although the gaming experience in Safari with a Magic Mouse is odd, the connection is somewhat laggy, and people are constantly (dis)connecting, it worked really well and brought me some sweet memories about playing CS 1.6 a long time ago.


This brings back memories of 6-7 of my friends cramming our desktops into a garage to play games all-night.

I still remember working summer jobs saving up for the next best video card. Fun times.


This seems like quite the achievement. Can't crouch and walk forward though (ctrl+w), nor is it anywhere close to the performance of say cs:go at least in terms of input lag.


So crouch + forward will close the game? This might become the new Alt+F4 for more money hoax.


Use "c" to crouch.


How does this work? CS 1.6 is closed source, as is HL1 engine?


It's a clone with CS maps.


No, it seems to contain some leaked SDK and reverse engineered code: https://github.com/FWGS/cs16-client/tree/v1.32 , and to run on https://github.com/FWGS/xash3d-fwgs .


Brings back good memories!

But, it is so sad that we can't change the keyboard layout. So, it is sadly useless for all the people that don't have a Qwerty keyboard.


This is actually a lot of fun! The mouse movement sucks and I don't remember the spray patterns like this but it's still very enjoyable.


How does this work actually ?


It's a WebGL clone of Counter-Strike 1.6 that can even load original maps.


That was amazing! This is so awesome. I just played for 30 minutes since I haven't played since I was a kid. I use to be very good and apparently still have it since I landed #1 after playing all the rounds :)

Thanks for sharing this, made my morning and took me away from development work for once!


On a semi-related note, if anyone feels nostalgia for CS1.6/CS:GO and has a VR HMD, jump on Pavlov and join a Search & Destroy server/map. The experience of spawning into and running around a map that you have played for 20 years is beyond mind blowing.


Is it WebSocket or Data channel based?


It took me almost a minute until I started to play. The rotation with a mouse was very slow (you have to move the mouse by a huge distance).

I prefer to play https://www.krunker.io, where you can play immediately :)


> almost a minute

Going 20 minutes already on a fast connection... still downloading things. Very ominous.


There is a disclaimer that first loading is always a lot slower, since it is downloading and caching all the files


Even after that first time, it takes a good 20-30 seconds to process the files again.


Krunker is great!


Anyone knows how this game has been ported to the browser? Is it compiled to Webassembly?


Very cool, thank you for sharing.

Unfortunately I downloaded resources, waited, and the server was full. After repeating for 3/4 times I gave up, so maybe a little more work needed there to cache and/or manage servers a little better for the end-user.

Still a very cool project!


I discovered that the other day, I find it completely insane. Also how is this even legal. Well I hope Valve doesn't get angry at it, actually I don't know why Valve is not even doing this (and adding their own skins marketplace)


Wonder if the physics bugs exist on this web port of CS for maps like ka_roadwars_v2

That was an epic map where you could glitch into the wall with a vehicle and shoot yourself off in the air and go into the hidden gun room.

Fun times.


That's amazing! Used to be addicted to CS:S (surfing) and found a surf server on here.

But for something as fast-paced as surfing, the experience is not wonderful (small input lag). Still, really impressed by this.


Man, if you had told me back when I was playing 1.6 that one day I would be playing it in a browser, I would have laughed. Crazy how far we've come with video games.


Wow that was an awful experience, I lagged to some random location and died instantly. Seems like browser based gaming might have some way to go. Good effort though.


browser FPSs will never take off due to complete lack of protection from cheating, and cheating is the core implementation issue with FPSs.


How is it that running in a browser is inherently unprotected?

Sure, they don't usually have the thousands of man-hours dedicated to cheat detection, but the basics are usually sorted out.


Client-side anticheats are essentially advanced rootkits, and cannot be implemented in a browser sandbox.


Because it runs in the browser it's trivial to apply client side cheats. For example see through walls, auto aim.


Wow, I find this amazing though im not into this kind of games at all. I gave it a run, took a while to load at first but the playing experience was quite nice. I killed a few people with a knife and got killed a few times and thats enough violence for me.

Nonetheless, having this run in the browser just like that, no downloads, no installs, no tweaks.. im wowoed. Good job peeps

Edit: my experienece was quite nice, I launched this in Firefox on Win 10 on my mediocre laptop (i7-7560u/8gb ram)


That's not a mediocre laptop.


I paid ~$500 for it, its an average laptop. Lenovo ideapad s340. We’re in 2020, whats an average laptop for this time and age


It's hard to figure out which server I'd want to play when they don't show pings in the server browser


> they don't show pings in the server browser

Pings are more complicated in this setup. A low ping to a server won't help too much if you have high ping to the online client itself. Are there different clients in different locations so you can select a low-ping client?


No, ping is as complicated as for any gaming server. You have one central server and many clients connected to that central server. I don't think the game is running somewhere else, it's running directly in the browser, so only ping you care about is from your computer to the central server.


There's definitely not "one" central server. Depending on how they route your connection (do they proxy you or redirect you), you might still just be connected to the server you're playing on, but the "ping" is also more complicated in itself since the protocol is more complicated. Instead of information from the client to the server which updates all the dynamic entity states, you are instead sending input commands and getting video and audio back. So, not only would "ping" measure something entirely different, it would possibly be optimized for in the path between you and the remote differently as well.

They may have decided that instead of providing a metric that might lead people to believe it's similar to and implies the same thing as it did in the past, they'll remove it. If so, I would hope they would put something semi-equivalent in it's place. Maybe they did, but it's so removed it's hard to locate?


A traditional server browser pings each game server from the client, so the ping you are shown is roundtrip time between your client and that server. CS follows this client-server architecture.

The server browser retreives a list of game servers from a directory server, and all that directory does is manage the list of game servers for presentation to clients.


> if you have high ping to the online client itself

that doesn't make sense, you download the client and you run it locally (even if in browser) so there's no notion of client ping here (unlike something like cloud gaming)


> A low ping to a server won't help too much if you have high ping to the online client itself

What? The client is the browser, running in your own machine. You can absolutely ping servers.


Maybe I'm misunderstanding how this works. I assumed the client was on the server and streaming in some respect to you.


Wish I knew about this during quarantine.


It worked for me after a few tries, input lag is pretty significant though.

Anyhow it's a very neat project, thanks for sharing!


Impressive! But it also feels like this is making a convincing case for an UDP equivalent to websockets.


Such a memory... There is some lag due to network, but this is still a great and very promise project.


oh my god this is so cool. I just played a round of C.S in my browser. still letting that sink in.


As a demo of a web application, it works very well. But definitely not for playing yet.


Does it work on Safari? It has been initialize Shaders for the past 10 min.


Yes, works fine in Safari 13.1.1


Facing same issue on Chrome.


This reminds of Gary Bernhardt The Birth & Death of JavaScript :)


It feels like 15 years ago, complete with random lag. :)


Wow, this is really cool. I wonder if in the future, everything will run on the browser, and most software doesn't care about the OS at all.

There's even a xkcd comic about this[0].

[0] https://xkcd.com/934/


Everything just pops up a layer though, you now have to deal with performance and behavior differences between browsers. And for games you'll see everyone accounting for the 80% case (Chrome) maybe the 20% case (Firefox/Safari) and everyone else left out in the cold. Somewhat simpler API surface layer though.

The real beauty of the web is to be able to jump into something just by following a link and that lets you do some really fun things. For example we recently collaborated with the streamer Day[9] to build this swarm game* he played with his audience. That basically requires the ease of access you get from the web experience: https://www.youtube.com/watch?v=bs1p22oI_V4

* - The whole game was also built from inside a browser.


Technically it can, but money from Appstore, Playstore, Windows Store is too lucrative for the behemoths to give up their hold on them to improve the browser ecosystem & web apps in general.


Is there a way to reconcile this? Web has such nice tooling to develop for, but it's also nice to have the discoverability and monetization opportunities of a centralized app store.


IMO, only when native apps dependency on smartphones are reduced we can see web apps maturing.

PWA, Linux phone's dependency on web apps can help a bit, but I don't see it beyond the enthusiast/privacy market.

Because App publisher - Appstore relationship is 'scratch my back, I'll scratch yours' type relationship. Top apps isn't going to get as much telemetry from web app as they get from native app, at least not without people knowing or fighting with ad-blockers.


The current answer here seems to be Electron, which unfortunately means that I have about 20 copies of Chromium/Electron taking up disk space and memory on my computer.


> Web has such nice tooling to develop for

...really? Web development is the absolute worst development experience I've had since doing COBOL in college. I have difficulty believing anyone can claim this who has ever developed with proper tooling for anything else.


I guess I haven't done too much outside of web to know much else :). However I have done some iOS stuff and the tools are okay but much less open source, documentation, etc.


You can't really make this statement without linking to https://www.destroyallsoftware.com/talks/the-birth-and-death...


So everything just moves up one layer of abstraction, takes the associated resource hit, and the cycle begins anew.


This is so cool, the guy that made this has my respect!


Browser gaming is certainly going to evolve more and more. With Stadia and so many other browser-based games show great examples of what can be achieved.


Stadia is a different kind of browser based gaming. It's a stream of inputs and outputs.


I have tried it in Firefox 77 on Linux running on a Core i7 CPU and the experience was mediocre. Low fps, delayed sound and imprecise mouse movement.


FF77, i5 CPU on Win10 -> perfect.


Not the same as a desktop version.


That's the point.


And there goes the weekend...


this is super cool. any chance this is open sourced?


These things need to be treated like crack cocaine.


OMG! I love 1.6 this brings back so many memories!


Ah memories!


I just found a new lunch break hobby lol


this is fantastic


This is really well done, is there an easy way to change mouse sensitivity?


Welcome to 2003. This is quite ugly and those counter-jihadist bastards refuse to die.

OTH. I think remember a very good browser version of Crysis. Where is it now?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: