Cześć.
Ostatnio zainteresowałem się zrobieniem własnej gry opartej na PHP, coś w stylu Plemion albo Ikariama. Chciałem się Was zapytać, w jaki sposób zrealizować to, że dane automatycznie aktualizują się po wyjściu z konta (np. budujemy domek, wychodzimy z konta, a za dwie godziny bez konieczności wejścia na konto, czyli uruchomieniu jakiegoś konkretnego skryptu PHP przez gracza, dane automatycznie aktualizują się i zapisują gotowy domek). Jest to do zrobienia za pomocą samego PHP? Czy trzeba napisać program uruchamiany na serwerze, który będzie co jakiś czas aktualizował dane wszystkich niezalogowanych użytkowników?
Drugie pytanie, czy mieliście styczność z książką "PHP. Programowanie gier" (autor: Matt Rutledge). Jeśli tak to czy jest warta polecenia?
Pozdrawiam i dzięki za pomoc.
[PHP] Programowanie gier
Re: [PHP] Programowanie gier
Odp 1:
Automatyczna aktualizacja danych w grze po wylogowaniu się - ja bym zrobił tak:
1. Ustaliłbym jakie dane należy przy jakich warunkach aktualizować, np.:
1.1. Przy wybraniu dowolnej akcji gry - naliczanie zasobów.
1.2. Przy wybraniu akcji POJEDYNEK - ustalenie współczynników atakującego i broniącego się, określić wynik pojedynku, ustalić aktualne stany wszystkich parametrów graczy (przekalkulować straty, zyski, zaktualizować współczynniki doświadczenia, życia, itp.).
1.3. I tak dalej.
1.n. Jeżeli gracz loguje się - aktualizacja wszystkich parametrów.
Im więcej ustalisz/przewidzisz warunków, tym łatwiej zapanujesz nad aktualizacjami parametrów.
To na początek!
Automatyczna aktualizacja danych w grze po wylogowaniu się - ja bym zrobił tak:
1. Ustaliłbym jakie dane należy przy jakich warunkach aktualizować, np.:
1.1. Przy wybraniu dowolnej akcji gry - naliczanie zasobów.
1.2. Przy wybraniu akcji POJEDYNEK - ustalenie współczynników atakującego i broniącego się, określić wynik pojedynku, ustalić aktualne stany wszystkich parametrów graczy (przekalkulować straty, zyski, zaktualizować współczynniki doświadczenia, życia, itp.).
1.3. I tak dalej.
1.n. Jeżeli gracz loguje się - aktualizacja wszystkich parametrów.
Im więcej ustalisz/przewidzisz warunków, tym łatwiej zapanujesz nad aktualizacjami parametrów.
To na początek!
Re: [PHP] Programowanie gier
Ja bym po prostu użył CRON'a, wywołującego odpowiednie skrypty.
Re: [PHP] Programowanie gier
Jeżeli chodzi o CRONa, to:
1. Jedna operacja na bazie danych, to z reguły kilka zapytań, dla ułatwienia analizy załorzymy, że jest ich 3.
2. Jeżeli jest duża ilość graczy, to jeżeli wykonasz zadanie CRONem jeden raz na godzinę i masz 1000 zarejestrowanych graczy, to masz: 24 x 1 x 3 x 1000 = 72000 dodatkowych zapytań do bazy danych.
3. Jeżeli gracz nie będzie się logował przez kilka dni (np.: 5), to zostanie wykonane niepotrzebnie 24 x 5 x 3= 360 zapytań do bazy danych.
Oczywiście, to tylko moje przemyślenia, bo ja staram się wyeliminować niepotrzebne operacje na bazie danych (ogranicza to obciążenie bazy danych), co przyśpiesza pracę z bazą danych.
1. Jedna operacja na bazie danych, to z reguły kilka zapytań, dla ułatwienia analizy załorzymy, że jest ich 3.
2. Jeżeli jest duża ilość graczy, to jeżeli wykonasz zadanie CRONem jeden raz na godzinę i masz 1000 zarejestrowanych graczy, to masz: 24 x 1 x 3 x 1000 = 72000 dodatkowych zapytań do bazy danych.
3. Jeżeli gracz nie będzie się logował przez kilka dni (np.: 5), to zostanie wykonane niepotrzebnie 24 x 5 x 3= 360 zapytań do bazy danych.
Oczywiście, to tylko moje przemyślenia, bo ja staram się wyeliminować niepotrzebne operacje na bazie danych (ogranicza to obciążenie bazy danych), co przyśpiesza pracę z bazą danych.
