On 15 Maj, 13:51, orcus znajomy kieyds popelnil taka gre(miala kilka tysiecy zawodnikow) i zdecydowal sie na aktualizacje on-request i pomiedzy 3 i 4 w nocy. Nie wiem jak w Twoim wypadku ale w jego trwala ok 25 minut i w tych godzinach(3-4) swiat gry zamieral i wywalal wszytkich userow.
No to niezle dales mi do myslenia. Mysle ze im czesciej bylaby taka aktualizacja tym szybciej by sie wykonala ale w srodku dnia zamarcie gry na wszystko ponad minute jest nie do przyjecia :/ dlatego wlasnie wprowadzil taka zasade i wszyscy gracze byli na starcie o niej informowani. A dlatego az godzina zeby sie nie okazalo ze po jakims czasie ilosc danych sie zwiekszy i przekroczy ta godzine.
Ale on to mial jakos fajnie rozwiazane i wprowadzil 23 godzinna dobe. Tylko ze to byla gra z niepelna informacja(wynikajaca z zalozen a nie z ograniczania funkcjonalnosci) i takich requestow dotyczacych innych uzytkownikow bylo niewiele.
Odświeżanie stanu bazy
zalogowany to nie ma problemu z czyms takim (to juz gotowe) natomiast problem pojawia sie jak użytkownik nie jest zalogowany. Narazie jedyne wyjscie jakie widze to cron ustawiony co jedna minute i wprowadzający uaktualnienia. Dlatego jestem ciekaw czy może ktoś wie jak coś takiego realizowane jest w takich gierach jak ogame albo travian? Ale wy wszyscy kombinujecie z tą bazą danych
Jakbym miał stworzyć tego typu grę, to zacząłbym od napisania osobnej aplikacji która zarządza cała logiką gry i trzyma to wszystko _w pamięci_. Zmiany zaś zapisuje w odpowiednich momentach na wypadek awarii.
W ten sposób odpada nam problem zarzynania bazy, wymyślania dziwnych struktur tabel i spadku wydajności. I wszystkie dane dostepne są natychmiast.
Dnia 15 May -, michael12n :
zalogowany to nie ma problemu z czyms takim (to juz gotowe) natomiast problem pojawia sie jak użytkownik nie jest zalogowany. Narazie jedyne wyjscie jakie widze to cron ustawiony co jedna minute i wprowadzający uaktualnienia. Dlatego jestem ciekaw czy może ktoś wie jak coś takiego realizowane jest w takich gierach jak ogame albo travian?
Ale wy wszyscy kombinujecie z tą bazą danych
Jakbym miał stworzyć tego typu grę, to zacząłbym od napisania osobnej aplikacji która zarządza cała logiką gry i trzyma to wszystko _w pamięci_. Zmiany zaś zapisuje w odpowiednich momentach na wypadek awarii.
W ten sposób odpada nam problem zarzynania bazy, wymyślania dziwnych struktur tabel i spadku wydajności. I wszystkie dane dostepne są natychmiast.
Borys Pogoreło
i wlasnie tak dzialaja systemy aukcyjne :)
c.
Borys Pogoreło Dnia 15 May -, michael12n :
Ale wy wszyscy kombinujecie z tą bazą danych
Jakbym miał stworzyć tego typu grę, to zacząłbym od napisania osobnej aplikacji która zarządza cała logiką gry i trzyma to wszystko _w pamięci_. Zmiany zaś zapisuje w odpowiednich momentach na wypadek awarii.
W ten sposób odpada nam problem zarzynania bazy, wymyślania dziwnych struktur tabel i spadku wydajności. I wszystkie dane dostepne są natychmiast. Właśnie kolego wynalazłeś kołHHH serwer aplikacyjny. Rzecz dostępna w wielu innych językach. Z przykrością informuję że tu nie.