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.
> 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.
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.
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.
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.
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.
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.
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.
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.
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.
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!
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.
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.
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.
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.
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
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.
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.
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.)
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.
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.
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?
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 -_-)
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
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
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.
> 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.
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.
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.
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.
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.
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.
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?
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.
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.
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 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.
> 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?
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
Russia is the last remaining European Colonial Empire with their colonies still part of the original power, mostly thanks to them being geographically together.
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?
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.
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.
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.
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.
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.
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 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.
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.
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 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.
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.
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.
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)
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.
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)
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)
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.
...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.
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.