Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Realiaikaiset web-pelit (Flash)

jo123 [17.01.2010 17:17:38]

#

Ihan vaan perjaatetasolla kysäisen, että miten tuo tulisi toteuttaa. Haluan esimerkiksi pelin, jossa kullakin on oma laatikko ja pelaajat voivat liikuttaa laatikkoaan stagella esim. klikkaamalla kyseistä kohtaa johon liikkua. Kaikkien pelaajien tulisi nähdä realiaikaisesti muiden laatikoiden liikkeet oman laatikon lisäksi.

Eli itse asiaan:

Jos toteutan tämän siten, että tietokantaan tallennetaan aina koordinaatit, johon pelaaja on liikkumassa, sekä mistä on liikkumassa. Tässä tapauksessa kukin pelaaja lataa monta kertaa sekunnissa tietokannasta tämän tiedon kaikista pelaajista ja katsoo onko liikkumiskoordinaatit muuttuneet ja näyttää sen mukaan pelaajien liikkeet. Tämä voisi olla tavallaan toimiva ratkaisu, mutta jos pelaajia on vaikkapa satoja (en tarkoita, että olisin tekemässä mitään tälläistä) rasittaa se jo tietokantaa melko paljon. Eli mikä olisi "paras" tapa tämmöisen systeemin toteuttamiseen ihan vaan perjaatetasolla? Itse ohjelman ja koodin toteuttaminen ei ole todennäköisestikään itselleni mikään ongelma.

Lebe80 [18.01.2010 10:46:29]

#

Palvelimelle kannattaa hommata valmis "moninpeliserveri", jossa on valmiit komennot ja kutsut.

http://www.smartfoxserver.com/

Periaatteessa Smart Fox Server toimii niin, että Flashissä kutsutaan tiettyjä funktioita, kun pelaaja liikkuu (lähetetään muuttujat ja muuttujien arvot).

Kun muut pelaajat liikkuvat (saapuu tietoa), Flashissä kutsutaan automaattisesti funktioita, joiden avulla voidaan esim. päivittää muiden pelaajien hahmojen sijainnit.

On olemassa esim. avoimenlähdekoodin palvelimia, mutta itse olen huomannut, että Smart Fox Serverissä ei tarvitse kikkailla asetusten kanssa ja konffata palvelinta, vaan pääsee suoraan itse asiaan.

jo123 [18.01.2010 14:08:21]

#

Kiitos vinkistä. Tuosta näyttää olevan ilmainen versio (max. 20 clienttiä), jolla voisin kokeilla. Ei auta muu kun alkaa räpläämään linuxin komentorivin kanssa. >:D

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta