Zadejte hledaný výraz...
Jakub Glos
Webtrh.cz
Vývoj webových stránek na WordPressu a proklientský přístup pro freelancery
Třídenní infromacemi nabitý prezenční + online kurz v Praze od Webtrhu pouze za 2 871 Kč
Více informací

Tvorba online hry – pricitani surovin.

Petr Daněk
verified
rating uzivatele
(33 hodnocení)
24. 3. 2010 08:50:20
Zdravim,
podilim se na tvorbe jedne online hry, kde v soucasne dobre resim pricitani novych surovin. Vse resim tak aby to co nejmene zatezovalo server, takze suroviny se "pricitaji" javascriptem a teprve kdyz uzivatel provede nejakou akci, ktera ma za nasledek zmenu surovin, tak se udela prepocet techto surovin. U standardnich surovin jako drevo, kamen atd. to neni problem, protoze je tam konstantni prirustek, ale ted resim problem s obilim, nejlepe to asi ukazu na situaci:
v 00:00 v noci mam na sklade 120 obili, odhlasim se, rano v 8:00 se prihlasim - po prihlaseni musi byt proveden dopocet surovin. Pokud se v noci nevyrobi zadny vojak, tak to neni problem (pripocte se 8*120), ale jak to udelat, kdyz v 00:00 dam vyrobit 50 vojaku, kteri budou postupne pribyvat v prubehu noci? Tzn. za noc se bude spotreba obili postupne zvysovat, takze rano nemuzu pridat konstantni prirustek.
Mate nekdo zkusenost s online hrami, nebo napada vas nejake reseni?
Dekuji, P.
24. 3. 2010 08:50:20
https://webtrh.cz/diskuse/tvorba-online-hry-pricitani-surovin/#reply479719
Yess
verified
rating uzivatele
24. 3. 2010 09:00:46
Produkce 120/h. Dobu, kdy se ti vyrobí voják(sníží produkce obilí), znáš. Btw tohle asi dost dobře nemůžeš řešit po hodinách, ale po sekundách.
24. 3. 2010 09:00:46
https://webtrh.cz/diskuse/tvorba-online-hry-pricitani-surovin/#reply479718
Petr Daněk
verified
rating uzivatele
(33 hodnocení)
24. 3. 2010 09:12:35
Jasne to znam, ale to bych musel v cronu spoustet kazdou minutu script, ktery to prepocita, pro velke mnozstvi hracu to bude narocne.
Napsal Yess;483106
Produkce 120/h. Dobu, kdy se ti vyrobí voják(sníží produkce obilí), znáš. Btw tohle asi dost dobře nemůžeš řešit po hodinách, ale po sekundách.
24. 3. 2010 09:12:35
https://webtrh.cz/diskuse/tvorba-online-hry-pricitani-surovin/#reply479717
Yess
verified
rating uzivatele
24. 3. 2010 09:20:53
Tomu se ale pravděpodobně nevyhneš, pokud budeš řešit mínusovou produkci a následné umírání jednotek apod.
24. 3. 2010 09:20:53
https://webtrh.cz/diskuse/tvorba-online-hry-pricitani-surovin/#reply479716
Doporucuji prepocet prave pri prihlaseni. Protoze neni pravdepodobne, ze se vsichni prihlasi najednou, tak se zatez hezky rozlozi.
24. 3. 2010 09:22:05
https://webtrh.cz/diskuse/tvorba-online-hry-pricitani-surovin/#reply479715
Petr Daněk
verified
rating uzivatele
(33 hodnocení)
24. 3. 2010 09:23:13
Napsal Martis78;483115
Doporucuji prepocet prave pri prihlaseni. Protoze neni pravdepodobne, ze se vsichni prihlasi najednou, tak se zatez hezky rozlozi.
Ano, ja to chci udelat pri prihlaseni, jenze prave nevim jak to cele dopocitat za to obdobi co nebyl prihlaseny.
24. 3. 2010 09:23:13
https://webtrh.cz/diskuse/tvorba-online-hry-pricitani-surovin/#reply479714
Yess
verified
rating uzivatele
24. 3. 2010 09:24:44
Napsal Martis78;483115
Doporucuji prepocet prave pri prihlaseni. Protoze neni pravdepodobne, ze se vsichni prihlasi najednou, tak se zatez hezky rozlozi.
To taky není úplně pravda, vem si pád serveru, nebo nějaké ty údržby, kdy online hráči čekají a refreshují... ty přepočty stejně musí jít do fronty.
24. 3. 2010 09:24:44
https://webtrh.cz/diskuse/tvorba-online-hry-pricitani-surovin/#reply479713
...
verified
rating uzivatele
(3 hodnocení)
24. 3. 2010 09:27:20
obilí = obilí na skladě + ((přírustek obilí za minutu * počet minut od poslední aktivity)-(spotřeba vojaku za minutu * počet minut od poslední aktivity))
ovšem problém bude ten, že pro ostatní hráče bude stav obilí daného hráče roven stále stejnému počtu jako při jeho poslední aktivitě, takže se to bude muset přepočítat vždy s jakoukoliv aktivitou spojenou s daným hráčem pro dosažení korektního stavu surovin a jednotek
24. 3. 2010 09:27:20
https://webtrh.cz/diskuse/tvorba-online-hry-pricitani-surovin/#reply479712
Petr Daněk
verified
rating uzivatele
(33 hodnocení)
24. 3. 2010 09:34:41
Napsal d.i.z.z.y;483123
obilí = obilí na skladě + ((přírustek obilí za minutu * počet minut od poslední aktivity)-(spotřeba vojaku za minutu * počet minut od poslední aktivity))
ovšem problém bude ten, že pro ostatní hráče bude stav obilí daného hráče roven stále stejnému počtu jako při jeho poslední aktivitě, takže se to bude muset přepočítat vždy s jakoukoliv aktivitou spojenou s daným hráčem pro dosažení korektního stavu surovin a jednotek
Jasne, ale kdyz to chci prepocitat az po prihlaseni, nebo po akci primo souvisejici s danym uzivatelem (jde na nej utok treba), tak se bude spotreba vojaku za minutu v prubehu menit, takze bych to stejne musel pocitat cronem kazdou minutu. Me jen zajima jestli neni nejake jine reseni, nebo jestli to napr. travian dela taky cronem.
24. 3. 2010 09:34:41
https://webtrh.cz/diskuse/tvorba-online-hry-pricitani-surovin/#reply479711
duben
verified
rating uzivatele
(50 hodnocení)
24. 3. 2010 11:22:00
Udelej CRON, res to na urovni databaze, uvazuj mnozinove a relacne nikoliv programatorsky na urovni vlakna pro kazdeho cloveka a zatez nebude rust ani exponencialne, ani linearne ale vyrazne pomaleji, pri spravne indexovani mozna logaritmicky. Jsou to odhady, necekej po me podlozeni vypocty, ale jestli 1 SQL dotaz zpracovava 100 radku nebo 10000 pri spravne optimalizaci DB a vhodnych indexech neni skoro rozdil.
24. 3. 2010 11:22:00
https://webtrh.cz/diskuse/tvorba-online-hry-pricitani-surovin/#reply479710
Petr Daněk
verified
rating uzivatele
(33 hodnocení)
24. 3. 2010 13:16:20
Napsal duben;483191
Udelej CRON, res to na urovni databaze, uvazuj mnozinove a relacne nikoliv programatorsky na urovni vlakna pro kazdeho cloveka a zatez nebude rust ani exponencialne, ani linearne ale vyrazne pomaleji, pri spravne indexovani mozna logaritmicky. Jsou to odhady, necekej po me podlozeni vypocty, ale jestli 1 SQL dotaz zpracovava 100 radku nebo 10000 pri spravne optimalizaci DB a vhodnych indexech neni skoro rozdil.
Diky za nazor, konecne neco poradneho. Premyslel sem o vetsim vyuziti relaci:
cron by jen spoustel prepocitani uzivatelu (stavu vojska...) v zavislosti na tom by byla relace ON UPDATE kde by se upravily suroviny.
24. 3. 2010 13:16:20
https://webtrh.cz/diskuse/tvorba-online-hry-pricitani-surovin/#reply479709
Pro odpověď se přihlašte.
Přihlásit