IRC logs of Libera.Chat #BZFlag for Wednesday, 2021-12-01

allejohow freqeuntly are lag stats updated in bzfs?01:12
*** OkinaMatara <OkinaMatara!~Yukari@user/yukari> has joined #bzflag01:13
blast007every 10 seconds or so01:23
blast007src/game/LagInfo.cxx's getNextPingSeqno controls that01:24
SpringTankshouldn't lag stats be updated every time the server initiates a clock sync with the clients?01:28
SpringTankor does bzflag not have a master clock like that?01:29
JeffM[m]There is no clock sync like that01:29
SpringTank:/01:31
SpringTankthere is no master clock system for syncing events?01:31
JeffM[m]There is no real lag compensation strategy in bzflag01:32
SpringTanknot just for lag comp, but pretty much anything that needs to be synced accross clients and server.01:32
SpringTankso no master clock?01:32
JeffM[m]Just time of day for lighting and weather01:33
SpringTank:/01:33
JeffM[m]Nothing with any real granularity01:33
JeffM[m]It’s a lan game at heart01:33
SpringTanki thought there was.. something like that in bzflag for stuff like rotating drawinfo, etc.01:33
SpringTankbut yeah, that should be the next priority for 2.6 IMO01:34
blast007draw info might have some time sync01:34
SpringTankhmmm01:34
JeffM[m]Redo the network sim?01:34
blast007yeah, that ain't happening for 2.6 :)01:34
SpringTankno, just add a master clock system with sub ms precison01:34
JeffM[m]There is something for time in draw info but it’s odd iirc01:34
OkinaMataraIIRC, drawInfo isn't really kept in sync... that's why things like moving doors couldn't be made or something.01:35
SpringTankthe usefull ness of such a system is nearly limitless01:35
blast007yeah, it's not synced between clients, but I think there is some time sync, as in wall clock time01:35
SpringTankright01:36
blast007there was an analog clock that trepan made that I think used that01:36
SpringTankI think i remember that.01:36
SpringTankSooo many things such as lag comp can be fixed with a master time system with sub ms precision.01:37
blast007we tried one lag comp system in 2.99.x01:37
SpringTanki remember you telling me about that01:37
blast007that one at least made things worse since clients with high lag would get an advantage01:38
SpringTankand that's why clients with high lag should be kicked/autodisconnected. :D01:39
JeffM[m]Yeah it was crap, it’s author did not know what they were doing01:39
blast007well, what I mean is that higher lag got an advantage over low lag01:39
SpringTanklol01:40
SpringTanki think I might work on a time keeping system like what I described for 2.5/2.6, weather or not it is used, and how it's used, is up to you guys.01:41
SpringTanki've already look into precision time keeping. it's a challange on non-realtime computers such as what is common everywhere...01:42
SpringTankI think SDL might support something like it01:42
blast007what problem are you trying to solve?01:43
SpringTankpretty much any problem that requires clients/server to be synced in some way. Events can be then be marked with a time stamp so the client/server knows when it happens, and can do the math to figure out exactly where/when to put things such as players, shots, mabye doors in the future? You know, lag comp.01:45
OkinaMataraHmm, actually less of lag compensation is needed... more of server state/awareness.01:46
SpringTankwell... yeah.01:47
blast007https://www.gafferongames.com/categories/networked-physics/01:47
SpringTank^ what blast said.01:48
blast007This kind of thing really needs to be the focus of a major release.  I feel that exceeds the scope of 2.6.01:49
SpringTanka time keeping system could be implemented but only used for a very limited number of unimportant but easy to implement things in 2.6 in order to test and refine it for use in the next major version which full utilizes it.01:54
SpringTankand sould make further implementations and fixes much easier.02:03
SpringTankbut that's just my own opinion02:03
SpringTankall this time I thought bzflag had something like that already.02:03
SpringTankshows how much I know about how it works  :D02:04
JeffM[m]yeah it just needs a pretty standard rollback system02:14
OkinaMataraThis would also help deal with a lot of problematic cheats, maybe not preventing them, but detecting them in a timely manner.02:18
JeffM[m]yeah, that's why modern games do it that way02:18
JeffM[m]bzflag started as a lan game, anti-cheat was 'go smack the cheater on the back of the head'02:18
SpringTanklmao02:19
JeffM[m]it was never designed for internet play02:19
OkinaMataralan == "what's lag".02:19
SpringTankwell, it's a step in the right direction. a baby step, but a step no less.02:19
JeffM[m]yes, it has no real concept of lag from a gameplay standpoint02:20
JeffM[m]it needs a modern networking backend.02:20
JeffM[m]and yeah a game clock is part of that02:20
SpringTankI would think that a game clock is the most important part of that.02:21
JeffM[m]no, the state is, but the clock is needed02:21
JeffM[m]some kind of tick mechanism is needed02:21
JeffM[m]you could do it without a good clock, it'd just suck02:21
SpringTankhaving every event time stamped per ms, and having sub ms timing on at least the server end02:21
JeffM[m]but without state you are screwed02:21
SpringTankright02:21
JeffM[m]the problem is that a clock on it's own doesn't solve anything, and is the most trivial part of a new networking system to implement.02:22
JeffM[m]it could easily be added at the same time the clock data was needed/used.02:23
JeffM[m]the update packets allready have a timestamp field02:23
SpringTankwhat is the precison on those?02:23
JeffM[m]they arn't set to anything meaninful, so they don't have anh02:24
SpringTank:/02:24
JeffM[m]it's just a field02:24
JeffM[m]and is ignored by gameplay02:24
SpringTankfigures02:24
OkinaMataraThe problem is the server is like "oh, look, seconds included, let me forget about it".02:24
JeffM[m]having a server tick and storing states would be a good place to start02:25
SpringTankthe *problem* I see is that neither the client or server can tell when an event happened within about 1ms02:25
OkinaMataraWhat we don't have is something like "if tank movement not altered, if distance crossed is more than x, likely is cheat based on movement by x".02:25
JeffM[m]that would al least let the server API do more stuff02:25
OkinaMatara^02:25
SpringTankyeah02:26
OkinaMataraMore customized aspects and possible flag subsets I'd imagine, eventual decoupling of various aspects, so we can give tanks flag aspects at will.02:27
SpringTankthat's been discussed02:27
SpringTanki think it was going to be in 2.9902:27
JeffM[m]multiple times :)02:27
JeffM[m]everything was going to be in 2.9902:27
JeffM[m]2.99 was going to cure cancer and feed the world02:28
SpringTankaaand it was a horrible mess of feature creep02:28
SpringTank:)02:28
JeffM[m]if only bzflag had a producer02:28
SpringTankor simply, a maintainer who gave a &%$02:28
OkinaMatara(humor) no, it wasn't, it was wonderful, we just need to keep on putting money into it like the concorde and eventually 2.99 would have taken the lead in indie gaming.02:28
SpringTanklol02:29
JeffM[m]tim's non invlovlemnt has no effect on anything02:29
SpringTanklack of leadership02:29
SpringTankthat's a maintainers job, isn't it?02:29
JeffM[m]there isn't anything that can't be done without him, other than maybe some DNS sguff02:29
JeffM[m]it can vbe02:29
JeffM[m]but others can lead too02:29
SpringTankit should be02:29
SpringTankbut you're right02:30
JeffM[m]that would be what a producer does, keeps things on track02:30
JeffM[m]the focus on tim is misguided02:30
JeffM[m]he's just a copyright holder, blast is defacto maintainer02:30
JeffM[m]and he's doing what he can02:30
SpringTanktrue02:30
JeffM[m]he IS mainaining it02:30
JeffM[m]the fact that he doesn't hold copyright doesn't change anything02:30
blast007right now clients send their current position speed.  An alternative way is to send their input state and run the simulation of that state on both the client and server.02:30
JeffM[m]if he suddenly did, nothing would change for day to day in bzflag02:31
SpringTankwhat blast said; yeah i agree.02:32
OkinaMataraHmm, going back to the networking, I wonder how much of rubber-banding would we have in BZ simulations, give around 20 clients on a ducati style map.02:32
JeffM[m]yeah, a traditional roolback system just sends client inputs.02:32
blast007and the simulation could be decoupled from the simulation02:32
JeffM[m]it' all what quake does02:32
SpringTankit's what pretty much all modern games do02:33
JeffM[m]bzflag is just quake with bouncy rockets02:33
JeffM[m]from a networking perspective02:33
SpringTanklol02:33
SpringTankread my mind02:33
OkinaMataraI'm not entirely sure, (I haven't played quake, but have played another indie FPS), but one of the things is basically the speed of shots which throw things off to an extent... at least that was one thing I read about why lag compensation is tricky in BZ.02:35
JeffM[m]most FPSs have two kinds of shots02:36
JeffM[m]hitscan, and projectile02:36
SpringTanktypiclly, in other games it's either hit scan or projectiles02:36
SpringTankyeah02:36
JeffM[m]a rocket in quiake is a projectile02:36
SpringTankL in bzflag is hitscan02:36
JeffM[m]all shots in bz are like rockets in other FPS02:36
SpringTank*should be*02:36
JeffM[m]yes, L would be hitscan02:37
SpringTanksame with TH02:37
JeffM[m]everything else would be processed like a rocket/grenade in another FPS02:37
JeffM[m]it's all a VERY solved problem, it just needs an implementation02:38
JeffM[m]you just need a nice network state synced ECS with rollback02:40
OkinaMatara^True. I suppose the only thing which becomes the key focus is the updated mechanics after this.02:42
JeffM[m]heh, then you run into the true problem of bzflag, defining what bzflag is ;)02:43
SpringTank^02:43
blast007"tanks with 2.5D physics"02:44
SpringTankif it changes the mechanics in a way that can't be undone or emulated then it changes what bzflag is.02:44
SpringTanklol02:44
OkinaMataralol02:44
SpringTanknow it would be cool to have that as a game option...02:44
OkinaMatara(humor) nah, just make it 3rd person shooter. :p02:45
blast007BZFlag XL had a third-person camera02:46
JeffM[m]there was an option for that, it changed gameplay since you could see behind you02:46
SpringTankother games have 3rd person view, some as an option. why not make it a server side option for different play styles.02:47
blast007SpringTank: cuz we don't need to add 10 million options to the game02:47
blast007I feel we already have too many02:47
SpringTanki like options...02:47
OkinaMataraWell in engineering, it's a compromise, so 2nd person shooter would solve it. (non-serious)02:48
JeffM[m]bzflag is not a game engine :)02:48
OkinaMatara^02:48
blast0073rd person mode would just show you the view from another player's perspective02:48
JeffM[m]second person is someone else describing the game, so text adventure mode02:49
SpringTankXD02:49
blast007> look east02:49
* OkinaMatara sees sun rise02:49
OkinaMataraWe must be in Japan. :p02:49
*** Sgeo <Sgeo!~Sgeo@user/sgeo> has joined #bzflag02:50
SpringTankIt's dark. Just the way grus like it.02:50
OkinaMatarahttps://www.youtube.com/watch?v=mC8QoRa8y_Q = This Is What a "Second-Person" Video Game Would Look Like02:51
SpringTankwhat version of SD does bzflag use?03:05
SpringTankSDL*03:05
blast007by default we use SDL 203:11
blast007I plan to remove SDL 1 support in master before we release 2.603:11
SpringTankcool, just making sure.03:12
SpringTankthere some SDL2 features I was looking at03:12
*** I_Died_Once <I_Died_Once!~I_Died_On@c-73-184-170-223.hsd1.ga.comcast.net> has quit IRC (Ping timeout: 252 seconds)05:05
*** OkinaMatara <OkinaMatara!~Yukari@user/yukari> has quit IRC (Quit: Quit.)05:10
*** DTRemenak <DTRemenak!~DTRemenak@c-76-120-133-82.hsd1.wv.comcast.net> has joined #bzflag06:12
*** DTRemenak <DTRemenak!~DTRemenak@c-76-120-133-82.hsd1.wv.comcast.net> has quit IRC (Read error: Connection reset by peer)06:15
*** DTRemenak <DTRemenak!~DTRemenak@c-76-120-133-82.hsd1.wv.comcast.net> has joined #bzflag06:18
*** DTRemenak <DTRemenak!~DTRemenak@c-76-120-133-82.hsd1.wv.comcast.net> has quit IRC (Read error: Connection reset by peer)08:05
*** Sgeo <Sgeo!~Sgeo@user/sgeo> has quit IRC (Read error: Connection reset by peer)08:27
*** nitroxis <nitroxis!n@nxs.re> has quit IRC (Quit: nitroxis)08:58
*** nitroxis <nitroxis!n@nxs.re> has joined #bzflag13:17
*** I_Died_Once <I_Died_Once!~I_Died_On@c-73-184-170-223.hsd1.ga.comcast.net> has joined #bzflag15:34
*** DTRemenak <DTRemenak!~DTRemenak@c-76-120-133-82.hsd1.wv.comcast.net> has joined #bzflag16:20
*** ellrinidhogg <ellrinidhogg!~ellrinidh@184.101.38.48> has joined #bzflag20:02
*** ellrinidhogg <ellrinidhogg!~ellrinidh@184.101.38.48> has quit IRC (Remote host closed the connection)20:03
Optic_DelusionIf you are looking for a set of custom sounds to replace the stock sounds I have a set that I got (i think) in 2005.  They have the correct names and are ready to go in .wav format. You just swap out your sounds folder...   Maybe they are still available on the BZBB forum, maybe they were removed because of copyright 22:30
Optic_DelusionStar wars22:30
Optic_DelusionAt one point Jeff had playhHistoryTracker plugin playing a custom sound *MU-AHAHAHA". I have a small collection of laughing sounds that would work  with that.22:32
Optic_DelusionAnd I think at one point , devs had a warning sound playing when another player locked-on to  you with GM.  But that was removed, i think because it would play over and over when the player with GM wailed on the lock key.22:34
Optic_DelusionOrigin date on the files are 11-27-07, just over 14 years ago.22:36
Optic_DelusionLegolas Originated them.  https://forums.bzflag.org/viewtopic.php?f=62&t=6651&hilit=Star+Wars22:41
blast007custom sounds in our repository or hosted on our resources site will need to be OSI licensed22:58
Optic_Delusionso contact me directly if you want them23:26

Generated by irclog2html.py 2.17.3.dev0 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!