Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL][PHP]Własna gra przeglądarkowa
Forum PHP.pl > Forum > Przedszkole
Tho
Czy są jakieś strony które "generują" grę według moich potrzeb i wystawiają mi skrypt do wstawienia na serwerze? Co muszę wiedizeć by samemu stworzyć taki skrypt?

Czy są jakieś biblioteki, które mi to ułatwią?

Czyli będzie to raczej trudne?
Mackos
Cytat
Czy są jakieś strony które "generują" grę według moich potrzeb i wystawiają mi skrypt do wstawienia na serwerze?


A czy są serwisy, które wygenerują mi kanapkę z serem ? biggrin.gif

Jest pełno gotowych skryptów pod gry przeglądarkowe, wystarczy je sensownie przekonfigurować.
Żeby stworzyć to samemu będziesz potrzebował conajmniej znajomości PHP/MySQL

Cytat
Czyli będzie to raczej trudne?

Jeśli Twoja gra to nie będzie symulacja rzutu monetą, to owszem najprostsze nie będzie.
Tho
Więc jakie skrypty polecasz? wink.gif
Konop857
Takie jakie potrzebujesz.
Jeżeli robisz grę że masz jakieś miasto czy coś to robisz odpowiednie tabelki w bazie danych, a potem na stronie skrypty rozbudowy/niszczenie czy cokolwiek tam potrzebujesz.
Gotowych skryptów nie ma, samemu trzeba pisać lecz to nie jest takie trudne jak się wydaje snitch.gif
brec
Są serwisy gdzie można kupić gotowe silniki gier viawww, nawet dość zaawansowane za kilkadziesiąt zł.
Z reguły po zakupie można je dowolnie modyfikować (w niektórych przypadkach nawet kasować stopke autora, więc w sumie nikt nie będzie wiedział że gra nie jest napisana przez Cb) ale również z reguły te kody później jest dość cieżko przerabiać. Najlepszym rozwiązaniem byłoby napisanie własnego silnika ale to wymaga znajomości PHP, MySQL, dobrym dodatkiem będzie js.
Tho
Cytat(brec @ 11.10.2011, 17:52:13 ) *
Są serwisy gdzie można kupić gotowe silniki gier


Podasz podać przykłady takich sklepów?
Twist
Vallheru, Santic Engine, Ugamella, Devana, Xnova
brec
Mam nadzieje że nie podejdzie to pod kryptoreklame:
http://gryviawww.pl
Jakiś czas temu sam kupiłem prosty silnik i go przerabiałem, ale uznałem że na aktualne czasy trzeba zrobić naprawdę 'odpicowaną' gierkę żeby miała wzięcie (strasznie duża konkurencja) a na coś takiego jeszcze brak mi umiejętności.
blooregard
Cytat(brec @ 11.10.2011, 22:08:03 ) *
Mam nadzieje że nie podejdzie to pod kryptoreklame:
http://gryviawww.pl
Jakiś czas temu sam kupiłem prosty silnik i go przerabiałem, ale uznałem że na aktualne czasy trzeba zrobić naprawdę 'odpicowaną' gierkę żeby miała wzięcie (strasznie duża konkurencja) a na coś takiego jeszcze brak mi umiejętności.


Co nie znaczy, że nie możesz spróbować, bo przy pracy nad taką grą Twoje umiejętności siłą rzeczy bardzo by wzrosły.
Damonsson
Ostatnio coś ściągałem z tamtej strony. Wszystko podatne na xss, sql injection itp., niedopracowane, pełno błędów. Ale do nauki (na jakiej zasadzie to działa, a nie jak powinno się pisać gry viawww) w sam raz, wręcz idealne, bo są bardzo prosto napisane i łatwo zrozumieć istotę na jakiej zasadzie to działa. Wydałem 10zł a zrozumiałem, więcej niż bym kupił 10 książek.

Też próbuję coś ciekawego napisać, ale póki co jestem jeszcze na etapie poznawania tajników wink.gif
Przy okazji, może zapytam co jest lepszą opcją w przypadku gdy:

Pewna akcja ma się wykonać dla 2 użytkowników raz na tydzień 20 razy, w ciągu 20 minut (1akcja = 1minuta). Po każdej 1akcji dodaje mi jakieś dane do MySQL.

Opcja 1. Cron i wywołanie tego skryptu raz na tydzień 20 razy, minuta po minucie i dodanie tych akcji w czasie rzeczywistym do bazy.

Opcja 2. Jeśli trzeba wyświetlić jakieś dane które mają swoje powiązanie z danymi z tych akcji, to wtedy dopiero wykonaj ten skrypt 20 razy, jeśli minęło ponad 20 minut od początku zdefiniowanego czasu startowego. A jeśli np akurat ktoś trafił na 15 minutę to tylko 15 razy itd.

