• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 06:23
CEST 12:23
KST 19:23
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
2v2 & SC: Evo Complete: Weekend Double Feature2Team Liquid Map Contest #21 - Presented by Monster Energy8uThermal's 2v2 Tour: $15,000 Main Event17Serral wins EWC 202549Tournament Spotlight: FEL Cracow 202510
Community News
Weekly Cups (Aug 4-10): MaxPax wins a triple6SC2's Safe House 2 - October 18 & 195Weekly Cups (Jul 28-Aug 3): herO doubles up6LiuLi Cup - August 2025 Tournaments7[BSL 2025] H2 - Team Wars, Weeklies & SB Ladder10
StarCraft 2
General
RSL Revival patreon money discussion thread #1: Maru - Greatest Players of All Time 2v2 & SC: Evo Complete: Weekend Double Feature Is there a way to see if 2 accounts=1 person? uThermal's 2v2 Tour: $15,000 Main Event
Tourneys
Sparkling Tuna Cup - Weekly Open Tournament RSL: Revival, a new crowdfunded tournament series LiuLi Cup - August 2025 Tournaments SEL Masters #5 - Korea vs Russia (SC Evo) Enki Epic Series #5 - TaeJa vs Classic (SC Evo)
Strategy
Custom Maps
External Content
Mutation # 486 Watch the Skies Mutation # 485 Death from Below Mutation # 484 Magnetic Pull Mutation #239 Bad Weather
Brood War
General
BGH Auto Balance -> http://bghmmr.eu/ ASL 20 HYPE VIDEO! Soma Explains: JaeDong's Double Muta Micro BW AKA finder tool ASL20 Pre-season Tier List ranking!
Tourneys
Cosmonarchy Pro Showmatches KCM 2025 Season 3 [Megathread] Daily Proleagues Small VOD Thread 2.0
Strategy
Simple Questions, Simple Answers Fighting Spirit mining rates [G] Mineral Boosting Muta micro map competition
Other Games
General Games
Stormgate/Frost Giant Megathread Nintendo Switch Thread Total Annihilation Server - TAForever Beyond All Reason [MMORPG] Tree of Savior (Successor of Ragnarok)
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Heroes of StarCraft mini-set
TL Mafia
TL Mafia Community Thread Vanilla Mini Mafia
Community
General
US Politics Mega-thread Russo-Ukrainian War Thread European Politico-economics QA Mega-thread The Games Industry And ATVI The year 2050
Fan Clubs
INnoVation Fan Club SKT1 Classic Fan Club!
Media & Entertainment
[Manga] One Piece Anime Discussion Thread [\m/] Heavy Metal Thread Movie Discussion! Korean Music Discussion
Sports
2024 - 2025 Football Thread TeamLiquid Health and Fitness Initiative For 2023 Formula 1 Discussion
World Cup 2022
Tech Support
Gtx660 graphics card replacement Installation of Windows 10 suck at "just a moment" Computer Build, Upgrade & Buying Resource Thread
TL Community
TeamLiquid Team Shirt On Sale The Automated Ban List
Blogs
The Biochemical Cost of Gami…
TrAiDoS
[Girl blog} My fema…
artosisisthebest
Sharpening the Filtration…
frozenclaw
ASL S20 English Commentary…
namkraft
StarCraft improvement
iopq
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1577 users

Stormgate/Frost Giant Megathread - Page 252

Forum Index > General Games
5033 CommentsPost a Reply
Prev 1 250 251 252
WombaT
Profile Blog Joined May 2010
Northern Ireland25468 Posts
August 16 2025 00:44 GMT
#5021
On August 16 2025 09:29 ChillFlame wrote:
Show nested quote +
On August 16 2025 08:22 WombaT wrote:
I think there are probably 2 realistic possibilities as to why that choice was made, IMO.
1. It’s the next gen RTS, here’s our next gen tech, as a marketing angle.
2. If they were building an engine for future projects, or indeed licensing and figured they would aim high with an expectation of a combo of hardware improvements and their optimisation future-proofing it.


Both are possible, the former is more likely, IMO.

I don't understand the necessity of a 60Hz tick rate other than marketing. 3x tickrate is 3x CPU load (roughly)
There are lots of SC2 pros with average APM over 400. Like Reynor. I've seen 600 average APM in his games.
Does anyone know any serious cases of SC2 pros' complaints that the engine isn't responsive enough?

I don't understand the necessity of rollback either. I play on the European server with ~20 ping. My units never jitter, and enemy units are never desynchronized. Why do I need a tech that will do nothing and increase my CPU load? To make it possible to play with the Oceania server? Thanks, I'm fine playing with 20 ping, I don't need 180 ping. It can't defy the speed of light and routing delay.

So yeah, from the perspective of the average diamond player, I see no tangible benefit.
Maybe someone more knowledgeable will explain why it is worth it.




I’ll confess I don’t know what the actual limits of rollback effectiveness are, but I think it has some legit use cases.

If you’re in EU, and theres tons of people playing there, great.

