Why would you have left FAF?
-
@nex said in Why would you have left FAF?:
@zlo said in Why would you have left FAF?:
Current inputlag is 500 ms
huh interesting
my brain somehow had this number 150 saved for some reason.
Well with 500ms input lag assuming the sim tick "lag" comes on top that is currently 50ms on average (100 max) so you could reduce the input lag by 5-10%, by doubling the sim tick rate.
Doesn't sound like a good trade tbh.This is not correct. Here's some approximations for magnitudes of different latencies:
- Sim/physics update/input sampling. Note, as I said earlier, that the worst case scenario is that the length is doubled for an input! So if supcom runs at 10hz (which idk if it does) that would be worst case of 200ms delay! (or more, if the inputs are scheduled to be processed at an even later tick)
- Framerate, monitor offsync with framebuffer and vsync. This on the scale of <16ms for 60fps.
- Display lag, input devices, drivers, and so on. <5ms
Network latency between two players with reasonable ping is not at all relevant, because the sim tick rate dominates!
Like say you are playing an 1v1 game with someone with a direct connection (without proxy). You can tell from experience that you still experience a comparable amount of input lag. Keep in mind that ping refers to round-trip-time. So if you have 40ms ping between two players, that would amount ot only 20ms one-way latency. So when you are sending an input packet at tick
n
that is destined for tickn+1
, the other player will receive it 20ms later - even though, assuming 10hz tickrate, there's still 80ms of the tick left! So we can easily expect that at low ping and slow sim rate contexts network latency is practically irrelevant.Also note that if someone is late, the time window might be extended multiple ticks in the future so eg. inputs collected at tick
n
would be processed at tickn+2
instead ofn+1
. A higher sim tick rate gives more flexibility in this sense, where a slower one introduces a large additional delay in the worst case. -
Unless we plan on re enginein faf into spring I'm not sure how this benefits us at all or the topic of players leaving
-
@ZLO @Blodir @Nex @BlackYps We're completely lost in our dreams XD. We have not yet found a HERO who will negotiate on behalf of FAF. Legal and diplomatic challenges seem more difficult.
We need a hero)
But there's no harm in dreaming, so let's continue)
@zlo said in Why would you have left FAF?:
yes it does mean that you can fall behind by any number of seconds or minutes
but it does sound fine to me for casual games
in comparison for game being unplayableI note that it is assumed that all players will play through the coturn server and there will be no peer-to-peer connection. Therefore, at the stage of connecting to FAF, we can detect the loss of packets when connecting to the coturn server. I think this solution will already weed out 90% of lagers whose pockets are lost. And the SpringRTS network system that we are discussing will eliminate micro-lags.
As I understand it, if you experience a lag, this does not mean that you will lag behind the entire game; if you have new hardware, for example i3-12100 (good single-threaded performance), then in theory you will catch up with the rest very quickly.
-
@nflanders said in Why would you have left FAF?:
@ZLO @Blodir @Nex @BlackYps We're completely lost in our dreams XD. We have not yet found a HERO who will negotiate on behalf of FAF. Legal and diplomatic challenges seem more difficult.
We need a hero)
But there's no harm in dreaming, so let's continue)
@zlo said in Why would you have left FAF?:
yes it does mean that you can fall behind by any number of seconds or minutes
but it does sound fine to me for casual games
in comparison for game being unplayableI note that it is assumed that all players will play through the coturn server and there will be no peer-to-peer connection. Therefore, at the stage of connecting to FAF, we can detect the loss of packets when connecting to the coturn server. I think this solution will already weed out 90% of lagers whose pockets are lost. And the SpringRTS network system that we are discussing will eliminate micro-lags.
As I understand it, if you experience a lag, this does not mean that you will lag behind the entire game; if you have new hardware, for example i3-12100 (good single-threaded performance), then in theory you will catch up with the rest very quickly.
I will do it, what's the budget?
-
@nflanders I like how you just ignore when I say we've already tried this. We've already had a very well off person who had connections that tried this. It didn't work. Even if it did, the source code is lost as far we know and that was from years ago. Meaning it's even less likely to be around now. Unless we've got someone willing to cough up millions and has some good lawyers what you're saying just simply isn't going to happen. Even if you've got that, it's still highly unlikely as it has already not worked once.
Even if you somehow managed to make this happen, this being getting the full rights to the supcom name, the only thing that would really make sense at this point is a Supcom 3 game that's closer to SC:FA than SC2. And if in this hypothetical you make it a subscription based platform as you seem to be suggesting for FAF then, well, I have no words for how much I'd hate that for a game like Supcom. No words that won't get me banned at least.
-
@exselsior said in Why would you have left FAF?:
the source code is lost
I guess the forever part of the project can be laid to rest with this.
-
@melanol said in Why would you have left FAF?:
@exselsior said in Why would you have left FAF?:
the source code is lost
I guess the forever part of the project can be laid to rest with this.
FAF is still going even without the original source code, or rights to the supcom IP for that matter, so not sure why that would be the case.
-
@exselsior It can be called life support without source code.
It's really hard for me to explain that you need source code to properly do things in programming.
-
@melanol I'm a software engineer, I'm well aware of how this works. FAF is intended to keep SC:FA alive. It's doing exactly that. Not sure what your point is. Sure some things are harder/basically impossible due to no source code access, but that hasn't kept FAF from succeeded at keeping a community alive for years. It won't be a lack of access to source code that eventually kills FAF.
-
Supcom has an inbuilt input latency, which is independent from both the sim latency(which comes on top, if at all) and network latency(which the input latency is meant to compensate for).
so no matter how good your ping is you will have those 500ms of input lag. this could in theory be a variable lag, but from what I can remember it's fixed (and apparently to 500ms), to make every game feel consistent.
so every tick (or possibly every frame) the game collects your inputs for tick n+5 and sends them to all other players.
At tick n+5 the game checks if it received inputs from all players and if not pauses.
So these 500 ms are currently fix. assuming the game might take about 100ms to send your inputs(if it gathers them all over the course of a tick and then sends them once) then you get up to 100 ms of extra lag (if you press right before it's send you get 0ms, if you press right after a send you get 100 ms extra lag), so on average that is 50 ms lag, which you could halve by doubling the sim rate, so you'd gain 25ms on average but the 500ms (which is chosen so that players with a ping of up to 250ms to each other can play together) will always come on top of that, so the net gain is between 5-10%so tl;dr there is a 500ms inbuilt lag to compensate for any network lag, which overshadows any amount of lag introduced by the sim tick rate.
-
Without the source code I'm sure you would have to re engine supcom, which would only cost.....a lot
-
@nex said in Why would you have left FAF?:
Supcom has an inbuilt input latency, which is independent from both the sim latency(which comes on top, if at all) and network latency(which the input latency is meant to compensate for).
so no matter how good your ping is you will have those 500ms of input lag. this could in theory be a variable lag, but from what I can remember it's fixed (and apparently to 500ms), to make every game feel consistent.
so every tick (or possibly every frame) the game collects your inputs for tick n+5 and sends them to all other players.
At tick n+5 the game checks if it received inputs from all players and if not pauses.
So these 500 ms are currently fix. assuming the game might take about 100ms to send your inputs(if it gathers them all over the course of a tick and then sends them once) then you get up to 100 ms of extra lag (if you press right before it's send you get 0ms, if you press right after a send you get 100 ms extra lag), so on average that is 50 ms lag, which you could halve by doubling the sim rate, so you'd gain 25ms on average but the 500ms (which is chosen so that players with a ping of up to 250ms to each other can play together) will always come on top of that, so the net gain is between 5-10%so tl;dr there is a 500ms inbuilt lag to compensate for any network lag, which overshadows any amount of lag introduced by the sim tick rate.
Yes, I talked with Jip yesterday and he confirmed that inputs are scheduled for 5 ticks in the future. It's possible to (almost) completely eliminate this by scheduling the inputs at a proxy server like sc2 (or seemingly BAR). Basically they asymmetrically schedule inputs based on latency, such that people with high ping to the server have higher input lag than those with low ping to the server. So in those cases input lag is totally dominated by sim tick length.
I get what you are saying now though, I thought you were saying that there's some nebulous other source of input lag or that network latency dominates, which is not true. It's just a somewhat arbitrary value of 5 ticks chosen to be acceptable by gpg in order to avoid writing dynamic scheduling logic x) Even in pure p2p it should be easily possible to communicate input scheduling changes based on latency (though then the scheduling has to be synchronous).
-
@blodir I have also seen people talk about making it dynamic, but back then it wasn't very well received, as the micro potential and thus the gameplay changes drastically with input delay.
So if micro became better with lower ping this would either put players at a disadvantage that have a high ping to the relay server or (in the case of pure p2p) would make every game feel completely different on how well you can micro your units.I can see that people find it off putting to have such a high input delay (though to me it always felt kinda natural), but I think that's part of the charm of supcom and people who don't like that are probably better off with a different game.
-
@nex said in Why would you have left FAF?:
@blodir I have also seen people talk about making it dynamic, but back then it wasn't very well received, as the micro potential and thus the gameplay changes drastically with input delay.
So if micro became better with lower ping this would either put players at a disadvantage that have a high ping to the relay server or (in the case of pure p2p) would make every game feel completely different on how well you can micro your units.I can see that people find it off putting to have such a high input delay (though to me it always felt kinda natural), but I think that's part of the charm of supcom and people who don't like that are probably better off with a different game.
Yea apparently it's possible to have at least synchronous adaptive input scheduling.
I don't think there's any charm to high input delay, though I see the benefit of consistency in such a small community. Like if you could always get games entirely within your region it would be a non-issue, but if people got used to playing with low input delay and then have to play with high delay the next game I think they'd be pretty frustrated even if technically the overall experience is better.
But yeah with current sim tick rate we can at best reduce it to max 200ms delay, which is still dramatically higher than eg. sc2 (I'm pretty sure they have around 50ms ticks). Still a lot better than what we have currently
-
@exselsior said in Why would you have left FAF?:
@nflanders I like how you just ignore when I say we've already tried this. We've already had a very well off person who had connections that tried this. It didn't work.
I read about this on an old forum. All I could find out was that ZePilot asked to release the source code into the public domain or give it to FAF for FREE. I'm right?
Is there something I don't know about?
-
@nflanders said in Why would you have left FAF?:
@exselsior said in Why would you have left FAF?:
@nflanders I like how you just ignore when I say we've already tried this. We've already had a very well off person who had connections that tried this. It didn't work.
I read about this on an old forum. All I could find out was that ZePilot asked to release the source code into the public domain or give it to FAF for FREE. I'm right?
Is there something I don't know about?
Still waiting to find out that budget
-
@nflanders
There is a lot you don't know about.
FAF was bought free (money exchanged against making all source code open source) by a successful businessman who also ran it at cost of multiple thousands of euros per month (imho not offering not much more money as what we achieve now with 200€ a month). He has contacts to the game industry. He had the money. Money wasn't an issue back then. Lack of interest on the sellers side was and still is.
There was an unconfirmed rumor that there was one developer who had the source code but was legally not allowed to have it (contractors or ex-employees are not allowed to keep it) and as such he feared to give it away until we earned the rights. But as I said it was a rumor. -
bUt liKe HaVe YOu aSkEd tO bUy tHe RiGhtS
-
Please tell me in which topic can I ask a question about modding (lua scripts)? I did not find...
-
@nflanders said in Why would you have left FAF?:
Please tell me in which topic can I ask a question about modding (lua scripts)? I did not find...