Przy opcji nr 1 Jeżeli będę miał 2000 użytkowników, to wykonanie 1000 razy tego samego skryptu chyba może obciążyć sporo serwer, czyż nie, jednak mam pewność, że zawsze będą aktualne informacje? A w przypadku opcji nr 2 oszczędzam na tym, bo wykonuje tylko wtedy kiedy dany użytkownik chce wyświetlić dane informacje. Tylko czy opcja nr 2 będzie odpowiednia i zawsze będą aktualne dane i czy da się to odpowiednio wykonać po prostu żeby efekt z zewnątrz wyglądał tak jakby to było wykonane przy opcji nr 1? No i co, kiedy chce dać użytkownikowi możliwość ingerencji w akcję jeżeli będzie online w ciągu tych 20 minut trwania tego etapu?
superhorse
Wątpię żeby to z zewnątrz wyglądało tak jak przy opcji nr 1. Do tego zdaje mi się (ale nie jestem pewien) że będzie troszkę zamulać gra skoro to wszystko będzie się wykonywało podczas gdy jestem zalogowany, czyli defakto przy mnie.
Ale w 100 % nie jestem pewien.
Zresztą zadania cron są jedne z lepszych do samodzielnego wykonywania się skryptów, ale faktem jest że do ich wykonywania, najlepiej mieć serwer dedykowany albo resseller.
Damonsson
A ja nie wątpię w myśl zasady: skoro widziałem mojego wujka 10 lat temu i od tego czasu nie mam z nim kontaktu, a umarł 5 lat temu to ja nic o tym nie wiem i dla mnie on nadal żyje, dopóki nie będę chciał go odwiedzić bezpośrednio, albo ktoś inny się o tym nie dowie i mi o tym nie powie wink.gif. Jednak poczekam, aż wypowiedzą się mądrzejsi ode mnie, bo nie wiem czy to ma sens.

No zakładając utopijny scenariusz chciałbym, aby 100% użytkowników było na stronie ten raz w tygodniu w ciągu 20 minut, więc wtedy obciążenie serwera w scenariuszu utopijnym równoważy się dla opcji nr 1 i 2. Jednak jeżeli będzie tylko 20% osób, to mam 80% oszczędności dla reszty. A i tak muszę dać refresh 60 sekund, żeby ta zmiana była widoczna. Bo co z tego, że Cron się wykona 20 razy(20 minut), jak nie odświeżyłem strony od 3 minuty, to będę widział tylko akcje do 3 minuty, więc skoro będzie refresh przy 60 sekundzie, to od razu się załaduje funkcja. Jedynie w bazie będę miał aktualne dane. Ale na co komu aktualne dane w bazie, skoro nikt ich nie wyświetla i są z zewnątrz niewidoczne.

Cron jest wygodny, bo wszystko mam już w bazie. A tak muszę dopisywać przed każdą akcją w której będzie wyświetlony jakiś rekord z bazy który został zmodyfikowany podczas trwania akcji (a zawsze będzie modyfikowany) funkcję, która mi sprawdzi czy czas tej akcji już się powinien odbyć i jeżeli powinien się odbyć to zaktualizować dane. Tylko czy jest sens iść tym tokiem myślenia?

W przypadku podglądu zdarzenia online, sprawa jest prosta: refresh 60 sekund na stronie gdzie są wyświetlane dane i jeżeli data aktualna jest równa dacie startu wydarzenia to następuje odpalanie funkcji aż do czasu gdy funkcja została odpalona 20 razy. Dobrze myślę?

Ale co w przypadku podglądu zdarzenia które powinno być wykonane przykładowo wczoraj? W funkcji mam już zrobione, że ma przechodzić do kolejnej akcji dopiero po 1 minucie(nawet jak ktoś odświeża stronę co 5 sekund gdy jest online w trakcie zdarzenia), a kończyć się jeśli liczba minut(akcji) zdarzenia wyniosła 20. Tylko jak w takim wypadku, przyspieszyć wykonanie tego skryptu, żeby od razu po wejściu na to zdarzenie wyświetlone były dane z bazy po wykonaniu zdarzenia? No bo przecież to wydarzenie realnie powinno mieć przypisane dane z ostatniej akcji bo realnie już się zakończyło, a będą pokazane dane z 1-szej akcji, bo po wejściu na to wydarzenie funkcja wykona się jeden raz. Bo jeśli umieszczę ten sam kod, to po wejściu na zdarzenie pokażą mi się dane tylko po 1akcji, oczywiście nie muszę czekać 60sekund na pojawienie się danych po 2akcji itd. tylko klikając 20 razy odśwież w ciągu 30 sekund, ukażą mi się kolejne akcje po każdym odświeżeniu (bo data początku tego zdarzenia + 20*60 sekund jest mniejsze od aktualnej daty i nie blokuję tego odstępu 60 sekund), ale to jest strasznie złe, przecież nikt nie będzie klikał 20 razy F5, żeby zobaczyć końcowy efekt zdarzenia. Powinno być tak, że po wejściu na to zdarzenie, wyświetlają się dane końcowe (po 20 akcji/minucie). Tylko jak? Pętla? Jak dam pętlę która zawsze ma się wykonać 20 razy po wejściu na już zakończone zdarzenie, to znowu obciążę serwer.
konrados
@blooregard @Damonsson

A czy istnieją jakieś darmowe rozwiązania? Nawet najprostsze, ale tak by się poduczyć tworzenia bardziej zaawansowanych aplikacji js?

Nie mam zamiaru tworzyć żadnych gier, ale interesuje mnie właśnie jak one są zrobione, bo mam parę pytań dotyczących aplikacji webowych gdzie mamy setki różnych akcji, dziesiątki okien dialogowych etc.
Damonsson
http://forum.mmocenter.pl/f4-dzial-tworzenia-gier/

tutaj masz pełno silników, sprawdzałem parę kiedyś i są delikatnie mówiąc słabe, ale do nauki w sam raz myślę.

JS? To tam za dużo nie ma i chyba nie powinno być, bo wykonując cokolwiek po stronie przeglądarki, wzrasta szansa na ingerencję użytkownika (jeśli się mylę, sprowadźcie mnie na ziemię). Jedynie do "zobrazowania" czegoś np odliczanie czasu do jakiejś akcji czy coś takiego.
konrados
@Damonsson, dzięki, nigdy właściwie nie grałem w żadną grę przeglądarkową z wyjątkiem takich prostych (bez mmo). Wydawało mi się tylko, że jest tam bardzo dużo js smile.gif

W takim razie swoje pytania dot. zaawansowanych aplikacji js zadam w innym wątku.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.