Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

4 Stron V   1 2 3 > »   
Reply to this topicStart new topic
> Gra internetowa w php
Modgar
post 27.05.2005, 15:19:20
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 27.05.2005

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


Serdecznie witam wszystkich forumowiczów smile.gif
Chciałbym napisać gre internetowa taka jak np.Ogame jestem srednim programistą interesujacy się php dlatego chciałbym się troche pobawić w stworzenie gry o podobnych zasadach.I tu z mojej strony wielka prosba czy sa jakies artykuły lub strony internetowe poswiecone programowaniu takich gier internetowych jakies kursy lub tutoriale moze ktos z was bedzie chetny pomogac mi bardzo prosze o pomoc.

Aha i jeszcze jedno czy do napisania takiej gry wystarczy tylko jezyk php czy moze jakies inne jeszcze ?
Go to the top of the page
+Quote Post
FiDO
post 27.05.2005, 18:46:34
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


Przenosze na php


--------------------
Brak czasu :/
Go to the top of the page
+Quote Post
Rastman
post 27.05.2005, 18:57:19
Post #3





Grupa: Zarejestrowani
Postów: 177
Pomógł: 0
Dołączył: 6.06.2004

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


Cytat
Aha i jeszcze jedno czy do napisania takiej gry wystarczy tylko jezyk php czy moze jakies inne jeszcze ?

to zależy, czy przy każdym kroku gracza ma się odswierzać strona, czy nie. jeśli nie to musisz skorzystać z JS, lub Flasha, bo php jak wiadomo działa po stronie serwera


--------------------
Go to the top of the page
+Quote Post
hwao
post 27.05.2005, 19:47:47
Post #4


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




Wiec.
Napewno bedzie Ci potrzbene php winksmiley.jpg nastepnie przydalal by sie jakas baza danych - znacznie ulatwi to Ci prace.
Nastepnie powinnienes znac html (xhtml) css ( strona wizulana), ale do udogodnien mozesz zaprzedz javaScript.
Do prezentacji jakis danych czasem moze sie okazac lepszy dynamkiczyn flash (+php - wyciaganie np danych z bazy danych).

Bazy danych, populatna zwazajac na jej prostote MySQL, chyba ze masz PHP5 to mozesz takze uzyc SQlite. Odradzam bawienia sie na plikach.

Jak trzeban znac php:
Wiec to roznie, bo nie da sie do konca okreslic na jakim poziomie zaawansowania sie jest. Najwygodniej bylo by pisac to na klasach, poniewaz
- szczelnosc
- edycja, latwiejsza
- pozadek
- podzielenie na "akcje"

Proponowal bym popatrzec troche po forum, poniewaz pare razy byl taki temat z cyklu towrzenie gry w php.
Go to the top of the page
+Quote Post
DeyV
post 27.05.2005, 19:48:03
Post #5





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




Przy tworzeniu tego typu aplikacji znacznie ważniejsze jest skupienie się na zasadach gry, niż na ich oprogramowaniu.
A przykład Ogame, i np. ilość i komplikacja wzorów matematycznych pozwalajacych na prowadzenie rozgrywki, pokazuje, że zadanie to nie łatwe.

Natomiast Ogame pokazuje też, że połączenie Js i php sprawdza sie w takich aplikacjach świetnie. A jeśli by do tego dodać jeszcze AJAX, to program może być na prawdę świetny.


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
Imperior
post 28.05.2005, 08:05:24
Post #6





Grupa: Zarejestrowani
Postów: 105
Pomógł: 0
Dołączył: 16.10.2004

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


Miej na uwadze, że OGame potrzebuje solidnej bazy danych, także wykonywania czynności co kilka sekund na serwerze (same zapytania userów nie wystarczają). Czemu? Kiedy flota dociera na miejsce, trzeba to przechwycić i wykonać działania...


--------------------
Com powiedział, powiedziałem.
Go to the top of the page
+Quote Post
pmalirz
post 28.05.2005, 10:29:41
Post #7





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 28.05.2005

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


moim zdaniem...
trzeba to oprzeć na klasach, jest to tutaj konieczne ze względu na rozbudowaną logikę
gry. powinno się wyjść od zdefiniowania klas i relacji między nimi.
Np:
skonstruować klasę o nazwie np. "Gracz" odpowiedzialną za obsługę gracza. Powinna ona posiadać funkcję odczytu aktualnego stanu gracza (na początku skryptu) oraz metodę zapisu stanu gracza (na końcu skryptu). Nie przechowuj stanu gracza [1] w cookie, zmienny sesji (lub gdzie kolwiek po stronie klienta) - oszustwa murowane (chyba że będziesz szyfrował).

