![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 27.05.2005 Ostrzeżenie: (0%) ![]() ![]() |
Serdecznie witam wszystkich forumowiczów
![]() 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 ? |
|
|
![]()
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 :/
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 177 Pomógł: 0 Dołączył: 6.06.2004 Ostrzeżenie: (20%) ![]() ![]() |
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 -------------------- |
|
|
![]()
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 ![]() 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. |
|
|
![]()
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..."
|
|
|
![]()
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.
|
|
|
![]()
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. |
|
|
![]()
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. |
|
|
![]()
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.
|
|
|
![]()
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.
|
|
|
![]()
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? ![]() 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 |
|
|
![]()
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 ![]() ![]() -------------------- Sygnatura niezgodna z regulaminem.
|
|
|
![]()
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 ![]() ![]() Ja tylko wypowiadam się odnośnie książki ![]() 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.
|
|
|
![]()
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.. |
|
|
![]() ![]()
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 ;-)
|
|
|
![]()
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 ![]() 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? ![]() 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
|
|
|
![]()
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 |
|
|
![]()
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 :-) |
|
|
![]()
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?
![]() 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 ![]() ok... to takich ogolnikow pare. Mam nadzieje, ze podczas "wakacji" znajdzie sie wiecej wolnych weekendow coby ruszyc do przodu z ta gierka. |
|
|
![]()
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 :-) |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 26.04.2025 - 00:57 |