Netcode
| Den hÀr artikeln bör enligt ett förslag flyttas till nÀtkod (2026-03) (Diskussion) Motivering: svenska Mallen anvÀnds för flyttningsförslag som behöver diskuteras, se diskussionssidan. Okontroversiella flyttningar kan utföras direkt. I fall dÄ sidflytt krÀver administratörshjÀlp, frÄga efter denna pÄ Wikipedia:BegÀran om ÄtgÀrder. |


NÀtkod eller netcode Àr ett samlingsbegrepp för de tekniska system som hanterar kommunikation och synkronisering mellan spelare i onlinespel.[1][2] Begreppet anvÀnds ofta av spelare för att beskriva problem med synkronisering mellan klienter och servrar, till exempel lagg, fördröjda inmatningar eller att spelstatus plötsligt korrigeras.[3]
SÄdana problem kan orsakas av buggar, men ocksÄ av faktorer som hög latens, paketförlust, nÀtverksbelastning eller varierande bildfrekvens.[1][3] NÀtkodens syfte Àr i regel att dölja eller mildra dessa störningar sÄ att flera spelare upplever en sÄ jÀmn och synkron spelvÀrld som möjligt.[2]
Typer
[redigera | redigera wikitext]Till skillnad frÄn ett lokalt flerspelarlÀge, dÀr alla inmatningar behandlas omedelbart i samma spelinstans, bestÄr ett onlinespel av flera parallella simuleringar. Varje spelares egen inmatning registreras direkt, medan andra spelares inmatningar anlÀnder med viss fördröjning beroende pÄ bland annat avstÄnd, nÀtverkskvalitet och anslutningshastighet.[2]
TvÄ vanliga sÀtt att hantera detta Àr fördröjningsbaserad nÀtkod och rollback-nÀtkod.[2]
Fördröjningsbaserad nÀtkod
[redigera | redigera wikitext]Fördröjningsbaserad nÀtkod (engelska: delay-based netcode) synkroniserar spelet genom att lÀgga till en avsiktlig fördröjning pÄ den lokala spelarens inmatningar tills motspelarens inmatningar har hunnit fram.[2] PÄ sÄ sÀtt behandlas bÄda spelarnas kommandon samtidigt i samma bildruta.
Metoden kan fungera vÀl vid lÄg och stabil latens, men vid hög eller varierande latens blir styrningen mindre responsiv. Om fördröjningen blir större Àn spelets buffert kan matchen tillfÀlligt frysa medan spelet vÀntar pÄ saknade inmatningar.[2] Detta gör modellen sÀrskilt problematisk i genrer dÀr exakt tajming Àr viktig, exempelvis fightingspel.[4]
Rollback-nÀtkod
[redigera | redigera wikitext]Rollback-nÀtkod (engelska: rollback netcode) lÄter i stÀllet spelet omedelbart behandla den lokala spelarens inmatningar och förutsÀga motspelarens kommande handlingar, i stÀllet för att vÀnta pÄ dem.[1][2] NÀr den faktiska fjÀrrinmatningen senare anlÀnder finns tvÄ möjligheter:
- om förutsÀgelsen var korrekt fortsÀtter spelet utan mÀrkbar förÀndring
- om förutsÀgelsen var felaktig ÄterstÀlls spelstatus till ett tidigare lÀge och simuleras om med korrekt information
För spelaren kan detta visa sig som smĂ„ visuella âhoppâ eller korrigeringar, men systemet ger ofta en mer direkt kĂ€nsla Ă€n fördröjningsbaserad nĂ€tkod.[1] Rollback krĂ€ver dock att spelmotorn kan Ă„terstĂ€lla tidigare tillstĂ„nd, vilket kan göra implementationen tekniskt komplicerad och kostsam.[5]
En vÀlkÀnd programvara för att underlÀtta implementation av rollback i spel Àr GGPO.[6]
Orsaker till problem
[redigera | redigera wikitext]Latens
[redigera | redigera wikitext]Latens Àr en ofrÄnkomlig del av onlinespel och har stor betydelse för hur responsivt ett spel upplevs.[1] Ju högre latens mellan spelare eller mellan klient och server, desto större blir risken för mÀrkbar fördröjning, felaktiga trÀffar eller plötsliga korrigeringar i spelvÀrlden.[3]
Tickrate
[redigera | redigera wikitext]En enskild uppdatering av spelets simulering kallas ofta för en tick. Den hastighet med vilken servern uppdaterar simuleringen kallas tickrate.[7] En lÀgre tickrate minskar processorkrav och bandbreddsanvÀndning, men innebÀr ocksÄ att information mellan klient och server uppdateras mer sÀllan, vilket kan öka den upplevda fördröjningen.[7]
Buggar och desynkronisering
[redigera | redigera wikitext]Problem som spelare beskriver som âdĂ„lig nĂ€tkodâ kan ocksĂ„ bero pĂ„ rena programfel. Om olika klienter simulerar spelvĂ€rlden pĂ„ olika sĂ€tt kan det uppstĂ„ desynkronisering, dĂ€r olika spelare ser olika versioner av samma hĂ€ndelseförlopp.[3]
TCP och UDP
[redigera | redigera wikitext]Valet av transportprotokoll pÄverkar ocksÄ hur nÀtkoden fungerar. TCP ger tillförlitlig och ordnad överföring men kan orsaka extra fördröjning nÀr paket tappas bort eller mÄste skickas om. UDP Àr snabbare och vanligare i actionspel, men krÀver att utvecklaren sjÀlv hanterar till exempel paketförlust och ordning pÄ data.[8]
AnvÀndning
[redigera | redigera wikitext]Begreppet nÀtkod anvÀnds sÀrskilt ofta i diskussioner om tÀvlingsinriktade onlinespel, dÀr smÄ skillnader i respons och synkronisering kan fÄ stor betydelse för spelupplevelsen.[2] Det förekommer dÀrför ofta i analyser av fightingspel, skjutspel och andra genrer med höga krav pÄ precision.[1]
Se Àven
[redigera | redigera wikitext]Referenser
[redigera | redigera wikitext]- 1 2 3 4 5 6 Huynh, Martin; Valarino, Fernando (2019). âAn analysis of continuous consistency models in real time peer-to-peer fighting gamesâ. http://urn.kb.se/resolve?urn=urn:nbn:se:hkr:diva-19404. LĂ€st 23 mars 2026.
- 1 2 3 4 5 6 7 8 âNetcode [p1: Fightin' Wordsâ]. Fightin' Words. 16 oktober 2019. https://words.infil.net/w02-netcode.html. LĂ€st 23 mars 2026.
- 1 2 3 4 âAddressing "Netcode" in Battlefield 4â. EA Digital Illusions CE. mars 2014. http://battlelog.battlefield.com/bf4/news/view/addressing-netcode-in-bf4/. LĂ€st 23 mars 2026.
- â âThe difference between LAN and online esportsâ. Pinnacle. https://www.pinnacle.com/en/esports-hub/betting-articles. LĂ€st 23 mars 2026.
- â Hills, Dakota "DarkHorse" (10 december 2020). âThe era of delay-based netcode may finally be over for good in fighting games depending on what SNK does with The King of Fighters 15â. EventHubs. https://www.eventhubs.com/news/2020/dec/10/delay-netcode-ending-kof-future/. LĂ€st 23 mars 2026.
- â âGGPOâ. https://www.ggpo.net/. LĂ€st 23 mars 2026.
- 1 2 âSource Multiplayer Networkingâ. Valve Developer Community. https://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking. LĂ€st 23 mars 2026.
- â Fiedler, Glenn (1 oktober 2008). âUDP vs. TCPâ. https://www.gafferongames.com/post/udp_vs_tcp/. LĂ€st 23 mars 2026.
| ||||||||||||||||||||||||||||||||||||||