If you’re in Australia, or South America and there aren’t, then having better performance across servers is probably pretty nice.
'You'll always be the cuddly marsupial of my heart, despite the inherent flaws of your ancestry' - Squat
qwerty4w
Profile Joined January 2024
25 Posts
Last Edited: 2025-08-16 04:27:12
August 16 2025 01:58 GMT
#5022
The 60hz simulation part of Stormgate probably has no reason to be much more taxing than the simulation part of Rusted Warfare, an indie RTS developed by one person. Rusted Warefare also has 60 tickrate, likely because for the developer it's an easier way to make the game look smooth without separating rendering from simulation and relying on more complex technologies such as interpolation. Units in Rusted Warfare move in continuous 2D space, with 2D physics like acceleration and pushing, the same as Stormgate. The terrains except in some third party maps are generally more open than Stormgate's, which would makes pathfinding easier, but the game can have much higher unit and building counts without lagging. Units and buildings are obstacles to pathfinding too, and it seems unlikely that Stormgate would run much better on similar maps.
Yurie
Profile Blog Joined August 2010
11854 Posts
Last Edited: 2025-08-16 05:47:06
August 16 2025 05:44 GMT
#5023
On August 16 2025 07:26 qwerty4w wrote:
Separation of rendering and simulation was a newer development for RTS games and didn't become widespread until late 2000s. For example, Tiberian Sun and Red Alert 2 have the same simulation rate as their rendering rate, according to C&C modding community (modenc.renegadeprojects.com/Game_Speed). Beyond All Reason has its unit animation being 30 FPS, the same as the game's tickrate, as a legacy of the engine it uses being an updated old engine and the full separation of simulation and rendering is still a work in process.

Historically it was after it became possible to make the graphics of an RTS more smooth than its simulation you started to see RTSs with really low tickrate, like Supreme Commander and AoE4.



Something to consider with Beyond All Reason. You often have games with 10k+ new objects (units, buildings) on the map and projectile tracking. Pathing does tank it when you have large movement at that stage though. For example a 300 unit fighter swarm getting an order. But lower than that it has no issues with performance. Heck it has run 160 player lobbies with lower unit limits (since engine has a max unit limit in how it is coded, not due to performance).

If tick rate scales roughly linearly with performance requirements, doubling tick rate should not result in the issues we see unless it is poorly built from the ground up. It could be that UE5 doesn't actually support this type of game well, in that case it is really at the bottom of the stack that issues occur.

If it is instead logarithmic increasing performance requirements they would have lowered tick rate to fix the issues.
ChillFlame
Profile Joined August 2024
95 Posts
August 16 2025 07:22 GMT
#5024
On August 16 2025 09:44 WombaT wrote:
I’ll confess I don’t know what the actual limits of rollback effectiveness are, but I think it has some legit use cases.

If you’re in EU, and theres tons of people playing there, great.

If you’re in Australia, or South America and there aren’t, then having better performance across servers is probably pretty nice.


That's my point.
I don't need it, they do, but I also must use it because the game version is the same. So it worsens my experience for no benefit.
You could select the "no rollback" option when you launched SG, but I doubt this option was meant for release. More like a debug option, because a lot of people had trouble with it.
Agh
Profile Blog Joined July 2010
United States982 Posts
Last Edited: 2025-08-16 08:00:08
August 16 2025 07:42 GMT
#5025
On August 16 2025 09:29 ChillFlame wrote:
Show nested quote +
On August 16 2025 08:22 WombaT wrote:
I think there are probably 2 realistic possibilities as to why that choice was made, IMO.
1. It’s the next gen RTS, here’s our next gen tech, as a marketing angle.
2. If they were building an engine for future projects, or indeed licensing and figured they would aim high with an expectation of a combo of hardware improvements and their optimisation future-proofing it.


Both are possible, the former is more likely, IMO.

I don't understand the necessity of a 60Hz tick rate other than marketing. 3x tickrate is 3x CPU load (roughly)
There are lots of SC2 pros with average APM over 400. Like Reynor. I've seen 600 average APM in his games.
Does anyone know any serious cases of SC2 pros' complaints that the engine isn't responsive enough?

I don't understand the necessity of rollback either. I play on the European server with ~20 ping. My units never jitter, and enemy units are never desynchronized. Why do I need a tech that will do nothing and increase my CPU load? To make it possible to play with the Oceania server? Thanks, I'm fine playing with 20 ping, I don't need 180 ping. It can't defy the speed of light and routing delay.

So yeah, from the perspective of the average diamond player, I see no tangible benefit.
Maybe someone more knowledgeable will explain why it is worth it.


The rollback isn't true rollback and it is not fluid. Watching your units be unresponsive while you watch the game play out to 'resync' based on your previous input is absolutely terrible and infinitely more tilting than something like original overwatch kill feeds when you see your character dying after you were clearly out of line of sight for an extended period. (If it actually kept taking inputs until the point of resync then it would be fine, as of now it's a coin flip of "lol were you clicking toward or away?")

It's just a worse trade off versus letting the game play out organically and just only letting the player with poor ping or connection to the server take the L. How it is currently functioning would only be acceptable in some type of a-move auto battler.

If you look at fighting games for example there is only about a 3 frame buffer ever allotted for rollback purposes. This is about an 8-45ms range -- outside of this you'll see full pauses, stuttering, or the match terminating. While very annoying still it's generally pretty seemless and fluid in those parameters.

I've seen instances in stormgate where the correction easily exceeds up to 300ms. That's more than triple a 3 frame delay buffer plus 3 frames of rollback.
I may appear to be an emotionless sarcastic pos, but just like an onion when you pull off more and more layers you find the exact same thing everytime and you start crying
ChillFlame
Profile Joined August 2024
95 Posts
Last Edited: 2025-08-16 16:58:35
17 hours ago
#5026
On August 16 2025 16:42 Agh wrote:
The rollback isn't true rollback and it is not fluid. Watching your units be unresponsive while you watch the game play out to 'resync' based on your previous input is absolutely terrible and infinitely more tilting than something like original overwatch kill feeds when you see your character dying after you were clearly out of line of sight for an extended period. (If it actually kept taking inputs until the point of resync then it would be fine, as of now it's a coin flip of "lol were you clicking toward or away?")

It's just a worse trade off versus letting the game play out organically and just only letting the player with poor ping or connection to the server take the L. How it is currently functioning would only be acceptable in some type of a-move auto battler.

If you look at fighting games for example there is only about a 3 frame buffer ever allotted for rollback purposes. This is about an 8-45ms range -- outside of this you'll see full pauses, stuttering, or the match terminating. While very annoying still it's generally pretty seemless and fluid in those parameters.