[1] - stan gracza - mam na myśli dane o jego sojusznikach, planetach itp.
Go to the top of the page
+Quote Post
M4chu
post 28.05.2005, 13:41:24
Post #8





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 28.09.2003
Skąd: Rzeszów

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


Cytat(pmalirz @ 2005-05-28 11:29:41)
Powinna ona posiadać funkcję odczytu aktualnego stanu gracza (na początku skryptu) oraz metodę zapisu stanu gracza (na końcu skryptu)

Pomysl dosc ciekawy, ale bym go troche ulepszyl - wprowadzilbym jakis mechanizm, ktory by sprawdzal czy stan gracza rzeczywiscie sie zmienil - przeciez nie wszystkie akcje (odswiezenia strony) go zmieniaja.
Go to the top of the page
+Quote Post
Speedy
post 28.05.2005, 17:30:39
Post #9





Grupa: Zarejestrowani
Postów: 651
Pomógł: 28
Dołączył: 4.12.2004

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


Jeśli chodzi Ci o jakąś konkretną książkę, to jakiś czas temu natrafiłem w internecie na:
http://www.e-link.com.pl/x_C_I__P_423558-410004.html

Nie oceniam tego , bo nie czytałem, ale kto wie, może się przyda ...


--------------------
Sygnatura niezgodna z regulaminem.
Go to the top of the page
+Quote Post
Imperior
post 30.05.2005, 16:38:16
Post #10





Grupa: Zarejestrowani
Postów: 105
Pomógł: 0
Dołączył: 16.10.2004

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


Heh... jak patrze na spis treści, to widze koło 140 stron nie z manuala. (a od tego odjąć wstęp, GD itp.)


--------------------
Com powiedział, powiedziałem.
Go to the top of the page
+Quote Post
slepy
post 30.05.2005, 16:57:18
Post #11





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 27.02.2003

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


Sam gram w Ogame i mocno się zastanawiałem jak ta gra jest stworzona. Pierwsze co mi się nasunełedo głowy że jest to serwer napisany w jakimś języku (php, C , C++ , perl.. etc.. ) Serwer ten otwiera port..i nasłuchuje... jesli dostanie od clienta nakaz wywolania czegos odpala timera swojego lub jakas funckje lub wysyla cos do niego itp.. Oczywiśćie wszystko na klasach.. a Savy i Loady pracują na bazie.. Bo jeśli 100 Osób na UNI nagle kliknie na Flote.. To to jest 100 zapytań do bazy.. Co już sprawa że server musi być dobry.. i na szybkim łączu.. dlatego nie wydaje mi się o że cała ta gra jest oparta jedynie na php+JS+MYSQL i wszystko co robi użytkownik są to zapytania do bazy..

Tak jak mówie. Uważam że jest Server jeden Który Savy i Loady ma w bazie, a wszystko inne w klasach. I w przypadku np. ataku Uruchamiany jest specjalny timer dla tego gracza.. który jak dojdzie do 0, uruchamia funckje itp... Przedewszystkim wszystko odbywało się na klasach..

Namieszałem troche.. ale wydaje mi się że to tak jest..

Ktoś się ze mną zgadza? snitch.gif

Pozdro


Edit: Co do tego linku.. To ta książka jest jedynie do nauki.. Nauczy cię napisać szachy ... nic więcej nie wnosi ciekawego.... Sam ją kupiłem z nadzieją i się troche przeliczyłem..

Ten post edytował slepy 30.05.2005, 17:13:40
Go to the top of the page
+Quote Post
Speedy
post 30.05.2005, 17:19:57
Post #12





Grupa: Zarejestrowani
Postów: 651
Pomógł: 28
Dołączył: 4.12.2004

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


Cytat(Imperior @ 2005-05-30 15:38:16)
Heh... jak patrze na spis treści, to widze koło 140 stron nie z manuala. (a od tego odjąć wstęp, GD itp.)

A czy ja pochwalam tę książkę ? Tak przy okazji podałem ten link winksmiley.jpg . Sam bym czegoś takiego w życiu nie kupił, jeśli chciałbym stworzyć grę w php tongue.gif .


--------------------
Sygnatura niezgodna z regulaminem.
Go to the top of the page
+Quote Post
Imperior
post 30.05.2005, 18:27:21
Post #13





Grupa: Zarejestrowani
Postów: 105
Pomógł: 0
Dołączył: 16.10.2004

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


Cytat(Speedy @ 2005-05-30 16:19:57)
A czy ja pochwalam tę książkę ? Tak przy okazji podałem ten link winksmiley.jpg . Sam bym czegoś takiego w życiu nie kupił, jeśli chciałbym stworzyć grę w php tongue.gif .

