![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 0 Dołączył: 17.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Jeśli taki temat już był, to proszę, podajcie mi linka. A więc: Chce stworzyć grę internetową w php, typu OGame itd.. Gra była by rozbudowana, i dlatego chciałbym aby była łatwo rozszerzana, wykorzystam oczywiście szablony i pliki językowe..., oraz będzie napisana obiektowo. Chciałbym abyście przedstawili inne, lepsze rozwiązania : Cytat A) Jakbyście zapisali ustawienia użytkownika typu np: avatar, czy domyślne ustawienia wojska? Dobrym rozwiązaniem byłoby dodawanie kolumn do tabeli użytkowników i/lub inna tabela z domyślnymi ustawieniami? Cytat B ) Umieszczanie możliwych do budowy budynków, posiadania wojska? Lepszym rozwiązaniem byłoby stworzenie jednej tabeli z kolumnami właściwości, czy inna tabela dla każdego typu? Cytat B.a)Oraz do tego wymagania? Ja to widze tak: do każdej tabeli dodaje kolumny. Cytat C) Umieszczanie w tabeli posiadane a) budynki Lepiej stworzyć nową tabele, czy dodać kolumny do tabeli użytkownika? b ) wojsko Czy optymalne jest umieszczanie każdej jednostki w nowym wierszu? Cytat D) Kopalnie które dodają coś nam co sekunde? Może to być także złudzenie, a surowce dodawane były by przy interakcjii z użytkownikiem. Wyczytałem że odpalanie skryptu co sekunde jest mało optymalne (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Cytat D.a) Wykonywanie akcjii niezależnie od aktywności użytkownika? Powiedzmy że user buduje kopalnie która powstanie za 2.5h Czy zrobienie tego sposobem jak wyżej, przy czym są pewne priorytety, czyt. obliczane są surowce wyprodukowane przez kopalnie, do momentu ataku przeciwnika, po czym są dalej liczone, lub poprostu w momencie ataku przeliczane są sorowce na czas ataku, jest dobre? Mam nadzieje że podchodzi pod pro (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) . Z góry dzięki za odpowiedzi Ten post edytował matrach 7.07.2006, 14:32:33 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 158 Pomógł: 0 Dołączył: 29.06.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
1. pętla wykonująca się w nieskończoność np.
2. Skrypt wywoływany cronem co np. 5 sekund który sprawdza czy akcja powinna się wykonać Niezly sposob na zarzniecie maszyny (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) @Matrach: popieram zdanie poprzednikow, jezeli masz takie problemy juz na etapie projektowania, to moze lepiej daruj sobie ten skrypt, napisz cos prostszego prosty CMS, lub Forum. postaram sie krotko odpowiedziec jak ja to widze: Ad. A) serializacja odpada, trzeba byc konsekwentnym, jesli trzymasz dane w bazie to trzymaj tam wszystkie (czyt. wiekszosc), ulatwi to m.in. wyszukiwanie Ad. B ) zalezy jakich umiejetnosci Ad. Ca) tak, kolumny w tabeli: np. id | budynek | wymagania_zlota | wymagania_drewna | wymagania_srebra Ad. D) ja bym to rozwiazal tak: tabela: budynki_uzytkownika id_uzytkownika | id_budynku | procent_budowy Ad. E) F) crona bym nie radzil uzywac w tym przypadku ilosc danych jakie kopalnia nam dala, nie musi byc dla nas znana co sekunde, wystarczy te dane obliczac w momencie zadania pokazania danej wartosci np. mamy kopalnie ktora daje nam 1 zloto co 5 sekund przed zamknieciem przegladarki mieliscmy powiedzmy 120 zlota po co mamy na darmo uruchamiac co 5 sekund zapytanie do bazy i aktualizowac dane, wystarczy w momencie wejscia uzytkownika do serwisu (np. po uplywie 2 godzin) obliczyc i wyswietlic aktualna ilosc zlota. w tym celu potrzebne bedzie zapisywanie daty wyjscia uzytkownika z serwisu, a nastepnie obliczenie czasu nieobecnosci usera (czas_powrotu-czas_wyjscia) podzielenie tego przez 5 (5 sekund, bo co tyle dostajemy 1 zlota) i aktualizacja zawartosci zlota w tabeli uzytkownika (120 zlota + obliczona wartosc) chyba to jest logiczne, ale nie w kazdym przypadku sie sprawdzi. Przypuscmy, ze budujemy jakas budowle, ktora ma zwiekszyc wydobycie zlota z 1 grudki na 2 grudki co 5 sekund. Wtedy w momencie zakonczenia budowy trzeba by uruchomic przez crona funkcje, ktora zwiekszy nam liczbe grudek wydobywanych przez dana kopalnie i zapisze czas w ktorym ta zmiana nastapila, lub jak kto woli nie trywialne rozwiazania - obliczyc to w momencie powrotu uzytkownika, ale konieczne bedzie uwzglednie tego momentu zmiany (zakonczenia budowy). Przyznam sie, ze nie pisalem nigdy gry internetowej, ale z powyzszych rozwiazan bym chyba korzystal. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 06:59 |