I've seen instances in stormgate where the correction easily exceeds up to 300ms. That's more than triple a 3 frame delay buffer plus 3 frames of rollback.


Maybe you can explain me.
Rollback is mostly used in fighting games.
Fighting games are built on precise player interactions. If the opponent presses his charged attack, I might have 20 frames to punish it. If I have 130 ping, and my enemy has 10, all my 20 frames are eaten by latency, and I can't punish at all. That's why they use roleback.

RTS games don't have such interactions. The closest thing I can think of is surround. But surrounds work perfectly in SC2.

Also, RTS can have hundreds of entities, while fighting games usually have just a few. That's why CPU load is much heavier.

My question is: why do we need rollback in RTS in the first place?
Gorsameth
Profile Joined April 2010
Netherlands21705 Posts
17 hours ago
#5027
On August 17 2025 01:55 ChillFlame wrote:My question is: why do we need rollback in RTS in the first place?
Because it sounds cool.

I can't see a reason why you need rollback in an RTS unless your trying to make a super micro intensive game where you have like a dozen units max and you need frame perfect counters to what your opponent is doing.

RTS games simply do not require the extreme low frame reaction speeds to warrant roll back net code.
It ignores such insignificant forces as time, entropy, and death
Agh
Profile Blog Joined July 2010
United States982 Posts
16 hours ago
#5028
On August 17 2025 01:55 ChillFlame wrote:
Show nested quote +
On August 16 2025 16:42 Agh wrote:
The rollback isn't true rollback and it is not fluid. Watching your units be unresponsive while you watch the game play out to 'resync' based on your previous input is absolutely terrible and infinitely more tilting than something like original overwatch kill feeds when you see your character dying after you were clearly out of line of sight for an extended period. (If it actually kept taking inputs until the point of resync then it would be fine, as of now it's a coin flip of "lol were you clicking toward or away?")

It's just a worse trade off versus letting the game play out organically and just only letting the player with poor ping or connection to the server take the L. How it is currently functioning would only be acceptable in some type of a-move auto battler.

If you look at fighting games for example there is only about a 3 frame buffer ever allotted for rollback purposes. This is about an 8-45ms range -- outside of this you'll see full pauses, stuttering, or the match terminating. While very annoying still it's generally pretty seemless and fluid in those parameters.

I've seen instances in stormgate where the correction easily exceeds up to 300ms. That's more than triple a 3 frame delay buffer plus 3 frames of rollback.


Maybe you can explain me.
Rollback is mostly used in fighting games.
Fighting games are built on precise player interactions. If the opponent presses his charged attack, I might have 20 frames to punish it. If I have 130 ping, and my enemy has 10, all my 20 frames are eaten by latency, and I can't punish at all. That's why they use roleback.

RTS games don't have such interactions. The closest thing I can think of is surround. But surrounds work perfectly in SC2.

Also, RTS can have hundreds of entities, while fighting games usually have just a few. That's why CPU load is much heavier.

My question is: why do we need rollback in RTS in the first place?


No, rollback in fighting games only purpose is to prevent desyncs. Has nothing to do with innate latency, frames, etc.
Think of this as an example: Within the X frames of designated rollback both players do a move that would result in drastically different game states. Generally games code and collision interaction would take care of this but in the rare fall through cases that it does not that is what rollback is for, and is usually only triggered by lag spikes/inconsistencies from a player.


But aside from clearing that up to answer your question, No RTS does not need it. Especially not a poor implementation of it.




I may appear to be an emotionless sarcastic pos, but just like an onion when you pull off more and more layers you find the exact same thing everytime and you start crying
tec27
Profile Blog Joined June 2004
United States3701 Posts
14 hours ago
#5029
On August 17 2025 02:24 Agh wrote:
Show nested quote +
On August 17 2025 01:55 ChillFlame wrote:
On August 16 2025 16:42 Agh wrote:
The rollback isn't true rollback and it is not fluid. Watching your units be unresponsive while you watch the game play out to 'resync' based on your previous input is absolutely terrible and infinitely more tilting than something like original overwatch kill feeds when you see your character dying after you were clearly out of line of sight for an extended period. (If it actually kept taking inputs until the point of resync then it would be fine, as of now it's a coin flip of "lol were you clicking toward or away?")

It's just a worse trade off versus letting the game play out organically and just only letting the player with poor ping or connection to the server take the L. How it is currently functioning would only be acceptable in some type of a-move auto battler.

If you look at fighting games for example there is only about a 3 frame buffer ever allotted for rollback purposes. This is about an 8-45ms range -- outside of this you'll see full pauses, stuttering, or the match terminating. While very annoying still it's generally pretty seemless and fluid in those parameters.

I've seen instances in stormgate where the correction easily exceeds up to 300ms. That's more than triple a 3 frame delay buffer plus 3 frames of rollback.


Maybe you can explain me.
Rollback is mostly used in fighting games.
Fighting games are built on precise player interactions. If the opponent presses his charged attack, I might have 20 frames to punish it. If I have 130 ping, and my enemy has 10, all my 20 frames are eaten by latency, and I can't punish at all. That's why they use roleback.

RTS games don't have such interactions. The closest thing I can think of is surround. But surrounds work perfectly in SC2.

Also, RTS can have hundreds of entities, while fighting games usually have just a few. That's why CPU load is much heavier.

My question is: why do we need rollback in RTS in the first place?


No, rollback in fighting games only purpose is to prevent desyncs. Has nothing to do with innate latency, frames, etc.
Think of this as an example: Within the X frames of designated rollback both players do a move that would result in drastically different game states. Generally games code and collision interaction would take care of this but in the rare fall through cases that it does not that is what rollback is for, and is usually only triggered by lag spikes/inconsistencies from a player.


