Tag Archives: dirkanje

Multiplayer simulacija dirkanja z avtomobili: Dodajanje multiplayerja in ScreenManagerja v igro

Spet malo o razvoju lastne igre (dirkalna igra) na XNA platformi. Prejšnje prispevke si lahko preberete

  1. tukaj(prvi del – ladjica v prostoru in izris proge),
  2. tukaj(drugi del – proga, avtomobil in vožnja po progi in nagibanje – Ray Trace) in
  3. tukaj(tretji del – nova proga, manjši popravki) :).

Po malo več kot tednu se je zopet premaknilo pri seminarski nalogi. Tokrat je bil uspešno dodan najprej Screen manager, pobran iz slednjega exampla(gameStateManagement), katerega osnovni koncept in flashy shiny thingies sem seveda ohranil notri.

Naslednji velik korak je bil Multiplayer(Večigralstvo po “FRIjevsko”), ki deluje na principu neodvisnega strežnika in dveh(ali večih, trenutno je omejitev 2 zavoljo testiranja ostalih parametrov) računalnikov. Vsak client izračuna naslednjo pozicijo, to sporoči strežniku, strežnik pa sporoči clientu, če je njegov premik dovoljen(collision detection z ostalimi vozili) ali ne, ter tudi vse podatke o ostalih vozilih(pozicije, nagibe, rotacije itd…).

Trenutno na LANu deluje pri 45FPS, kar je relativno dobro, glede na standardnih 65FPS na trenutnem laptopu(ko je ta na elektriki, na bateriji pade na 20FPS). Stvar NE deluje na eduroamu v pritličju(v 2. nadstropju deluje normalno =) ) in slednjemu podobnim omrežjem, kjer izgleda ping približno takole: 2ms, 3256ms, TimedOut, 2ms … V tem primeru ustrezno tudi pade Frame Rate, saj pred izračunom nove pozicije počaka na odgovor strežnika, ali je premik veljaven.

Sledijo sličice(opozorilo: FPS na sličicah ni realen, ker je bil multiplayer pognan na mojem laptopu (2 igri naenkrat + multiplayer), kar je precej obremenjujoče =) .

P.S.: Glede na delujoč multiplayer je potrebno spisati le še kratko dokumentacijo, in špil si boste lahko kmalu potegnili dol(na blogu bo objavljen link). Za tiste najbolj neučakane, kontaktirajte me na mail ali MSN ali gtalk(ali preko golobov pismonoš), pa dobite nekaj za se igrat :)

P.P.S.: Če bi radi karkol posebnega v igri, napište v komentarje in potrudil se bom dodat v igro :)

QED. :)

Še malo igranja z igro in še ena proga :)

Po parih dneh (in pisnemu izpitu iz OTIja) sem še malo dodelal par stvari. Najprej se moram zahvalit Mihi Feušu za še eno hudo progo. Slednja je precej bolj razgibana in divja za vozit.

Poleg tega sem popravil tudi gravitacijo, ki ni več linearna :) Sprva sem imel s progo nekaj problemov na mestih, kjer se je prekrivala “v več nadstropjih”. Izgleda, da so žarki(Ray) dvodimenzionalni, kar mi je vračalo negativno višino avtomobila nad progo. Problem je rešen, ostaja pa še precej dolga todo lista:

  • Luči(avtomobilske, cestni reflektorji)
  • fizika(pri zavijanju, morda malo crash modela, animacija podvozja avtomobila …)
  • Multiplayer na enem računalniku
  • Multiplayer med računalniki(+dedicated server)

In še par sličic: