Først vil jeg bare skrive kort forskjellene på nettkodene i de forskjellige Halo-spillene. Vi har nemlig tre hovedtyper, som hver har sitt spill.
Versjon: 1.1
Halo 1 Xbox: Synkron nettkode
Synkron nettkode fungerer egentlig bare på LAN. Her er spillet avhengig av en dedikert oppkobling som ikke brytes. Hvis noe informasjon blir borte, fryser spillet, og informasjonen må sykroniseres før spillet fortsetter. Synkron nettkode fører også til "bullet-delay", der kulene rett og slett ikke treffer der du skyter, og alle som har spilt xbc har vel merket noe slikt. Problemene med denne type nettkode er at den ikke takler de variable forholdene på nettet så bra, og en ping under 20 er nødvendig for veldig gode games. For generelt om inteernett, se Halo 2-delen.
God, engelsk beskrivelse av Halo XBC lag:
The first thing you need to know about lag is EVERYONE who joins has to deal with it in some portion. If you aren't hosting there is always lag. There are a few types of lag though that you need to know the difference between.
Movement Lag: This is lag that prevents you from moving correctly as far as running jumping etc. We suggest that you join games with less than 100 ms ping so you can avoid this lag as much as possible. If you do encounter movement lag we suggest that you quit out of the game and leave. There is no need to act like a hardass or waste time bickering about it because no one cares.
Bullet Delay: This type of 'lag' is your best friend. You may not think so at first, but dealing with this 'lag' can make you an incredible halo player. This delay causes your bullets to shoot behind an object which is moving or shoot in a direction you do intend.
Lag is an online players best friend. If you want to improve you should join at least 75% of the time. The reason for this is it will make you become a smarter halo player. Instead of just blazing away every time you see someone it will force you to hit them with a grenade before they see you or have your partner blindside them. When you get good enough that you start winning on other people's host you will notice a huge improvement in your LAN abilities.
Halo 1 PC: Server-side nettkode
I HaloPC ble en mer eller mindre ny type nettkode prøvd ut av Gearbox. Her blir retningen du skyter sendt til serveren, og du får beskjed tilbake om det er en treff eller ikke. På grunn av dette vil man måtte skyte der motstanderen er om ca. 0,3 sekunder. Denne metoden forhindrer hacking, som er et stort problem i f.eks. Counter-Strike (se klient-side nettkode under) ved at man kan lage 'aimboter' som sier at "DU traff X i hodet", og serveren tar det som god fisk. I Halo PC måtte man beregne forholdene, og det føltes som om kulene gikk i 50 km/h. Du så også skuddene traff på bakken på din skjerm, men hørte 'plingene' fra serveren som rapporterte treff. Mye likt problemene på XBC, men om en person lagger ødelegger dette ikke for alle, men bare for den spilleren selv. Serveren mater deg også alltid korrekt informasjon, men man må lese spillet for å kunne treffe folk. 'Warping' er også et problem med slik nettkode, siden den enkelte spillers linje kan rapportere feil til serveren. Problemene med denne typen nettkode er at internett ikke er raskt nok - informasjonen til og fra serveren går ikke raskt nok til å sikre en god nok spillopplevelse. Her kan man også treffe midt i hodet på egen skjerm uten å være i nærheten fra serverens synspunkt. Men, en fordel er at selv ved enormt høy ping kan man alltid beregne laggen og ha sjangs til å treffe - i teorien. Men, Packet loss og annet kan lett knekke idyllen.
Mye infor rundt HaloPC og manglene: http://gbxforums.gearboxsoftware.com/sh ... hp?t=23429
Halo 2 - Client-side nettkode
Så kommer Halo 2, det første spillet med en nettkode som er mer eller mindre klientside. Cheating-problemet er også ganske fraværende (når det gjelder aimbots), siden Xbox LIVE kontrollerer det meste. Selv ved meget høy latency (over atlanteren) er det fortsatt mulig å drepe en person. Din XBox sin versjon av gamet vil også til en hver tid bli trodd av serveren. Skyter du en i hodet skal serveren (i teorien) ta det for god fisk. Ved laggy games kan det resultere i at man blir skutt rundt hjørner. Det er fordi du på din skjerm er rundt, men motstanderen ser de fortsatt på sin skjerm. På en måte kan man si at Client-side produserer "Backside Lag", mens Server-side (HPC) produserer "Frontside lag". Frontside er lettere å beregne, men mer stadig, mens "Backside lag" kun forekommer ved høy ping. Haglas ineffektivitet og andre merverdige hendelser kan komme av at Halo 2's nettkode ikke er 100% klient-basert (dette er også antydet flere steder). Dermed kan noe informasjon bli server-bestemt, til forskjell fra f.eks. CS, som er nesten helt klient-basert.
Generelt om LIVE (fra xbox.xom) - en grei forklaring på hvorfor det oppstår lag:
Alle hater spill som lagger, dvs som har hakking eller reduksjon i farten på spillet. Xbox Live har vært et stort skritt i retning av å redusere lidelsene. Det er imidlertid dessverre fortsatt mulig å oppleve lag i et spill, og vi får ofte høre fra spillere som ikke forstår hvorfor dette er tilfelle… Xbox Live er tross alt en bredbåndstjeneste, ikke sant?
Ja, Live er så klart en bredbåndstjeneste. Men det å ha bredbånd betyr bare at ’veien’ informasjonen følger når den går inn i huset ditt er bredere, men ikke uendelig mye bredere. Tenk på Internett som en motorvei som er fullstendig dekket av en trang tunnel. Tenk så på bredbåndsforbindelsen din til Internett som en avkjøring på motorveien. Det er riktignok en litt merkelig avkjøring. Filen som fører til huset ditt kan være seks felter bred, mens filen som fører bort fra huset ditt kan være bare ett felt. Dette er fordi bredbåndsforbindelser ofte er asymmetriske – dvs. at de ikke er av samme størrelse/hastighet i begge retninger.
Den bredere filen som fører til huset ditt gjør at du kan få mye mer informasjon sendt til huset ditt enn du kan sende ut selv (husk at veien bare har én fil). Dette er grunnen til at du kan laste ned filer mye raskere med kabel- eller DSL-modemet ditt enn du kan laste opp.
Ulike spill oppfører seg også ulikt når det gjelder båndbredde. Ett spill som sender informasjon kan tilsvare et attenhjuls vogntog som kjører opp og ned avkjøringen din, mens et annet kan være en liten, kjapp motorsykkel. For å unngå lag i spillet, må du passe på at veien du bruker har kapasitet nok til å håndtere trafikken.
Når en Xbox fungerer som vert for et spill, må spillet sende informasjon til alle som spiller. Filen fra huset ditt til Internett (dvs. når du laster opp) er den knappe ressursen her. La oss bruke enfeltsveien vi snakket om tidligere. Å sende en liten bit informasjon fra spillet ditt er som å bruke motorsykler til å levere pakker – ved å bruke flere motorsykler vil du kunne sende informasjon til mange flere spillere enn du må hvis du spiller et spill som sender større pakker som trenger et attenhjuls vogntog for å levere dem. (Du husker den trange tunnelen? Du kan forestille deg at flere motorsykler kan få plass i ett enkelt felt samtidig, og de vil ha mer plass til å manøvrere, mens vogntoget kan oppta hele feltet og kanskje til og med skrubbe oppi taket iblant!)
Å få lagfrie spill er dessverre ikke fullt så enkelt som å bruke båndbredde-vennlige spill (som bruker motorsykler). Du må også ta ’latency’ med i beregningen, dvs. tiden det tar for en pakke å reise gjennom et nettverk. Et uheldig aspekt ved Internett er at veiene trafikken din følger er av høyst variabel kvalitet. Tenk deg at du kjører langs en strak seksfelts motorvei av asfalt, og ligger helt opp mot fartsgrensen, før veien plutselig går over i en humpete grusvei med huller overalt. Du har kjørt denne ruten en million ganger tidligere, og den har alltid vært ypperlig – men ikke i dag, og du skjønner at leveransen kommer til å bli forsinket. Dette er lag i et nøtteskall – en forsinkelse i leveransen av informasjonen. Veien kan plutselig bli litt bedre, men den kan også fortsette å være like ille. Uansett er det en del tilfeldigheter med i spillet som du overhodet ikke har kontroll over, men som påvirker farten og påliteligheten til informasjonen som leveres hjemme hos deg. (Og husk, dette er et separat problem fra antall felter og bredden på feltene i avkjøringen til huset ditt!)
Poenget her er at det finnes faktorer som ingen rår over (heller ikke Xbox Live), men som kan påvirke kvaliteten til et online-spill. Det finnes imidlertid en del ting du kan gjøre for å øke sjansene til å finne et spill som kjører kjapt og velsmurt.
Det beste trikset for å finne et lagfritt spill er å passe på at spillverten enten A) har en høyhastighets oppstrøms-tilkobling (en seksfelts vei fra huset til Internett) som kan håndtere mye trafikk av alle typer, eller B) er vert for et spill med kun maksimal anbefalt trafikk. Et vanlig problem vi ser er at folk ofte prøver å være vert for et spill for flere personer enn det som er anbefalt for spillet. Resultatet er at det blir trafikkork i Internett-avkjøringen deres, informasjonen flyter ikke fritt til (og fra) andre spillere i spillet, og alle deltakerne opplever lag i spillet.
Båndbreddekrav:
Selv om båndbredden ikke er det viktigste, da lite loss og lav latency er über alles når det kommer til nettspill, så har alle spill noen krav. For å kjøre HaloPC dedicated server med 16 personer kreves ca. 600kbps - det vi si 600 ut. At opp tl 1 mbps (1000 kbps) vil gjøre linja mer stabil, men over det vil man merke ingen eller lite forandring. Når det gjelder Halo 2 er kravene mindre. 400 kbps regnes som et krav for spill med 16 mann, og alt opp imot 750 kbps øker stabiliteten. Når det gjelder Halo 1 til xbox, så er tommelfingerreglen 300 kbps + 250 kbps per Xbox som joiner. For 4 xboxer (16 spillere) burde 1 mbps være nok, men hastigheter opp imot 1,5 mbps vil hjelpe på kvaliteten. Alt dette blir dog hemmet om man bruker linja til andre ting (f.eks. PCer som bare står på bruker et par kbps, og har de spyware kan de brått bruke mye mer linje - virusfrie systemer er essensielt for gode forhold).
Host-record i Halo 2
For å feie unna all tvil: Ja, det er en "rankingliste" over folk linjer. Dette er tydeligvis knyttet til Xbox OG gamertag kombinert etter mine erfaringer, og bygges opp både i Custom games og i Matchmaking. I Matchmaking kan man delvis kontrollere hvem sm er host, men host-recorden er essensiell. I Custom games vil Party-leader få host om han har god nok linje til å hoste et game med det antall spillere som er i gamet. Har han en god linje på 700++ kbps ut, så vil han dermed få hosten i nesten alle situasjoner om han lager partyet (å utnevne en som leader har liten eller ingen effekt). Det regnes også som et faktum at amerikanere blir favorisert når det kommer til å få hosten da deres ping til LIVE-serveren er langt lavere enn vi Europeere.
Begrepsordbok:
Lag - Faktisk Hakking - man spretter rundt. Ofte brukt om Latency/høy ping (se under)
Latency/ Høy Ping - Forsinkelse som kan føre til bullet-delay, dreping rundt hjørner osv. (Latency er IKKE lagg på xbc f.eks. - et game er ikke "laggy" om det er forsinkelse, lagg er når spillet fryser)
Packet Loss - Når informasjon blir borte under overføring på nettet. Kan forårsake lagg.
Dedicated/Dedikert server: En maskin som hoster som ingen spiller på. Mest vanig på PC, men også sett i blant annet Rainbow Six 3 på Xbox.
Legger til mer, og skriver sikkert om litt senere. Kom gjerne med forslag til forbedringer, rettelser og teknisk informasjon jeg kan ta med