But aside from clearing that up to answer your question, No RTS does not need it. Especially not a poor implementation of it.

You are insanely incorrect on this, to the point that I cannot believe you are stating this so confidently. Fighting games and RTS games both generally operate using lockstep networking, which means that each client simulates the game state resulting from player actions locally, and clients only transmit their actions to each other. This is in contrast to state-based synchronization that happens in things like FPS games (where clients often transmit actions to a server, and the server tells the client what the new states are, e.g. how much health someone has or what direction they are facing). RTS games prefer lockstep because transmitting state for all of the units/world can be expensive with lots of units, fighting games prefer it for different reasons, but the underlying concepts are the same.

In traditional lockstep networking (which we can refer to as delay-based), clients can only simulate the next turn once they have received the inputs/actions from all other players for the previous turn. If any of those inputs are missing, clients must wait until they receive them. That is, the game freezes and does not advance further. For very short delays this appears as stuttery gameplay that subtly affects the timing of your inputs, for longer delays this becomes completely unplayable with the game stopping for a very noticeable period of time.

Contrary to what you might believe, the internet is not fully reliable, even if you're on a wired connection with a quality ISP. Latencies can be somewhat variable during the course of a match, packets may randomly drop or be delayed depending on how overloaded the network infrastructure between you and your opponent is, etc. So even if you start a match well within the latency requirements to not have delays, there almost certainly will be some times within that match where you'll fall outside those bounds and a delay will happen.

Rollback attempts to solve this issue by recognizing that for a lot of the simulated turns, the inputs from other players are often empty (or basically empty), i.e. "keep doing the same thing I was doing last turn". So if we are missing a turn from a player, instead of waiting for those inputs to arrive, we can just predict that they are still doing the same thing as previously, and simulate forward with that predicted input. When we later receive their *actual* inputs for that turn, if they don't match what we predicted, we can rewind time to that turn, resimulate with the corrected inputs, and then resimulate all of the following turns as well to get us back to the present turn. When this happens, there is often some noticeable weirdness in the gameplay (e.g. a character suddenly switching animations, teleporting, etc.), but in a well implemented system with minimal rollback frames, these are often less disruptive than freezing the game to wait for inputs or using a higher delay time.

Rollback is broadly used and well-tested in fighting games, and I think obviously preferable to a purely delay-based system. It has nothing to do with "desync prevention", a desync is when the game simulations between 2 clients disagree. If that happens in a lockstep system, there is a bug in the game, full stop. You fix/prevent that by fixing the bug, not papering over it with netcode, and if you were to paper over it, rollback provides no benefits in this regard over delay-based lockstep.

For RTSes, rollback has never been tried before Stormgate, to my knowledge. There are almost certainly a lot of weird edges that would need to be tried and figured out, depending on how things feel (and this is a lot of the difficulty, you can't really logic your way through a lot of these things, you have to test them with real players and see how they react). I absolutely think this is a useful addition to RTS netcode, though. I run a 3rd party server for BW with custom netcode, and rollback is something we would like to add in the future. In the existing netcode, we see stuttering *all the time* across every sort of connection. A lot of times it is happening without people directly noticing it (which people sometimes call "microstutters"), because it is only delaying for a few milliseconds every second, but this definitely does affect people's gameplay. If you can instead simulate one turn ahead and correct things a few milliseconds later, you hit a sweet spot where the game never delays and the visual impact of rollback is probably not noticeable.

As far as Stormgate's implementation, I can't really speak on it. I'll say that lots of fighting games have had less-than-optimal implementations of rollback, and there are lots of details you need to get right for it to work well. So even if their implementation isn't working well right now, I think writing it off for the genre as a whole is definitely mistaken.

If you'd like a deeper explanation of rollback with lots of illustrations (although fighting-game-focused instead of RTS since this is all very new for RTS), this one is good: https://words.infil.net/w02-netcode.html
Can you jam with the console cowboys in cyberspace?
qwerty4w
Profile Joined January 2024
25 Posts
Last Edited: 2025-08-17 01:51:18
9 hours ago
#5030
OpenRA (www.openra.net) has some limited implementation of rollback, so far it's probably only for UI reactions though. But full rollback is likely easier to implement for early RTS games with simpler game states.
ETisME
Profile Blog Joined April 2011
12414 Posts
5 hours ago
#5031
seeing how well dow1 DE is doing, a sc2 remaster would just wipe SG out of existence
其疾如风,其徐如林,侵掠如火,不动如山,难知如阴,动如雷震。
Agh
Profile Blog Joined July 2010
United States982 Posts
Last Edited: 2025-08-17 08:49:13
3 hours ago
#5032
On August 17 2025 05:06 tec27 wrote:
Show nested quote +
On August 17 2025 02:24 Agh wrote:
On August 17 2025 01:55 ChillFlame wrote:
On August 16 2025 16:42 Agh wrote:
The rollback isn't true rollback and it is not fluid. Watching your units be unresponsive while you watch the game play out to 'resync' based on your previous input is absolutely terrible and infinitely more tilting than something like original overwatch kill feeds when you see your character dying after you were clearly out of line of sight for an extended period. (If it actually kept taking inputs until the point of resync then it would be fine, as of now it's a coin flip of "lol were you clicking toward or away?")

It's just a worse trade off versus letting the game play out organically and just only letting the player with poor ping or connection to the server take the L. How it is currently functioning would only be acceptable in some type of a-move auto battler.

If you look at fighting games for example there is only about a 3 frame buffer ever allotted for rollback purposes. This is about an 8-45ms range -- outside of this you'll see full pauses, stuttering, or the match terminating. While very annoying still it's generally pretty seemless and fluid in those parameters.

