![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 129 Pomógł: 2 Dołączył: 17.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Ostatnio zzzacząłem grać w Ogame.pl i oczywiscie chyba jak kazdy programista zacząłem analizowac jak to działa. Najbardzije zastanowiła mnie kwestia zwiększania liczby surowców co sekunde. Myślałem że może dałoby sie wykonac taki skrypt przez AJAX'a, tylko jak to miałoby sie do bezpieczeństwa strony. Następnie zastanawiałem sie nad CRON'em ale to byłoby niezbyt delikatne rozwiązanie. Dlatego bardzo mnie męczy jak programiści GameForge poradzili sobie z dynamicznym zwiększaniem liczby surowca dla kilku tysiecy użytkowników naraz nie tracąc przy tym na bezpieczenstwie.
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
A moze baza posiada swoj licznik zwiekszany do kilka minut, ew. przeliczany w momencie zakupu budowli z dokladnosci co do sekundy, a u usera jest tylko 'dummy counter', naliczajacy surowne z podobna predkoscia ale nie majacy zadnego wplywu na gre.
Powiedzmy surowce sa naliczane co godzine. Wlasnie teraz. Po 10ciu sekundach kupujesz Costam. Baza nalicza ci surowcow za 10sekund = X i sprawdza czy mozesz kupic, itd. A w ciagu tych 10sekund licznik u usera wzrosl o X. Tylko to komplikuje sprawe przy cogodzinnym updacie bazy -- bo czesci userom juz zostala naliczona pewna ilosc surowca. Ale 50 nowych if() ow powinno wystarczyc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Tylko zgaduje bo nie sprawdzalem. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 2.10.2025 - 21:18 |