Sub-tick updates sound to me like they're still using a tick rate system, but specific CBasePlayer mechanisms will now undergo interpolation using UserCmd timestamps alongside their rewind buffer to understand specifically where you were during gameplay as opposed to looking backwards in the rewind buffer and not making interpolated calculations based on timestep.
There is still an upperbound where additional granular game states don't occur and that upperbound is based on framerate, afaiu.
We use a similar system in Planimeter Game Engine 2D.[1]
Planimeter engineers are former Source Engine developers.
Couldn't you separate input from framerate and interpolate based on the input timing? I do this in a reaction-based arcade game I'm working on in Unity with their newer input system. e.g. If they input happens 8ms before the current frame, a projectile is "fast-forwarded" by the equivalent of 8ms, and then is in sync with the tickrate. The bigger issue I've run into is since mobile is my primary target, I've found that phones don't report touch inputs more frequently than their screen refresh rate. Works perfectly fine in the desktop build though with 60fps and a mouse with a 8k polling rate though.
We write a general purpose game engine, but some of the predefined classes do have integrations exactly like this. What you're describing is similar to what we do for predicted projectiles, yes.
We reused the concept from Team Fortress 2, which is when Valve first implemented the concept, I believe. But the idea is as old as when QuakeWorld first came on the scene. I think I remember Carmack specifically talking about how projectiles wouldn't be predicted in his .plan files, but the overall feel would be much better.
We were doing some experimentation with a future Planimeter Game Engine 3D product, but will be moving back to Game Engine 2D development this upcoming quarter, with a new website planned, a getting started tutorial path, and sample game code included from internal projects. The current version includes example code in the game folder.
I am hoping that a getting started path will encourage new users to help one understand core workflows we've designed for developers, starting with creating entities in a test map, and then updating those levels, and finally, building your own fully-custom features which tie into premade systems.
your granularity upper bound being the framerate is a result of LÖVE not passing SDL timestamps as well as it doing SDL_pumpevents once per frame, so even if you try to timestamp the individual events they are still bunched up into the start-of-frame rather than accurately being able to do sub-frame rollbacks.
To be fair, I think the way SDL hand wave the processing into one lumped Pumpevent is where the blame lies —- it is just a compromise made for the sake of being a cross-platform abstraction so they had to make it a black-box invocation
The smoke effects are cool, but otherwise, it doesn't feel like the graphics are really that much better, just different. Flatter dynamic range (everything is bright now). Busier textures. Exactly the same pixely shadows (most visible in the screenshot "Back Plat"), which makes me think the engine hasn't been modernized that much.
I think the big upgrades in Source 2 are around tooling. The Valve Hammer editor for CS:GO is a glorified Quake map editor. I think it can even still edit Quake maps.
> Flatter dynamic range (everything is bright now)
This change seems arbitrary. In CS3, they could reverse this change and make the case that they improved the atmosphere, and people will agree with it.
(The former is CS2, the latter CSGO). In my office, with the sun streaming in through the double windows, with relatively low-gamma, lower-contrast old IPS monitors that don't suck but aren't 4k professional OLEDs, yeah, I absolutely want everything to be bright. It kills the horror-movie feel, where your eyes are at the edge of their abilities, squinting and peering into the foggy shadows for barely-perceptible hints of motion, but if you want to actually see what you're doing you want flattened dynamic range.
If you're not watching on an HDR monitor in a pitch-black home theater, you can't see anything in Batman (2022) or Game of Thrones, or any of the modern "realistic", "gritty," underexposed shows. It's definitely more artistically appealing in ideal conditions, but if you're not going to perfectly recreate the ideal viewing conditions (and crank up the gamma on your display to compensate a bit while you're at it), it's pointless.
I have the same complaint regarding dynamic range with regards to sound mixes, too. I understand that the real battlefield sends soldiers home with tinnitus because explosions are head-splittingly loud. I don't want that realism when I'm in-game, flashbangs should not be mixed in Counter-strike such that their own monitors and headsets/speakers physically incapacitate the players if they turn the volume up to be able to hear the radio commands. When listening to a movie, I usually just accept that I have to turn on subtitles (even though my hearing is fine) and will have to read the dialog if I don't want to wake up my kids with the house shaking when there's an on-screen explosion.
It seems very intentional to me, they mention "character read" as a goal for the relights on the website. IMO CS1.6 still has the best ability to quickly see an enemy than any of the other CS games (it's still way better than something like CoD). The flat lighting with less visual noise could really help bring this back.
To me it looks more cartoony. Like TF2. Back in the day, "better" graphics normally meant "more realistic". It seems like either we've given up on that for the time being, or tastes have changed.
Also to me the smoke looks weird. Maybe real smoke does behave that way, I don't know. But I don't get why it just hangs there like it's an inflated balloon. And I don't get why after moving the smoke with an explosion the smoke reappears magically in that spot.
It really seems like their smoke processing is just removing/re-adding cubes into the volumetric model, then using the shape of the cubes to draw "a cloud". It looks more like a marshmallow than a cloud of smoke, to me.
It doesn't seem like they model air movement, at all, and I don't see how to get realistic smoke without some concept of wind.
> Flatter dynamic range (everything is bright now).
I was about to write this.
I like the improvements, but I dislike that everything is brighter and with less contrast in the examples. The CS:GO environments look more characterful, almost like comparing The Matrix with a greenish tint to a hypothetical Matrix where everything was bright and clean.
I wish they could mix the improvements with the older lights/contrast.
How do I gain access to the Counter-Strike 2 Limited Test?
Players are selected based on a number of factors deemed important by the Counter-Strike 2 development team, including (but not limited to) recent playtime on Valve official servers, trust factor, and Steam account standing.
How do I know if I've been selected for the Counter-Strike 2 Limited Test?
If you are chosen to participate in the Counter-Strike 2 Limited Test you will receive a notification on the main menu of CS:GO.
If you receive an invitation select "ENROLL" and begin your download. When the download is complete launch CS:GO and select the "Limited Test" option to play the Counter-Strike 2 Limited Test.
How often are players added to the Counter-Strike 2 Limited Test?
More players will be added to the Limited Test over time. Keep checking your CS:GO main menu to see if you have received an invite.
How long will the Counter-Strike 2 Limited Test last?
Counter-Strike 2 is expected to ship Summer 2023.
Amazing to finally see some work being put into CS, and just this smoke grenade sneak peek already makes me very curious to see how this will play in practice.
It's clear at least that they aren't afraid of changing the meta in a rather substantial way -- which is of course dangerous on one hand, since I'm guessing CS is so popular precisely because of its timelessness, but also necessary on the other hand if we ever want to improve upon it.
CSGO has had a lot of work put into it. It's a very different game than when I started playing it (over 10 years ago). I remember it wasn't even developed by Valve, originally. It was developed by Hidden Path Entertainment. For a long time after it was released, CS 1.6 and Source were still more popular than it. None of the maps in the current Active Duty pool were included in the initial CSGO release. They've either been re-made from scratch or are entirely new. Every weapon other than maybe the knife has undergone balancing changes in terms of cost, reload speed, movement speed, accuracy, etc. Various new weapons have been added to the game. New game modes have been added, including Danger Zone, which is pretty much an entire game of itself. Battle passes have been introduced. Skins implemented. Etc., etc. - and 1.6 and Source are all but forgotten.
I think this is actually the key to understanding the significance of CS2. It looks very similar to CSGO. But, in 10 years time, I suspect many major changes will have been made that will distinguish it very much from CSGO, updates that would have been impossible if they'd stuck with the source engine.
There's a part of the website that states it'll be an upgrade to CSGO. I wonder if that means we're losing CSGO, or if there will be some sort of "legacy mode" that either retains CSGO as an option or simply shims its gameplay into CS2.
CS does change substantially between releases. The movement has gotten slower and less nimble since CS:Source and the AK/M4 primary dominance is markedly reduced in CS:GO.
Am I the only one who thinks the added "realities" to Counter-Strike have continually made the game worse? I feel like the simplicity and hard corners of 1.6 made the game fantastic for 5v5 gameplay and more competitive. I enjoy the lack of layers and features.
CSGO has just had the most concurrent player count. The game is by no means dying or unpopular. I think the game is in a great state and valve seems to be delivering a lot of what people have asked for. Im intrigued by the new smokes.
I’ve been playing a lot of 1.6 at play-cs.com recently and enjoy it way more than csgo. I think cs source was maybe the sweet spot but I agree that the maps now are too busy and distracting and take away from the gameplay.
This was my first thought when I read about lighting appearing on smokes. I understand they want to upgrade the look but I'm worried that too much will take away from the stripped down feel that makes CS so popular.
The brighter colors feel like a return to a style much more like 1.6. Source and GO always felt too far along the realism slider for the visuals for some reason.
I'm happy to see more game devs eschew realism for the benefit of gameplay. Does shooting a bullet clear a tunnel through smoke IRL? No. Does making it do that make for some cool gameplay? hell yes
We're also getting out of the 2008/Xbox era of FPS design where everyone was going for a gritty, brownish Desert War realistic look. Think early CS:GO or Gears of War.
Finally we can return to having some colours on ours screens other than dark yellow and brown.
"Sub-tick updates are the heart of Counter-Strike 2. Previously, the server only evaluated the world in discrete time intervals (called ticks). Thanks to Counter-Strike 2’s sub-tick update architecture, servers know the exact instant that motion starts, a shot is fired, or a ‘nade is thrown."
Not sure what it means but it's probably related to the rollback tech in the source 1 engine, which is pretty outdated.
Rollback is really the best lag compensation tech we have, trusting a client to a very small degree to tell their state of the world (or rather a delta to current) is much better than most other contemporaries. Call of Duty still divides your RTT by half at the start of a match and rewinds by that much. On connections with asyncronous latency this can be extremely impactful.
I’m not sure your information wrt Call Of Duty is correct.
To my knowledge, the client timestamps their inputs and sends them to the server; the server will then rewind the state of the world to the time of the input before applying it. RTT isn’t an input. Each snapshot from the server includes the server world timestamp of that snapshot; the client will gently lerp its clock to match this per frame.
Source - I’m a COD engine developer the last ~15 years or so.
Yeah, I'm interpreting this as instead of sending an integer of the tick that something occured on, they're sending a floating number of when it happened.
I assume the float they send will have a limit in accuracy however. So really it's not like ticks are 'gone', they're just getting much much smaller.
At the server, client input events exercise some localized net code layer on a purely ad-hoc basis (i.e. serviced in small batches the moment packets are received). Players involved in these interactions could receive immediate updates from the localized, ad-hoc simulation (i.e. "infinite" tick rate).
The global tick is responsible for synchronizing these ad-hoc buckets (i.e. the same player can't die to 2 different kill shots). Rollback would likely be required in some cases, but if the global simulation is ticking at 60hz and the likelihood of a rollback is low, I think it could feel really good.
Shouldn't really make any difference, because they're already super effective with ticks. Having more fine timing accuracy doesn't drastically improve them.
I wish some of these latest AI advances went into giving us better in-game bots so I can have fun playing on my own rather than be sniped by an expert player from half the game away who thought he would play on the newbie server for (his own) fun.
The hardest bot level on CS:GO already is more challenging than low- or mid-level players. To be fair, the level below the hardest is way easier. All non-wingman standard maps don't allow sniping over much of the map. Are you talking about a different game?
I suspect the concern OP was referring to was not that bots aren’t challenging, but to the sense they play differently than players do. There is overlap in what it means to be good vs players and bots, but there are also elements unique to one or the other.
Yeah the issue is how fucking toxic the CS community is. I'm usually pretty numb to people talking shit but my god, I always remember why I stopped playing CS every time I reinstall to play it again.
I tried some Aim Practice Maps from the workshop. That helped improve my aim.
Don't get that opportunity during the actual game.
I used to play for 30-40 mins a day, that wasn't sufficient time in game to improve. Especially against players who are playing for the better part of a day.
Have you played some of the community FFA servers? If you choose hard bots, on most servers, the bots have inhuman reaction and accuracy.
But I guess your point is fair -- it would be much nicer to see bots that cooperate as well as they aim. Would allow much more realistic takeover scenarios to be played.
I remember superhuman bots in Perfect Dark. It was kind of fun to play against them sometimes (by setting traps and cheesing map geometries mostly) but it was not very much like playing multiplayer at all.
Yea, I think your second paragraph captures it. "Better" doesn't mean mechanically better at aiming. It means more realistic, and player-like behavior. Maybe also more more behavioral variance, so they don't feel like a team of 5 copies of the same person.
I play offline with bots exclusively. I'm older, have been playing CS since the beta days and no longer have the patience to play with real people and all their inherent aggravations.
CS does match making now. They had a few problems:
1. Small pool of active players so queue times could be long
2. They had a "gulf" where you got de-ranked down into lower tiers and it was a lot of good players in the bottom tiers that couldn't fight their way out to higher tiers with possibly equal players.
They fixed 2 with a re-calibrating a few months ago. They have 18 ranks now. I jumped up 5ish with the re-calibrate.
Speaking for myself: yes. The only multiplayer FPS I ever truly enjoyed was L4D, and only because it's cooperative (I did enjoy Versus mode, but coop is where it shined for me).
The problem is that many military shooters don't (or didn't) have singleplayer, or what they did have was a simple demo for the MP mode. That sucks. I enjoyed the first iterations of the CoD and Modern Warfare titles because they were all about the singleplayer campaign, full of plot twists. I got tired eventually and no longer play any CoD or MW games, but that's a different issue.
If you had very specific periods of time you were interested in, it was even worse. There was a time when there was absolutely no singleplayer 'Nam FPS, only Battlefield: Vietnam, which a- sucked, and b- was multiplayer.
Mostly? I like the Assassin's Creed games, Witcher 3, Far Cry etc. I'd probably play more multi-player games if I lasted more than 30s and didn't have to sit out the rest of the round.
There is still an upperbound where additional granular game states don't occur and that upperbound is based on framerate, afaiu.
We use a similar system in Planimeter Game Engine 2D.[1]
Planimeter engineers are former Source Engine developers.
[1]: https://github.com/Planimeter/game-engine-2d/wiki/Tick_rate_...
[1] https://us.forums.blizzard.com/en/overwatch/t/new-feature-%E...
[0] https://old.reddit.com/r/Competitiveoverwatch/comments/6xet7...
We reused the concept from Team Fortress 2, which is when Valve first implemented the concept, I believe. But the idea is as old as when QuakeWorld first came on the scene. I think I remember Carmack specifically talking about how projectiles wouldn't be predicted in his .plan files, but the overall feel would be much better.
I am hoping that a getting started path will encourage new users to help one understand core workflows we've designed for developers, starting with creating entities in a test map, and then updating those levels, and finally, building your own fully-custom features which tie into premade systems.
To be fair, I think the way SDL hand wave the processing into one lumped Pumpevent is where the blame lies —- it is just a compromise made for the sake of being a cross-platform abstraction so they had to make it a black-box invocation
This change seems arbitrary. In CS3, they could reverse this change and make the case that they improved the atmosphere, and people will agree with it.
https://cdn.cloudflare.steamstatic.com/apps/csgo/images/csgo...
https://cdn.cloudflare.steamstatic.com/apps/csgo/images/csgo...
(The former is CS2, the latter CSGO). In my office, with the sun streaming in through the double windows, with relatively low-gamma, lower-contrast old IPS monitors that don't suck but aren't 4k professional OLEDs, yeah, I absolutely want everything to be bright. It kills the horror-movie feel, where your eyes are at the edge of their abilities, squinting and peering into the foggy shadows for barely-perceptible hints of motion, but if you want to actually see what you're doing you want flattened dynamic range.
If you're not watching on an HDR monitor in a pitch-black home theater, you can't see anything in Batman (2022) or Game of Thrones, or any of the modern "realistic", "gritty," underexposed shows. It's definitely more artistically appealing in ideal conditions, but if you're not going to perfectly recreate the ideal viewing conditions (and crank up the gamma on your display to compensate a bit while you're at it), it's pointless.
I have the same complaint regarding dynamic range with regards to sound mixes, too. I understand that the real battlefield sends soldiers home with tinnitus because explosions are head-splittingly loud. I don't want that realism when I'm in-game, flashbangs should not be mixed in Counter-strike such that their own monitors and headsets/speakers physically incapacitate the players if they turn the volume up to be able to hear the radio commands. When listening to a movie, I usually just accept that I have to turn on subtitles (even though my hearing is fine) and will have to read the dialog if I don't want to wake up my kids with the house shaking when there's an on-screen explosion.
Also to me the smoke looks weird. Maybe real smoke does behave that way, I don't know. But I don't get why it just hangs there like it's an inflated balloon. And I don't get why after moving the smoke with an explosion the smoke reappears magically in that spot.
It doesn't seem like they model air movement, at all, and I don't see how to get realistic smoke without some concept of wind.
I was about to write this.
I like the improvements, but I dislike that everything is brighter and with less contrast in the examples. The CS:GO environments look more characterful, almost like comparing The Matrix with a greenish tint to a hypothetical Matrix where everything was bright and clean.
I wish they could mix the improvements with the older lights/contrast.
How do I gain access to the Counter-Strike 2 Limited Test? Players are selected based on a number of factors deemed important by the Counter-Strike 2 development team, including (but not limited to) recent playtime on Valve official servers, trust factor, and Steam account standing.
How do I know if I've been selected for the Counter-Strike 2 Limited Test? If you are chosen to participate in the Counter-Strike 2 Limited Test you will receive a notification on the main menu of CS:GO.
If you receive an invitation select "ENROLL" and begin your download. When the download is complete launch CS:GO and select the "Limited Test" option to play the Counter-Strike 2 Limited Test.
How often are players added to the Counter-Strike 2 Limited Test? More players will be added to the Limited Test over time. Keep checking your CS:GO main menu to see if you have received an invite.
How long will the Counter-Strike 2 Limited Test last? Counter-Strike 2 is expected to ship Summer 2023.
It's clear at least that they aren't afraid of changing the meta in a rather substantial way -- which is of course dangerous on one hand, since I'm guessing CS is so popular precisely because of its timelessness, but also necessary on the other hand if we ever want to improve upon it.
I think this is actually the key to understanding the significance of CS2. It looks very similar to CSGO. But, in 10 years time, I suspect many major changes will have been made that will distinguish it very much from CSGO, updates that would have been impossible if they'd stuck with the source engine.
Finally we can return to having some colours on ours screens other than dark yellow and brown.
Not sure what it means but it's probably related to the rollback tech in the source 1 engine, which is pretty outdated.
To my knowledge, the client timestamps their inputs and sends them to the server; the server will then rewind the state of the world to the time of the input before applying it. RTT isn’t an input. Each snapshot from the server includes the server world timestamp of that snapshot; the client will gently lerp its clock to match this per frame.
Source - I’m a COD engine developer the last ~15 years or so.
I assume the float they send will have a limit in accuracy however. So really it's not like ticks are 'gone', they're just getting much much smaller.
At the server, client input events exercise some localized net code layer on a purely ad-hoc basis (i.e. serviced in small batches the moment packets are received). Players involved in these interactions could receive immediate updates from the localized, ad-hoc simulation (i.e. "infinite" tick rate).
The global tick is responsible for synchronizing these ad-hoc buckets (i.e. the same player can't die to 2 different kill shots). Rollback would likely be required in some cases, but if the global simulation is ticking at 60hz and the likelihood of a rollback is low, I think it could feel really good.
Offline play with bots lets you control the difficulty. Online play largely does not. Some people just wanna be John Wick for fun.
Excuse when young: No wonder I suck, I'm competing with grownups with better computers than mine.
Excuse when adult: No wonder I suck, I'm competing with youngsters with more free time than me.
I tried some Aim Practice Maps from the workshop. That helped improve my aim. Don't get that opportunity during the actual game.
I used to play for 30-40 mins a day, that wasn't sufficient time in game to improve. Especially against players who are playing for the better part of a day.
But I guess your point is fair -- it would be much nicer to see bots that cooperate as well as they aim. Would allow much more realistic takeover scenarios to be played.
1. Small pool of active players so queue times could be long
2. They had a "gulf" where you got de-ranked down into lower tiers and it was a lot of good players in the bottom tiers that couldn't fight their way out to higher tiers with possibly equal players.
They fixed 2 with a re-calibrating a few months ago. They have 18 ranks now. I jumped up 5ish with the re-calibrate.
The problem is that many military shooters don't (or didn't) have singleplayer, or what they did have was a simple demo for the MP mode. That sucks. I enjoyed the first iterations of the CoD and Modern Warfare titles because they were all about the singleplayer campaign, full of plot twists. I got tired eventually and no longer play any CoD or MW games, but that's a different issue.
If you had very specific periods of time you were interested in, it was even worse. There was a time when there was absolutely no singleplayer 'Nam FPS, only Battlefield: Vietnam, which a- sucked, and b- was multiplayer.
(Yeah, yeah "git gud" etc)