I've seen instances in stormgate where the correction easily exceeds up to 300ms. That's more than triple a 3 frame delay buffer plus 3 frames of rollback.


Maybe you can explain me.
Rollback is mostly used in fighting games.
Fighting games are built on precise player interactions. If the opponent presses his charged attack, I might have 20 frames to punish it. If I have 130 ping, and my enemy has 10, all my 20 frames are eaten by latency, and I can't punish at all. That's why they use roleback.

RTS games don't have such interactions. The closest thing I can think of is surround. But surrounds work perfectly in SC2.

Also, RTS can have hundreds of entities, while fighting games usually have just a few. That's why CPU load is much heavier.

My question is: why do we need rollback in RTS in the first place?


No, rollback in fighting games only purpose is to prevent desyncs. Has nothing to do with innate latency, frames, etc.
Think of this as an example: Within the X frames of designated rollback both players do a move that would result in drastically different game states. Generally games code and collision interaction would take care of this but in the rare fall through cases that it does not that is what rollback is for, and is usually only triggered by lag spikes/inconsistencies from a player.


But aside from clearing that up to answer your question, No RTS does not need it. Especially not a poor implementation of it.
+ Show Spoiler +

You are insanely incorrect on this, to the point that I cannot believe you are stating this so confidently. Fighting games and RTS games both generally operate using lockstep networking, which means that each client simulates the game state resulting from player actions locally, and clients only transmit their actions to each other. This is in contrast to state-based synchronization that happens in things like FPS games (where clients often transmit actions to a server, and the server tells the client what the new states are, e.g. how much health someone has or what direction they are facing). RTS games prefer lockstep because transmitting state for all of the units/world can be expensive with lots of units, fighting games prefer it for different reasons, but the underlying concepts are the same.

In traditional lockstep networking (which we can refer to as delay-based), clients can only simulate the next turn once they have received the inputs/actions from all other players for the previous turn. If any of those inputs are missing, clients must wait until they receive them. That is, the game freezes and does not advance further. For very short delays this appears as stuttery gameplay that subtly affects the timing of your inputs, for longer delays this becomes completely unplayable with the game stopping for a very noticeable period of time.

Contrary to what you might believe, the internet is not fully reliable, even if you're on a wired connection with a quality ISP. Latencies can be somewhat variable during the course of a match, packets may randomly drop or be delayed depending on how overloaded the network infrastructure between you and your opponent is, etc. So even if you start a match well within the latency requirements to not have delays, there almost certainly will be some times within that match where you'll fall outside those bounds and a delay will happen.

Rollback attempts to solve this issue by recognizing that for a lot of the simulated turns, the inputs from other players are often empty (or basically empty), i.e. "keep doing the same thing I was doing last turn". So if we are missing a turn from a player, instead of waiting for those inputs to arrive, we can just predict that they are still doing the same thing as previously, and simulate forward with that predicted input. When we later receive their *actual* inputs for that turn, if they don't match what we predicted, we can rewind time to that turn, resimulate with the corrected inputs, and then resimulate all of the following turns as well to get us back to the present turn. When this happens, there is often some noticeable weirdness in the gameplay (e.g. a character suddenly switching animations, teleporting, etc.), but in a well implemented system with minimal rollback frames, these are often less disruptive than freezing the game to wait for inputs or using a higher delay time.

Rollback is broadly used and well-tested in fighting games, and I think obviously preferable to a purely delay-based system. It has nothing to do with "desync prevention", a desync is when the game simulations between 2 clients disagree. If that happens in a lockstep system, there is a bug in the game, full stop. You fix/prevent that by fixing the bug, not papering over it with netcode, and if you were to paper over it, rollback provides no benefits in this regard over delay-based lockstep.

For RTSes, rollback has never been tried before Stormgate, to my knowledge. There are almost certainly a lot of weird edges that would need to be tried and figured out, depending on how things feel (and this is a lot of the difficulty, you can't really logic your way through a lot of these things, you have to test them with real players and see how they react). I absolutely think this is a useful addition to RTS netcode, though. I run a 3rd party server for BW with custom netcode, and rollback is something we would like to add in the future. In the existing netcode, we see stuttering *all the time* across every sort of connection. A lot of times it is happening without people directly noticing it (which people sometimes call "microstutters"), because it is only delaying for a few milliseconds every second, but this definitely does affect people's gameplay. If you can instead simulate one turn ahead and correct things a few milliseconds later, you hit a sweet spot where the game never delays and the visual impact of rollback is probably not noticeable.

As far as Stormgate's implementation, I can't really speak on it. I'll say that lots of fighting games have had less-than-optimal implementations of rollback, and there are lots of details you need to get right for it to work well. So even if their implementation isn't working well right now, I think writing it off for the genre as a whole is definitely mistaken.

If you'd like a deeper explanation of rollback with lots of illustrations (although fighting-game-focused instead of RTS since this is all very new for RTS), this one is good: https://words.infil.net/w02-netcode.html


Not really sure how I'm "insanely incorrect" giving him a concise and easy to follow answer, without spewing a wall of text that they don't care about. Apparently not-so-obvious hyperbole? Sure. Incorrect? Not really. The "simulation/prediction" meme text is why anyone even gets confused in the first place. While once sort of an apt description it's been ruined by marketing.

I'd take consistent micro stutters from delay based netcode any day of the week for RTS over stormgate's completely lost/ignored inputs & different game states. (looping last known inputs is asinine imo, which is what I can only imagine is happening in the especially bad instances with SG.)

Fighting games are love and hate for me. Stutters are infinitely more noticeable, to the point where anyone that has played with modern rollback on something like Tekken8/SF6 would be hard pressed to go back since it's just too fluid.


More to elaborate on the original question and confusion: the main thing to know is rollback is not going "back in time" or resetting in any facet. It's simply just repeating the game-state (or "ReSiMuLaTiNg") with the exact same inputs to produce the result.
I may appear to be an emotionless sarcastic pos, but just like an onion when you pull off more and more layers you find the exact same thing everytime and you start crying
Miragee
Profile Joined December 2009
8510 Posts
2 hours ago
#5033
On August 17 2025 05:06 tec27 wrote:
Show nested quote +
On August 17 2025 02:24 Agh wrote:
On August 17 2025 01:55 ChillFlame wrote:
On August 16 2025 16:42 Agh wrote:
The rollback isn't true rollback and it is not fluid. Watching your units be unresponsive while you watch the game play out to 'resync' based on your previous input is absolutely terrible and infinitely more tilting than something like original overwatch kill feeds when you see your character dying after you were clearly out of line of sight for an extended period. (If it actually kept taking inputs until the point of resync then it would be fine, as of now it's a coin flip of "lol were you clicking toward or away?")

