Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> zwiększanie wartości w bazie wg. czasu
Luke_Star
post
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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dr_bonzo
post
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.
Go to the top of the page
+Quote Post
Luke_Star
post
Post #3





Grupa: Zarejestrowani
Postów: 129
Pomógł: 2
Dołączył: 17.01.2005

Ostrzeżenie: (0%)
-----


Cytat(dr_bonzo @ 13.01.2007, 13:03:16 ) *
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.


Tylko że problem polega na tym że baz amsuiałaby sie edytowac co sekunde a tym samym zwiekszac wartość na podstawie np wydobycia. A w takim wypadku baza nei za bardzo wystarczy. To strasznie skomplikowane :/
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 2.10.2025 - 17:09