[PHP] Programowanie gier

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
piaggio
Posty: 1
Rejestracja: pn lis 09, 2009 1:00 pm

[PHP] Programowanie gier

Post autor: piaggio »

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.
SzamanGN
Nowy
Nowy
Posty: 92
Rejestracja: pn lis 27, 2006 3:28 pm
Kontakt:

Re: [PHP] Programowanie gier

Post autor: SzamanGN »

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!
szczypior
Nowy
Nowy
Posty: 46
Rejestracja: pn lut 26, 2007 1:38 pm
Kontakt:

Re: [PHP] Programowanie gier

Post autor: szczypior »

Ja bym po prostu użył CRON'a, wywołującego odpowiednie skrypty.
SzamanGN
Nowy
Nowy
Posty: 92
Rejestracja: pn lis 27, 2006 3:28 pm
Kontakt:

Re: [PHP] Programowanie gier

Post autor: SzamanGN »

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.
ODPOWIEDZ