×
Felmeddelande :( Din CSS har inte laddats som den ska. Testa reloada sidan.

Half-Life

Nebb förklarar lite mer om ex_interp

1
Angående förra nyheten om ex_interp fick vi in ytterligare en förklaring. Denna är skriven av Nebb från klanen caYa. Nebb försöker förklara lite om vilka effekter som inträffar och varför dem inträffar och hur det påverkar spelet.
Här har ni i alla fall Nebbs förklaring på ex_interp.

Denna text riktar sig till de som åtminstone har ett hum om olika för CS att betrakta som facktermer; nybörjare kan följaktligen få svårt att hänga med. Jag utgår från tidigare artiklar, exempelvis bds nätkodsguider, jag tänker alltså inte ge någon grundläggande kunskap för folk som inte alls är insatta, det har jag inte tid med.

Tar man bort interpolationen på klienten ser du naturligtvis direkt det som händer så fort din "dator" mottar den informationen, jämfört med att den "håller inne" infon ytterligare 100ms för att förflytta modellen "smidigt" från den senast utritade uppdateringen. Varför blir då modellen och hitboxen osynkade så fort du ändrar från 0.1? Jo, för att interpolation ska fungera måste hela tiden servern ta hänsyn till att allt du ser är din interpolation + din ping "delayat". Problemet är att HL-motorn inte klarar av att ta hänsyn till vilket interpvärde klienten använder, istället förutsätter den att alla använder 0.1.

Följden av det blir naturligtvis att servern kompenserar åt dig med 100ms för interpolationen, när du tex kanske bara använder 50ms fördröjning själv (e.g ex_interp 0.05 hos klienten). Då blir din playermodel du ser falsk och "framför" den hitbox (samt playermodel) som servern tror att du ser baserat på 100ms interpolationsdelay.

En annan faktor man måste ta hänsyn till är att endast objekt i RÖRELSE interpoleras, vilket leder till att ifall du springer runt ett hörn, och en annan spelare har suttit still där hela tiden, så kommer du att se honom på en update ritad 100ms före den update han ser dig på, förutsatt att han använder 0.1 som interpvärde. Det leder också till slutsatsen att folk som minskar sitt interpvärde (I exemplen nedan förutsätts det att ena spelaren använder sig av ex_interp 0, dvs han avaktiverar helt interpolationen för sig själv):

1. Har fördel (de ser motståndaren (dock med osynkad hitbox) före motståndaren har fått sin bild ritad) när båda spelarna är i rörelse. Här rör det sig om 100ms fördel, den ena spelaren interpolerar inte alls den andra, medan den andra interpolerar under 100ms, vilket ger en fördel på 100ms till spelaren med ex_interp 0.


2. Har ett JÄMNT läge när de själva är stilla och motståndaren rör sig (motståndaren i rörelse använder sig inte av interpolering eftersom du själv inte är i rörelse; hans ex_interp-värde är således ointressant här, e.g det är att betraktas som motsvarigheten till "0", och det att jämföra med personen som sitter still som använder sig av ex_interp "0", dvs han har ändrat sitt värde), slutsatsen här blir att ingen av spelarna använder sig av interpolation i detta fall, och de ser varandra samtidigt.

3. Inte påverkar situationen då de själva i rörelse och deras motståndaren rör sig. (Eftersom motståndaren inte rör sig skulle du, oavsett värde på interpolationen, ändå inte interpolera det objektet, således är ditt värde ointressant här. Hans värde är dock naturligtvis intressant för honom, eftersom du är i rörelse för honom, vilket för honom innebär situation 2 här ovan.)

Detta har bla Zibbo testat genom att hardcoda om det värde som hl-servern använder för interpolation, e.g 0.1, till 0.25. I vanliga fall är det 100ms fördel till den som rör sig gentemot en stillastående, förutsatt att de båda använder samma interpvärde. (Återigen, spelaren som är i rörelse påverkar ingenting genom att ändra sitt interpvärde i detta fall.) Tänk på att ifall servern är hardcodad till 0.25 krävs det också att klienten använder interp 0.25 för att få en synkad hitbox/playermodel. (Som kuriosa kan nämnas att modellerna, med 250ms interpolation, skulle röra sig VÄLDIGT smooth, men att väldigt få av de postioner spelaren är i verkligen skulle vara verkliga uppdateringar från servern.)

Med detta test blir alltså effekten att en spelare i rörelse får hela 250ms fördel mot en spelare som sitter still, och i Zibbos tester var det fullständigt omöjligt att i princip ens hinna skjuta som stillastående i ett scenario där en stillasittande/stående person håller ett hörn och en person i rörelse rör sig runt hörnet.

87 kommentarer — skriv kommentar

Kommentarerna nedan är skrivna av användare på Fragbite. Fragbite granskar inte sanningshalten i texten och du uppmanas att själv kritiskt granska och bemöta texten. Förutsätt inte att innehållet i texterna är sanning.
Visa 87 kommentarer

Skriv en kommentar

Laddar..