It's just a worse trade off versus letting the game play out organically and just only letting the player with poor ping or connection to the server take the L. How it is currently functioning would only be acceptable in some type of a-move auto battler.

If you look at fighting games for example there is only about a 3 frame buffer ever allotted for rollback purposes. This is about an 8-45ms range -- outside of this you'll see full pauses, stuttering, or the match terminating. While very annoying still it's generally pretty seemless and fluid in those parameters.

I've seen instances in stormgate where the correction easily exceeds up to 300ms. That's more than triple a 3 frame delay buffer plus 3 frames of rollback.


Maybe you can explain me.
Rollback is mostly used in fighting games.
Fighting games are built on precise player interactions. If the opponent presses his charged attack, I might have 20 frames to punish it. If I have 130 ping, and my enemy has 10, all my 20 frames are eaten by latency, and I can't punish at all. That's why they use roleback.

RTS games don't have such interactions. The closest thing I can think of is surround. But surrounds work perfectly in SC2.

Also, RTS can have hundreds of entities, while fighting games usually have just a few. That's why CPU load is much heavier.

My question is: why do we need rollback in RTS in the first place?


No, rollback in fighting games only purpose is to prevent desyncs. Has nothing to do with innate latency, frames, etc.
Think of this as an example: Within the X frames of designated rollback both players do a move that would result in drastically different game states. Generally games code and collision interaction would take care of this but in the rare fall through cases that it does not that is what rollback is for, and is usually only triggered by lag spikes/inconsistencies from a player.


But aside from clearing that up to answer your question, No RTS does not need it. Especially not a poor implementation of it.

You are insanely incorrect on this, to the point that I cannot believe you are stating this so confidently. Fighting games and RTS games both generally operate using lockstep networking, which means that each client simulates the game state resulting from player actions locally, and clients only transmit their actions to each other. This is in contrast to state-based synchronization that happens in things like FPS games (where clients often transmit actions to a server, and the server tells the client what the new states are, e.g. how much health someone has or what direction they are facing). RTS games prefer lockstep because transmitting state for all of the units/world can be expensive with lots of units, fighting games prefer it for different reasons, but the underlying concepts are the same.

In traditional lockstep networking (which we can refer to as delay-based), clients can only simulate the next turn once they have received the inputs/actions from all other players for the previous turn. If any of those inputs are missing, clients must wait until they receive them. That is, the game freezes and does not advance further. For very short delays this appears as stuttery gameplay that subtly affects the timing of your inputs, for longer delays this becomes completely unplayable with the game stopping for a very noticeable period of time.

Contrary to what you might believe, the internet is not fully reliable, even if you're on a wired connection with a quality ISP. Latencies can be somewhat variable during the course of a match, packets may randomly drop or be delayed depending on how overloaded the network infrastructure between you and your opponent is, etc. So even if you start a match well within the latency requirements to not have delays, there almost certainly will be some times within that match where you'll fall outside those bounds and a delay will happen.

Rollback attempts to solve this issue by recognizing that for a lot of the simulated turns, the inputs from other players are often empty (or basically empty), i.e. "keep doing the same thing I was doing last turn". So if we are missing a turn from a player, instead of waiting for those inputs to arrive, we can just predict that they are still doing the same thing as previously, and simulate forward with that predicted input. When we later receive their *actual* inputs for that turn, if they don't match what we predicted, we can rewind time to that turn, resimulate with the corrected inputs, and then resimulate all of the following turns as well to get us back to the present turn. When this happens, there is often some noticeable weirdness in the gameplay (e.g. a character suddenly switching animations, teleporting, etc.), but in a well implemented system with minimal rollback frames, these are often less disruptive than freezing the game to wait for inputs or using a higher delay time.

Rollback is broadly used and well-tested in fighting games, and I think obviously preferable to a purely delay-based system. It has nothing to do with "desync prevention", a desync is when the game simulations between 2 clients disagree. If that happens in a lockstep system, there is a bug in the game, full stop. You fix/prevent that by fixing the bug, not papering over it with netcode, and if you were to paper over it, rollback provides no benefits in this regard over delay-based lockstep.

