Emporea forum
http://forum.emporea.org/

Mechanika pohybu armády a rýchlosti
http://forum.emporea.org/viewtopic.php?f=53&t=1873
Page 1 of 1

Author:  iddqd [ Wed May 21, 2014 9:50 am ]
Post subject:  Mechanika pohybu armády a rýchlosti

Dnes si ukážeme ako sa presne počíta čas presunu armády. (...a tiež zoznam všeobecných vplyvov pre tých, ktorých nezaujímajú presné čísla a vzorce.)

  • Všetky herné jednotky majú rovnaký základ rýchlosti pohybu.
  • Jediné čo dokáže urýchliť ich pohyb sú artefakty, elixír a hrdinove zručnosti. (Nezabudnite, že všetko musí byť aktívne PRED odoslaním - nemá zmysel ich aktivovať, keď už sú jednotky na ceste.)
  • Čím väčšia je vzdialenosť k cieľu, tým väčší vplyv budú mať vaše bonusy na rýchlosť.
  • Po odoslaní, môžete svoju armádu stiahnuť LEN DO polovice ich času presunu k cieľu.


čas presunu = základný predvolený čas + ((vzdialenosť^ cestovný koeficient) x predvolený čas pre políčko / rýchlosť armády)*

základný predvolený čas = vždy 10 sekúnd (konštantný)
- to znamená, že vaša armádu bude vždy cestovať aspoň 10 sekúnd a viac
predvolený čas pre políčko = 40 sekúnd (konštantný)

To znamená, že sú len 2 premenné: rýchlosť armády a vzdialenosť cieľa. Poďme sa na ne pozrieť bližšie.

1) rýchlosť armády

rýchlosť armády = 20 v predvolenom nastavení, plus % bonusov z (hrdinových zručností + elixíru rýchlosti + artefaktov).


2) vzdialenosť cieľa

Teraz to bude trochu škaredé. (Len trochu)
Normálne môžete počítať vzdialenosť (kdekoľvek, nie len v Emporey) takto:

východiskové súradnice [x1, y1]
cieľové súradnice [x2, y2]

vzdialenosť = √(|x2-x1|^2+|y2-y1|^2)

Ale svety Emporea sú cyklické, nemajú začiatok a koniec, žiadne "hranice". Vo svete 500 x 500 políčok sú miesta [0,0] a [499,499] v skutočnosti vedľa seba. (Namiesto toho aby boli najvzdialenejšími bodmi). Armády vždy zvolia najkratšiu cestu medzi dvoma bodmi. Takže vzorec vzdialenosti pre Emporeu je:

vzdialenosť = √((min (|x2-x1|, 500 -|x2-x1|))^2+ (min (|y2-y1|, 500 -|y2-y1|))^2)


-----

Príklad:

10. level zručnosti "Hľadanie ciest" = + 40 %
1. level elixíru rýchlosti = + 20 %
4. level artefaktu "Luk obratnosti" = + 20 %
východiskové súradnice [17,490]
cieľové súradnice [262, 220]


rýchlosť armády = 20 + (40 % + 20 % + 20 %)
rýchlosť armády = 36

vzdialenosť = √((min (|262 - 17|, 500 -|262 - 17|))^2+ (min (|220 - 490|, 500 -|220 - 490|))^2)
vzdialenosť = √((min (245, 255))^2+ (min (270, 230))^2)
vzdialenosť = √(245^2+ 230^2)
vzdialenosť = √(60025 + 52900)
vzdialenosť = √ 112925
vzdialenosť = 336

Teraz sú naše dve premenné pripravené, vráťme sa k hlavnému vzorcu:

čas presunu = základný predvolený čas + ((vzdialenosť^ cestovný koeficient) x prevolený čas pre políčko / rýchlosť armády)
čas presunu = 10 + (336 x 40 / 36)
čas presunu = 10 + (336 x 1,11)
čas presunu = 10 + 373
čas presunu = 383 sekúnd = 6 minút a 23 sekúnd

(Bez bonusov na rýchlosť, len s predvolenou rýchlosťou armády 10 bude čas presunu 671 sekúnd, takže okolo 11 minút)

Teraz by v hre mohol niekto simulovať tento príklad, či nie je nejaká chyba vo výpočtoch...
:lol:

Pýtajte sa ak máte nejaké pripomienky, alebo otázky k tejto téme! :)

-----
*poznámka: a^b = a k sile b

Page 1 of 1 All times are UTC
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/