Ja tylko wypowiadam się odnośnie książki tongue.gif

A co do tematu, to napewno jest na dobrych sprzętach. Ale czy na czymś jeszcze prócz baza i php? Nie wiem. Jedno uważam, że jest pewne... 100 kliknięć w ciągu sekundy to pikuś porównując z godzinami szczytu.


--------------------
Com powiedział, powiedziałem.
Go to the top of the page
+Quote Post
slepy
post 30.05.2005, 20:14:22
Post #14





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 27.02.2003

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


Zatem moje wniosko mogą być suszne.. Rozwinięcie tego temuatu jest godne uwagi.. Bo stworzenie takiej gry to coś. Klasy + savy + loady ( oparte na bazie ) Połączenie socketowe.. To wcale nie dla początkujących..

Więc jak ktoś się bierze za napisanie takiej gry.. Powinien posiadać dość dużą wiedze..

Sam spróbuje napisać:P Jesze usłyszycie o slepaku i jego grze;]]

Pozdro..
Go to the top of the page
+Quote Post
squid
post 30.05.2005, 22:09:36
Post #15





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 3.07.2003
Skąd: Szczecin->niebuszewo->*(next to window)

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


a co myslicie o wprawadzeniu wzorca MVC do pracy przy takim zadaniu, cos takiego moze sie sprawdzic przy grach internetowych? moze juz ktos tego probowal


--------------------
Jeśli życie to kara to nieźle nabroiłem ;-)
Go to the top of the page
+Quote Post
vala
post 31.05.2005, 05:22:53
Post #16





Grupa: Zarejestrowani
Postów: 123
Pomógł: 0
Dołączył: 12.01.2005

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


jak na moje oko to to jest zrobione na podstawie bazy
id| flota skad | flota do | czas kiedy flota doleci | dane floty

nie wiem czy widzicie to samo co ja ale po najechaniu na licznik czasu w js pokazuja sie fajne cyferki smile.gif

wiec to jest czas kiedy flota doleci i kiedy ma byc odpalane obliczenie

i teraz skrypt while(1) {

//operacje na bazie z flotami
}
przeskakuje po calej bazie danych porownujac czas

potem odpala nastepny skrypt z liczeniem wynikow i podaje to do jednej strony i drugiej
jaka w tym filozofia?

P.S.
to naprawde trzeba mega machiny zeby przeleciec z 500 rekordow i odpalac kolejny skrypt jezeli if == true?smile.gif
P.S.2
a moze zbierze sie kilkunastu forumowiczow i zrobimy tu mini poligon
"Jak tworzyc gierki w php?" z sugestiami i pytaniami:) jako oddzielny dzial:)

Ten post edytował vala 31.05.2005, 05:25:01


--------------------
Warsztat: Easy PHP 1.7:Apache 1.3.27|PHP 4.3.3|PHPMYADMIn 2.5.3|MYSQL 4.0.15
Go to the top of the page
+Quote Post
slepy
post 31.05.2005, 07:17:40
Post #17





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 27.02.2003

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


Co to P.Sów jestem za;p

Ale wierz mi jak 1000 osób na UNI puści flote

i skrypt wykonywałby 1000 razy
while(1)
{
// wyciaganie z bazy
// porównywanie
//jezeli doleciala jakas
//obliczenia
//poprawienie bazy
// jest nic to nic
}

i tak średnio mniej niż na 1 sekunde to wszystko by było wykonywane.. to yh!
Maszyna musiała by być naprawde niezła.. Przynajmniej tak mi się wydaje.. Jak wróce ze szkoły spróbuje zrobić 1000 rekordów, i działania na nich za pomocą funkcji while
Go to the top of the page
+Quote Post
vegelus
post 31.05.2005, 08:26:37
Post #18





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 31.05.2005

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


Witam wszystkich na forum :-)

Od niedawna czytam to forum i jeszcze nie zapoznalem sie ze wszystkimi tematami poruszanymi odnosnie tworzenia aplikacji internetowych (mam zwyczaj sledzic minimum 0,5 roku zanim cos napisze) i widze ze rozpoczal sie temat bardzo mnie interesujacy

W chwili obecnej koncze projektowac zasady gry i rozgladam sie za technologiami ktore by temu podolaly. Na Ogame trafilem jakis miesiac po rozpoczeciu prac nad zasadami gry. Uwazam ze to co zrobili programisci w tej gierce jest niesamowite.
Projekt gry nad ktora pracuje bedzie tworzona pod wezwaniem kola naukowego :-) wraz z postepem prac bedziemy (ja jako prowadzacy i studeci jako piszacy) starali sie dzielic zebranymi informacjami jak i artykulami ktore powstana w trakcie prac.

