Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SQL][PHP]Własna gra przeglądarkowa, Jak się do tego zabrać
Tho
post 11.10.2011, 15:35:59
Post #1





Grupa: Zarejestrowani
Postów: 155
Pomógł: 0
Dołączył: 26.07.2011

Ostrzeżenie: (20%)
X----


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?

Ten post edytował Tho 11.10.2011, 14:52:31
Go to the top of the page
+Quote Post
Mackos
post 11.10.2011, 15:41:31
Post #2





Grupa: Zarejestrowani
Postów: 362
Pomógł: 44
Dołączył: 10.06.2009

Ostrzeżenie: (0%)
-----


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.


--------------------
WebLemon.pl - projektowanie stron www, reklama i PR w internecie - Adwords, Facebook.
Go to the top of the page
+Quote Post
Tho
post 11.10.2011, 15:48:07
Post #3





Grupa: Zarejestrowani
Postów: 155
Pomógł: 0
Dołączył: 26.07.2011

Ostrzeżenie: (20%)
X----


Więc jakie skrypty polecasz? wink.gif
Go to the top of the page
+Quote Post
Konop857
post 11.10.2011, 16:33:12
Post #4





Grupa: Zarejestrowani
Postów: 81
Pomógł: 2
Dołączył: 4.05.2011

Ostrzeżenie: (10%)
X----


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
Go to the top of the page
+Quote Post
brec
post 11.10.2011, 16:52:13
Post #5





Grupa: Zarejestrowani
Postów: 9
Pomógł: 1
Dołączył: 10.10.2011

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
Tho
post 11.10.2011, 20:35:09
Post #6





Grupa: Zarejestrowani
Postów: 155
Pomógł: 0
Dołączył: 26.07.2011

Ostrzeżenie: (20%)
X----


Cytat(brec @ 11.10.2011, 17:52:13 ) *
Są serwisy gdzie można kupić gotowe silniki gier


Podasz podać przykłady takich sklepów?
Go to the top of the page
+Quote Post
Twist
post 11.10.2011, 21:02:11
Post #7





Grupa: Zarejestrowani
Postów: 174
Pomógł: 11
Dołączył: 12.10.2008
Skąd: Dublin

Ostrzeżenie: (0%)
-----


Vallheru, Santic Engine, Ugamella, Devana, Xnova
Go to the top of the page
+Quote Post
brec
post 11.10.2011, 21:08:03
Post #8





Grupa: Zarejestrowani
Postów: 9
Pomógł: 1
Dołączył: 10.10.2011

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
blooregard
post 11.10.2011, 21:28:36
Post #9


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




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.


--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post
Damonsson
post 11.10.2011, 22:05:52
Post #10





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
superhorse
post 12.10.2011, 00:22:04
Post #11





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 11.10.2011

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
Damonsson
post 12.10.2011, 01:53:10
Post #12





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


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.

Ten post edytował Damonsson 12.10.2011, 02:00:03
Go to the top of the page
+Quote Post
konrados
post 12.10.2011, 09:47:24
Post #13





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

Ostrzeżenie: (0%)
-----


@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.
Go to the top of the page
+Quote Post
Damonsson
post 12.10.2011, 19:48:42
Post #14





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
konrados
post 13.10.2011, 07:25:24
Post #15





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

Ostrzeżenie: (0%)
-----


@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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 12.04.2025 - 04:00