Gå til innhold

Noen som har prøvd å lage et multiplayerspill og har erfaring med hva som skal til for å lage en slik server?


Anbefalte innlegg

Skrevet

Noen her som noengang har prøvd å lage et multiplayerspill og har erfaring med hva som skal til for å lage en slik server? Lagde et spill i actionscript/flash for lenge siden, husker jeg kom helt til fasen der jeg skulle støtte multiplayer men det var dritvanskelig å sette seg inn i.

 

Noen som har peiling?

 

 

Videoannonse
Annonse
Skrevet

Hva eksakt er det du egentlig er ute etter? Jeg antar du er ute etter at flere kan spille mot hverandre i samtid, men hvordan ser du for deg at dette i det heltatt skal være realiserbart i PHP?

Skrevet

Nå kommer det jo VELDIG ann på hva slags spill du skal lage. Poker f.eks kan fint lages i php med javascript. Eksempel på et slikt script finnes her: http://www.phppoker.net/demo.php Men ofte brukes gjerne flash o.l. Uansett det er nok ikke noe i veien for å bruke php i kombinasjon med flash. Du er nødt til å bruke et språk på serveren uansett. Hovedpoenget er at du må ha en applikasjon hos brukeren, enten det måtte være javascript eller flash. Også må du ha en server med PHP som tar seg av alle utregninger osv. Det som er VELDIG viktig å tenke på er at ALT på klient siden kan endres. Så ikke tro at bare fordi klienten rapporterer noe så stemmer det. Derfor kreves det at du gjør samtlige oppgaver på serversiden dersom du skal unngå juks. I praksis er det veldig vanskelig å lage en 100% sikker tetris toppliste f.eks, ja, om ikke umulig. Poker derimot er noe som utregnes på serveren og i praksis ikke kan jukses på så lenge du har gjort det riktig.

Skrevet

det må være lynkjapt, vi snakker kanskje 4-5 requests pr sekund og endringene må vises med veldig lav latency, helst under 50ms. det er et multiplayer skytespill hvor man kan bevege seg rundt på et brett og skyte på hverandre.

Skrevet

Hvis det må være lynkjapt og i tillegg et såpass avansert spill vil jeg tippe at du må overlate en god del til klienten. Men hvis du skal lage dette høres ikke php og flash ut som løsningen. Vi snakker vel heller mer retningen C++ og spesial-laget server?

Skrevet

PHP i seg selv vil ikke nødvendigvis være noe problem for svartid sånn i utgangspunktet (nettverket er tross alt den største faktoren i svartid, men det vil dog skalere dårlig hvis svartid er viktig). Det som er verre er å i denne sammenhengen benytte HTTP-protokollen (eller TCP generelt). Ikke at jeg har skrevet noen spill eller slikt, men man skal ikke se bort fra at man må over på UDP for å få ned responstiden.

Skrevet

UDP ja, det husker jeg det var snakk om når jeg leita rundt etter info når jeg lagde spillet. UDP funker det sånn at flash-spillet connecter direkte til de andre spillernes ip-adresser eller hva er det egentlig som skjer der som er bedre enn tcp?

Skrevet

UDP har vel mindre verifisering av pakker om jeg husker rett og har ingen connection. Det betyr at du kan oppleve at enkelte pakker går tapt. Med TCP derimot vil pakker bli sendt på nytt dersom de skulle gå tapt eller gi feil. UDP brukes gjerne til streaming for da er det ikke så farlig om noe skulle gå tapt for det merkes sjeldent på kvaliteten.

 

Det at UDP går mye raskere (siden den ikke verifiserer) er nok en meget god grunn til å bruke UDP for ditt spill.

Skrevet

hva med spill som world of warcraft eller unreal, hva slags protokoll brukes der? høres rart ut å bruke UDP, om et skudd eller tastetrykk går tapt så ødelegges jo spillet

Skrevet

World of Warcraft bruker i hvert fall i stor grad TCP. Så vidt jeg vet, så er det kun voice chat som kjører over UDP. Fordi - som du sier - et tastetrykk kan være helt vesentlig.

Skrevet

fant akkurat ut her hvordan jeg skal lage kommunikasjon mellom en flash-app og php.

så får vi se om det blir kjapt nok

 

 

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...