Mam nadzieje ze znajdziemu tu miejsce gdzie bedziemy mogli dzielic sie swoimi odkryciami jak i liczyc na pomoc w rozwiazywaniu problemow przy tworzeniu slinika gry.

zalozenia naszej gry sa nastepujace:
1. gra RPG
2. wizualizacja
3. brak ograniczania ruchu (na wiekszosci tego typu grach jest ograniczenie do kilkudziesieciu ruchow)
4. wieloosobowa
5. poruszanie sie druzyna
6. handel miedzy druzynami
7. (jeszcze nie skonczylismy wymyslac)

ps. Jezeli napisalem cos nie tak to przepraszam :-)
Go to the top of the page
+Quote Post
xarr
post 31.05.2005, 10:05:07
Post #19





Grupa: Zarejestrowani
Postów: 105
Pomógł: 0
Dołączył: 5.12.2004

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


Tez zaczolem pisac rpga na php+mysql+js jakis czas temu. Glownie tekstowka, bo grafika brak, a i co bardziej rozwija wyobraznie niz tekst? smile.gif Prace stanely mniej wiecej na 20% z powodu braku czasu. Generalnie gierka to mapa, ktora z poziomu admina mozna rozwijac dodajac pola i tworzac miedzy nimi jakies przejscia (wszystko ma swoje dodatkowe cechy jak np: typ pola, szansa na encounter, zagrozenie itd itd), postacie ze swoimi charakterystykami + umiejetnosci, oraz duza baza przedmiotow roznakich i przeciwnikow/zwierzatek/potworow.

Za gre zabralem sie od strony singla. Tj. brak interakcji z innym graczem. Celem takiego zabiegu jest chec osiagniecia i dopieszczenia zabawy tylko z wirtualnym swiatkiem. To taki pierwszy krok, ktory juz pozwoli dzialac takiej aplikacji. Kolejny to juz chat, trade... czyli interakcja czysta. Wiadomo, ze w takich rzeczach nie powinno sie przesadzac i wsadzac funkcjonalnosci wiecej niz to jest potrzebne. Podobnie ma sie sprawa z sama walka. Mozna to najprosciej zrobic na zasadzie automatu czyt. koles klika na sarenke i walcza w ten sposob ze algorytm na walke pobierajacy jakies dane 2 przeciwnikow, warunki i inne wlasciwosci wylicza trafienie/pudlo/blok/obrazenia etc. Mozna tez skomplikowac i zrobic turowke dajac graczowi mozliwosc wyboru w kazdym momencie walki co zrobic czyt. atakowac pelna para, defensywnie, moze uciekac, moze sie uleczyc itd. Wtedy tez doszla by sprawa czasu tj. ile on moze sie zastanawiac co zrobic, moze by warto ograniczyc go odgornie jakims czasem po ktorym nastepuje ruch przeciwnika (zmarnowana tura)? Tylko co z lagami... w sumie interakcja z uzytkownikiem to plan dalszy w mojej rozpisce i planie. Nad walka jednak juz sie zastanawiam, bo to bedzie jeden z nastepnych elementow na jaki sie szarpne zaraz po tym jak obiekt gracza bedzie juz swobodnie spacerowal po stworzonym swiecie smile.gif

ok... to takich ogolnikow pare. Mam nadzieje, ze podczas "wakacji" znajdzie sie wiecej wolnych weekendow coby ruszyc do przodu z ta gierka.
Go to the top of the page
+Quote Post
vegelus
post 31.05.2005, 16:32:02
Post #20





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 31.05.2005

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


w zamysle miala byc gra jednoosobowa ale ekipa sie ociagala a ja majac czas im wymyslalem coraz to ciekawsze wodotryski i chyba zalapali ze jak nie zaczna nic robic to przez wakacje im tyle nawymyslam ze juz nikt tego nie napisze :-)

Caly czas nurtuje mnie walka oczywiscie tury jak najbardziej wchodza w gre. DOpiero technologia AJAX pokazala mi w ktorym kierunku nalezy isc.

Co do ograniczenia czasu to wykozystamy chyba rozwiazanie z Falloutow czyli kazdemu z druzyny ustawi sie defoltowy atak i jak gracz nie zdazy zmienic to zostanie wykonanan ustawiona z gory akcja. Takie rozwiazanie jest potrzebne jak druzyna zostanie zaatakowana podczas nieobecnosci gracza :-)
Go to the top of the page
+Quote Post

4 Stron V   1 2 3 > » 
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: 28.04.2024 - 17:33