For RTSes, rollback has never been tried before Stormgate, to my knowledge. There are almost certainly a lot of weird edges that would need to be tried and figured out, depending on how things feel (and this is a lot of the difficulty, you can't really logic your way through a lot of these things, you have to test them with real players and see how they react). I absolutely think this is a useful addition to RTS netcode, though. I run a 3rd party server for BW with custom netcode, and rollback is something we would like to add in the future. In the existing netcode, we see stuttering *all the time* across every sort of connection. A lot of times it is happening without people directly noticing it (which people sometimes call "microstutters"), because it is only delaying for a few milliseconds every second, but this definitely does affect people's gameplay. If you can instead simulate one turn ahead and correct things a few milliseconds later, you hit a sweet spot where the game never delays and the visual impact of rollback is probably not noticeable.

As far as Stormgate's implementation, I can't really speak on it. I'll say that lots of fighting games have had less-than-optimal implementations of rollback, and there are lots of details you need to get right for it to work well. So even if their implementation isn't working well right now, I think writing it off for the genre as a whole is definitely mistaken.

If you'd like a deeper explanation of rollback with lots of illustrations (although fighting-game-focused instead of RTS since this is all very new for RTS), this one is good: https://words.infil.net/w02-netcode.html


Just wanted to chime in an thank you for your input. This is a real quality post.
Scarlett`
Profile Joined April 2011
Canada2386 Posts
Last Edited: 2025-08-17 07:57:30
2 hours ago
#5034
On August 17 2025 15:27 Agh wrote:
Show nested quote +
On August 17 2025 05:06 tec27 wrote:
On August 17 2025 02:24 Agh wrote:
On August 17 2025 01:55 ChillFlame wrote:
On August 16 2025 16:42 Agh wrote:
The rollback isn't true rollback and it is not fluid. Watching your units be unresponsive while you watch the game play out to 'resync' based on your previous input is absolutely terrible and infinitely more tilting than something like original overwatch kill feeds when you see your character dying after you were clearly out of line of sight for an extended period. (If it actually kept taking inputs until the point of resync then it would be fine, as of now it's a coin flip of "lol were you clicking toward or away?")

It's just a worse trade off versus letting the game play out organically and just only letting the player with poor ping or connection to the server take the L. How it is currently functioning would only be acceptable in some type of a-move auto battler.

If you look at fighting games for example there is only about a 3 frame buffer ever allotted for rollback purposes. This is about an 8-45ms range -- outside of this you'll see full pauses, stuttering, or the match terminating. While very annoying still it's generally pretty seemless and fluid in those parameters.

I've seen instances in stormgate where the correction easily exceeds up to 300ms. That's more than triple a 3 frame delay buffer plus 3 frames of rollback.


Maybe you can explain me.
Rollback is mostly used in fighting games.
Fighting games are built on precise player interactions. If the opponent presses his charged attack, I might have 20 frames to punish it. If I have 130 ping, and my enemy has 10, all my 20 frames are eaten by latency, and I can't punish at all. That's why they use roleback.

RTS games don't have such interactions. The closest thing I can think of is surround. But surrounds work perfectly in SC2.

Also, RTS can have hundreds of entities, while fighting games usually have just a few. That's why CPU load is much heavier.

My question is: why do we need rollback in RTS in the first place?


No, rollback in fighting games only purpose is to prevent desyncs. Has nothing to do with innate latency, frames, etc.
Think of this as an example: Within the X frames of designated rollback both players do a move that would result in drastically different game states. Generally games code and collision interaction would take care of this but in the rare fall through cases that it does not that is what rollback is for, and is usually only triggered by lag spikes/inconsistencies from a player.


But aside from clearing that up to answer your question, No RTS does not need it. Especially not a poor implementation of it.
+ Show Spoiler +

You are insanely incorrect on this, to the point that I cannot believe you are stating this so confidently. Fighting games and RTS games both generally operate using lockstep networking, which means that each client simulates the game state resulting from player actions locally, and clients only transmit their actions to each other. This is in contrast to state-based synchronization that happens in things like FPS games (where clients often transmit actions to a server, and the server tells the client what the new states are, e.g. how much health someone has or what direction they are facing). RTS games prefer lockstep because transmitting state for all of the units/world can be expensive with lots of units, fighting games prefer it for different reasons, but the underlying concepts are the same.

In traditional lockstep networking (which we can refer to as delay-based), clients can only simulate the next turn once they have received the inputs/actions from all other players for the previous turn. If any of those inputs are missing, clients must wait until they receive them. That is, the game freezes and does not advance further. For very short delays this appears as stuttery gameplay that subtly affects the timing of your inputs, for longer delays this becomes completely unplayable with the game stopping for a very noticeable period of time.

Contrary to what you might believe, the internet is not fully reliable, even if you're on a wired connection with a quality ISP. Latencies can be somewhat variable during the course of a match, packets may randomly drop or be delayed depending on how overloaded the network infrastructure between you and your opponent is, etc. So even if you start a match well within the latency requirements to not have delays, there almost certainly will be some times within that match where you'll fall outside those bounds and a delay will happen.

Rollback attempts to solve this issue by recognizing that for a lot of the simulated turns, the inputs from other players are often empty (or basically empty), i.e. "keep doing the same thing I was doing last turn". So if we are missing a turn from a player, instead of waiting for those inputs to arrive, we can just predict that they are still doing the same thing as previously, and simulate forward with that predicted input. When we later receive their *actual* inputs for that turn, if they don't match what we predicted, we can rewind time to that turn, resimulate with the corrected inputs, and then resimulate all of the following turns as well to get us back to the present turn. When this happens, there is often some noticeable weirdness in the gameplay (e.g. a character suddenly switching animations, teleporting, etc.), but in a well implemented system with minimal rollback frames, these are often less disruptive than freezing the game to wait for inputs or using a higher delay time.

Rollback is broadly used and well-tested in fighting games, and I think obviously preferable to a purely delay-based system. It has nothing to do with "desync prevention", a desync is when the game simulations between 2 clients disagree. If that happens in a lockstep system, there is a bug in the game, full stop. You fix/prevent that by fixing the bug, not papering over it with netcode, and if you were to paper over it, rollback provides no benefits in this regard over delay-based lockstep.

For RTSes, rollback has never been tried before Stormgate, to my knowledge. There are almost certainly a lot of weird edges that would need to be tried and figured out, depending on how things feel (and this is a lot of the difficulty, you can't really logic your way through a lot of these things, you have to test them with real players and see how they react). I absolutely think this is a useful addition to RTS netcode, though. I run a 3rd party server for BW with custom netcode, and rollback is something we would like to add in the future. In the existing netcode, we see stuttering *all the time* across every sort of connection. A lot of times it is happening without people directly noticing it (which people sometimes call "microstutters"), because it is only delaying for a few milliseconds every second, but this definitely does affect people's gameplay. If you can instead simulate one turn ahead and correct things a few milliseconds later, you hit a sweet spot where the game never delays and the visual impact of rollback is probably not noticeable.

As far as Stormgate's implementation, I can't really speak on it. I'll say that lots of fighting games have had less-than-optimal implementations of rollback, and there are lots of details you need to get right for it to work well. So even if their implementation isn't working well right now, I think writing it off for the genre as a whole is definitely mistaken.

If you'd like a deeper explanation of rollback with lots of illustrations (although fighting-game-focused instead of RTS since this is all very new for RTS), this one is good: https://words.infil.net/w02-netcode.html


Not really sure how I'm "insanely incorrect" giving him a concise and easy to follow answer, without spewing a wall of text that they don't care about. The "simulation/prediction" meme text is why anyone even gets confused in the first place. While once sort of an apt description it's been ruined by marketing.

I'd take consistent micro stutters from delay based netcode any day of the week for RTS over stormgate's completely lost/ignored inputs & different game states. (looping last known inputs is asinine imo, which is what I can only imagine is happening in the especially bad instances with SG.)

Fighting games are love and hate for me. Stutters are infinitely more noticeable, to the point where anyone that has played with modern rollback on something like Tekken8/SF6 would be hard pressed to go back since it's just too fluid.


More to elaborate on the original question and confusion: the main thing to know is rollback is not going "back in time" or resetting in any facet. It's simply just repeating the game-state (or "ReSiMuLaTiNg") with the exact same inputs to produce the result.

'exact same inputs' is more of a controller thing with continuous input (like holding down joystick in some direction) ; in rts games with distinct orders theres no repeating previous actions at all

the long playouts in stormgate also arent really rollback related its more about lacking a pause/lag screen when a player is far behind because of connection issues

as for the previous post yeah it as just completely wrong which is why tec wrote that ; the whole point of rollback is latency reduction it has nothing to do with desyncs

lockstep without rollback doesnt need to have microstutters anyway - there isnt in sc2 / wc3; only delay
Progamer
Prev 1 250 251 252
Please log in or register to reply.
Live Events Refresh
Sparkling Tuna Cup
10:00
Weekly #102
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
mouzHeroMarine 618
Hui .226
MindelVK 17
StarCraft: Brood War
Britney 19390
Rain 2893
EffOrt 260
Soma 228
Pusan 196
ToSsGirL 178
ggaemo 165
Killer 112
JYJ90
Last 79
[ Show more ]
Aegong 54
Hyun 51
scan(afreeca) 28
Hm[arnc] 20
ajuk12(nOOB) 14
Sacsri 10
SilentControl 8
ivOry 3
Dota 2
XcaliburYe446
ODPixel357
Counter-Strike
Stewie2K1443
x6flipin462
Other Games
gofns15031
singsing1554
Happy377
Pyrionflax261
XaKoH 197
Organizations
StarCraft 2
CranKy Ducklings51
StarCraft: Brood War
UltimateBattle 10
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 12 non-featured ]
StarCraft 2
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Stunt763
Other Games
• WagamamaTV672
Upcoming Events
WardiTV Summer Champion…
38m
SC Evo League
1h 38m
uThermal 2v2 Circuit
4h 38m
BSL Team Wars
8h 38m
Team Dewalt vs Team Bonyth
Afreeca Starleague
23h 38m
Sharp vs Ample
Larva vs Stork
Wardi Open
1d
RotterdaM Event
1d 5h
Replay Cast
1d 13h
Replay Cast
1d 23h
Afreeca Starleague
1d 23h
JyJ vs TY
Bisu vs Speed
[ Show More ]
WardiTV Summer Champion…
2 days
PiGosaur Monday
2 days
Afreeca Starleague
2 days
Mini vs TBD
Soma vs sSak
WardiTV Summer Champion…
3 days
Replay Cast
3 days
The PondCast
3 days
WardiTV Summer Champion…
4 days
Replay Cast
4 days
LiuLi Cup
5 days
BSL Team Wars
5 days
Team Hawk vs Team Dewalt
Korean StarCraft League
5 days
CranKy Ducklings
5 days
SC Evo League
6 days
WardiTV Summer Champion…
6 days
[BSL 2025] Weekly
6 days
Sparkling Tuna Cup
6 days
Liquipedia Results

Completed

Proleague 2025-08-13
FEL Cracow 2025
CC Div. A S7

Ongoing

Copa Latinoamericana 4
Jiahua Invitational
BSL 20 Team Wars
KCM Race Survival 2025 Season 3
BSL 21 Qualifiers
CSL Season 18: Qualifier 1
SEL Season 2 Championship
WardiTV Summer 2025
HCC Europe
BLAST Bounty Fall 2025
BLAST Bounty Fall Qual
IEM Cologne 2025
FISSURE Playground #1
BLAST.tv Austin Major 2025

Upcoming

ASL Season 20
CSLAN 3
CSL 2025 AUTUMN (S18)
LASL Season 20
BSL Season 21
BSL 21 Team A
RSL Revival: Season 2
Maestros of the Game
PGL Masters Bucharest 2025
Thunderpick World Champ.
MESA Nomadic Masters Fall
CS Asia Championships 2025
Roobet Cup 2025
ESL Pro League S22
StarSeries Fall 2025
FISSURE Playground #2
BLAST Open Fall 2025
BLAST Open Fall Qual
Esports World Cup 2025
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2025 TLnet. All Rights Reserved.