Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 26 odgovora
  • 13.102 pregleda

Najnovija ↓

Re: Travian - Kako oni to rade? 07.10.2011. u 03:47 · pre 183 meseca #21
Ne znam zasto se hvatate za cronjob kad je mnogo lakse napisati aplikaciju (server/daemon) npr u C/C++ koja ce stalno biti pokrenuta i u stalnoj vezi s nekom bazom podataka a po zahtevu korisnika i sa httpd kako bi vratila kljucne informacije browseru.
Tim putem ce se preracuni voditi "u toku", odmah u nizu po principu LILO, a ne svi na cekanju pa odjednom kad se aktivira cron udri :D
Tada se igra odigrava na serveru, sto je mnogo sigurnije po pitanju varanja od onog tipa kad bi se neki preracuni vrsili kod igraca, pa naknadno uporedjivali sa serverom.
Nista ne dobijate, samo gubitak prilikom komunikacije :)

Preracune odradis kao sto je reko valjan.
Npr, spremate odbranu a napad stize za 1h. Kako se koja stavka dodatno izgradi, samo dodate koeficijent odbrane date figure na vec sracunat rezultat.
Isto tako i kad 5 igraca napadnu jednog, samo sto ce se racun voditi u nekoliko koraka koji ce zavisiti od vremena dospeca vojske i koeficijenata aktivnih figura.
Ostalo je sminka JS/AJAX :D
Potpis
LOL
Re: Travian - Kako oni to rade? 07.10.2011. u 11:10 · pre 183 meseca #22
Zato što će sve što uključuje "upit ka bazi svaki sekund" zakucati pre ili kasnije. Zato se uvek između baze i demona postavlja neki red u koji se podaci povuku svaki minut ili ređe. Čak ni tada, ništa se ne izračunava svake sekunde već samo po bitnom događaju kako je već u temi više puta rečeno, i kako si i ti naveo.

Što se resursa tiče, opet imaš račun ono što je bilo + ostvareno u proteklih n sati po formuli toliko/min. Kada dođe do nadogradnje, ostvareno se doda na ono što je bilo i udri dalje. Jednom dnevno se takođe sav račun zapiše kako se ne bi stalno računalo.
Potpis
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
Re: Travian - Kako oni to rade? 07.10.2011. u 12:21 · pre 183 meseca #23
Iako ne izgleda tako, igra ovog tipa je u stvari jedan specijalizovani knjigovodstveni program. :-) Sve sto treba da uradis je da samo evidentiras stanja u "magacinu", belezis promene, i obracunavas iznose na dan dospeca :-) Kad krenes da posmatras igru na taj nacin, mnogo toga postaje lako :-) Sve ostalo je sminka...
Re: Travian - Kako oni to rade? 07.10.2011. u 15:17 · pre 183 meseca #24
Gorane mislio sam na pristizanje informacija u realnom vremenu i sortiranje pred izvrsenje kao sto sam napisao, po LILO (last in last out) principu.
Tipa, posaljem zahtev za izgradnju necega, npr radnika. Primi je neki "sorter" i ubaci me u red za cekanje. Ispred mene su 1000 drugih radnji. Docekam svoj red i sorter je prosledi daemonu na izvrsenje. Po meni mnogo elegantnije resenje od recimo crona koji ce u trenutku izbaciti npr 60 000 zahteva i doci do zagusenja dok ne odradi sve to, a onda ukoliko zavrsi ranije da kulira nezaposlen do sledeceg zagusenja.
Potpis
LOL
Re: Travian - Kako oni to rade? 07.10.2011. u 16:59 · pre 183 meseca #25
Princip sa obradom i upisivanjem informacije onoga trenutka kada korisnik izda naredbu za napad i onda potom preracunavanje
svakog puta kada se nesto novo desi je po mom misljenju najbolji i najelegantniji. Dakle kad se nesto desi, izracunaj, upisi u bazu i miruj
dok se nesto novo ne dogodi.

Cronjob nije nikakvo rjesenje osim za recimo da pokrene query da svim igracima doda resurse koje zaradjuju po minuti ili recimo
da u tacno odredjenom trenutku osvjezi statistike.
Potpis
SasaKaranovic.com ~
YouTube ~
Twitter
Re: Travian - Kako oni to rade? 17.04.2012. u 16:09 · pre 177 meseci #26
Imam pitanje isto u vezi browser igrica pa da ne otvaram novu temu pišem na ovoj.

Naime u Travianu imamo resurse koji imaju promenljivu brzinu dodavanja(u zavisnosti od nivoa građevina koje prave resurse). I sada, ako se korisnik uloguje drugi put kako da php obračuna koliko je resursa zaradio ako nije bio online između prvog i drugog prijavljivanja? Razmišljao sam na ovu temu pa sam smislio da prilikom prvog prijavljivanja upiše vreme prijavljivanja u bazu. Prilikom drugog prijavljivanja bi se oduzelo vreme prvog prijavljivanja od vremena prvog prijavljivanja. Pa bi se dobijeno vreme pomnožilo sa brzinom koja je bila u međuvremenu. Ne znam koliko je ovo rešenje ispravno jer na igrici Ikariam daju automatsko ažuriranje resursa tj. koriste Ajax. Ako bih koristio ajax kako bih odradio deo sa live ažuriranjem podataka o resursima?
Potpis
http://mltutorijali.com
Tema je zaključana, nove poruke nisu moguće.

Premeštanje teme