UT99.org EpicTown ShowDown - Get-Together Of The Century!

Discussions about Events and Tournaments
User avatar
Gustavo6046
Godlike
Posts: 1215
Joined: Mon Jun 01, 2015 7:08 pm
Personal rank: Zeta Group leader
Location: Brazil

Re: UT99.org EpicTown ShowDown - Get-Together Of The Century!

Post by Gustavo6046 » Mon Dec 21, 2020 6:35 pm

You mean the lights were lagging behind the train? You should make that part clientside, just like the light itself should be. Maybe compute the location from the server too, but in a simulated function (and having the light actor be a ROLE_SimulatedProxy in clients) so that the location setting functions are called clientside so the server doesn't send them.

User avatar
sektor2111
Godlike
Posts: 5377
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: UT99.org EpicTown ShowDown - Get-Together Of The Century!

Post by sektor2111 » Mon Dec 21, 2020 11:21 pm

That was my #1 idea which... I dropped this time.
When another player is joining later, his "Train" copy will be different in first second from whatever server version in that moment, adding lights will need some work - but I need to test this solution. Decorations spawned only in client are acting like they are full relevant being client authoritative and server doesn't need any such things because there is nothing to see in server (okay, okay, except server's demo records...).

In a LAN test with 469 my custom "lights" were okay, even good as in a common Off-Line game. A 440+XC24 server outside do looks fine as well. Lousy random issues are happening only in plain UT.

Funny stuff notes:
My enemy tracker feature pointed my steps to cannons. As result:
- I noticed that paths are working properly (it's a bit heavy to see route cache beacons at those ranges...);
- I telefragged them properly.

The structure - I've done my desired rebuild as FraGnBraG told about sliders... in 469. Result = 59 zones - I did not find any BSP bug so far, I'll keep looking... Map has lost around 1 MB.

User avatar
Gustavo6046
Godlike
Posts: 1215
Joined: Mon Jun 01, 2015 7:08 pm
Personal rank: Zeta Group leader
Location: Brazil

Re: UT99.org EpicTown ShowDown - Get-Together Of The Century!

Post by Gustavo6046 » Tue Dec 22, 2020 5:32 pm

sektor2111 wrote:
Mon Dec 21, 2020 11:21 pm
When another player is joining later, his "Train" copy will be different in first second from whatever server version in that moment,
Not at all. If the client can know the serverside position of the train at time t, the position at t + X for any positive value of X will be known, which means the train's position will be known at all times, AND consistent across clients. I would suggest subclassing Mover to implement the nitty-gritty of this, though -- using a simulated function to move along this trajectory over time, and I mean setting the position to an interpolated value scaled by TimeDelta rather than adding to it --, in effect telling the Engine that for this Mover we only need very simple behaviour and want only as much to be propagated to the clients. Maybe further values don't even need to be replicated at all, just damage calls if any pawns are encroached!

Either way, the server copy of the train is authoritative; it does not matter if client A and client B's copies differ ever-so-slightly due to lag. All concrete consequences (getting killed by the train) will remain synchronized and known to everyone, clients will know how (not) to be killed by the train, and everyone knows roughly where the train is at any given point in time.

But if you want to eliminate the jankiness of the train dragging a player (which it does do), I'd suggest either moving touching players 'manually' in the code in a simulated function in said Mover subclass, or just making the train lethal to just the touch (which I believe would be a bit more realistic -- you wouldn't try to poke a bullet train as it passes by in high speed, would you?), and more fun.

User avatar
sektor2111
Godlike
Posts: 5377
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: UT99.org EpicTown ShowDown - Get-Together Of The Century!

Post by sektor2111 » Tue Dec 22, 2020 8:30 pm

You can experiment this thingy if exist any desire for plain UT, me one I'm not using that and then... I don't have serious issues here...

In other hand for saving number of actors hosted by server, I believe all AmbientSound actors can be sub-classed and completely moved in client and maybe more things replicated (as decorations, etc), this will help various mods "foreaching" through actors in server, this would need some extra work for creating client scripts but I think it can be helpful for speeding up server's task and causing a more accurate replication when less things are using channels - Freeky_R... whatever map it's an evidence that a less loaded map works more smoother with these lights. I'm thinking...

User avatar
Gustavo6046
Godlike
Posts: 1215
Joined: Mon Jun 01, 2015 7:08 pm
Personal rank: Zeta Group leader
Location: Brazil

Re: UT99.org EpicTown ShowDown - Get-Together Of The Century!

Post by Gustavo6046 » Wed Dec 23, 2020 3:04 am

I don't know, I just wanted your opinion on it. I've always been in awe of the enigne's replication, and I feel like network code today is an underrated skill and that ergo many games today can be pretty bad at implementing proper multiplayer compared to UT. Although then again good netcode is usually born out of necessity, like how UT had to play well over dialup connections and whatnot. I can't help but feel like the existence of the third world should be sufficient to consider putting a modicum of effort into optimization, for both budget hardware and slower DSL Internet connections. I might be a little biased, though, since I'm from Brazil, but imagine how many more sales for game studios if a broader audience can enjoy the game! It does pay to not be half-assed.