Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Tworzenie gry, logiczny plan wykonywania pracy na kodzie - pytanie


Rekomendowane odpowiedzi

Opublikowano

Witajcie.

 

Postaram się streścić do maksimum :)

 

Jak w życiu każdego gracza bywa, na mnie też przyszedł czas, na próbę napisania "czegoś" własnego. 

 

Do rzeczy. Jestem fascynatem gier VIA. Przez praktycznie 7 lat bez przerwy grałem w popularne plemiona mam pojęcie o ich mechanice.

 

Mając na karku +20 wiosen, sporo wolnego czasu i budżet, bo pracuję jako grafik, wykrzesałem w sobie ochotę napisania gry Via.

Przyznam, że do tematu podchodziłem już parę razy, z różnym skutkiem. Gdy byłem młodszy wyklepywałem w google hasła "jak zrobić grę".

Oczywiście, możecie domyślić się efektów takich działań.m Ale mijały lata, człowiek nabierał rozumu, wziął się od podstaw za siebie i podszkolił swoją wiedzę w php i sql. (o HTML`ach i CSS`ach nie mówię)

Wiedza ta pozwoliła mi na pisanie prostych skryptów rejestracji itp. Nic wielkiego, ale składnia języka PHP nie jest dla mnie czarną magią. W styczniu, zająłem się pierwszym poważnym ruchem w stronę napisania czegoś swojego, wziąłem pod lupę parę silników, uczyłem się je modyfikować, (między innymi devana, o-game) .  Poszło jak poszło, ochota przeszła bo były matury+egzaminy zawodowe, i hobby musiało odejść w cień. 

 

Co teraz planuję. Nie myślę/planuję robić bóg wie czego w co będzie grać milion osób, bo jestem logicznie myślącym gościem i wiem, by osiągnąć taki sukces musiał bym mieć albo sztab ludzi, albo taką wiedzę na temat kodowania, by wykreować coś, czego jeszcze nie ma. + reklama, marketing (jestem technikiem reklamy z wykształcenia)

 

Dlatego też, zbieram się na napisanie takiej gry, gdzie w razie problemów miałbym możliwość rozwiązania ich przy pomocy podpatrzenia elementów innych silników (nie mówię tu o kopiowaniu)

Druga, sprawa, to bardziej, chce się nauczyć pisać wgl. coś, co będzie działać.

 

Gra w przybliżeniu, opierać się będzie na wybraniu nacji, rozbudowie osady, odkrywaniu technologi oraz systemie walki na zasadzie jednostki z różnymi statystykami. Fajnie było by włożyć w to wszystko mapę. Wklepać w to Cron`a (?). Potem rozszerzyć to o kolejne elementy i wypuścić jakąś alfe.

 

I teraz pytanie. Jak logistycznie rozplanować pracę?

O co mi chodzi? Ja rozumiem mechanikę kodu, jak to ma działać, ale w jakiej kolejności powinno się wykonywać takie prace? Otrzymując gotowe silnik mogłem się tylko domyślać w jaki sposób była budowana taka gra.

 

Czy ma ktoś z was w takim kodzie  doświadczenie? 

No i najważniejsze pytanie, czy pisanie obiektowe jest czymś niezbędnym? Przyznam, że pisałem tylko strukturalnie. 

Możecie mówić do mnie "fachowym" językiem, jak czegoś nie zrozumiem to zapytam :)

 

Podsumowując, pytanie: jaka jest kolejność pracy na kodzie gry przeglądowej, zbliżonej do mojego opisu. Może komuś wydawać się to pytanie zabawne, ale nie chce sobie zrobić martwego punktu w którym dodanie pewnych elementów, w późniejszej fazie będzie możliwe, ale okupie to kilkoma bezsensownie spędzonymi godzinami. Chce mieć dobry plan pracy,

 

 

Z góry dziękuję, za te przemyślane odpowiedzi, które potraktują mój problem poważnie:)

Pozdrawiam, Adrian.

 

 

Opublikowano

Programowanie obiektowe nie jest czymś "fachowym". Większość osób programuje obiektowo, gdyż bardzo ułatwia to pracę i kod wygląda lepiej. Potwierdza to mój ulubiony cytat "Code is poetry" - "Kod jest jak poezja". 

 

Co do kolejności wykonywania działań, moja rada jest następująca: zacznij od podstawowych elementów gry, nie skupiając się na wyglądzie. Z mojego doświadczenia wiem, że zaczynając od stworzenia ładnego wyglądu strony traci się więcej czasu, niż gdyby się zaczynało od mechaniki. Pisząc grę, stopniowo będziesz dodawał elementy, w końcu otrzymując gotową grę. Oczywiście gry jak np. Plemiona powstawały na przestrzeni wielu lat i podczas tego okresu, wiele rzeczy się zmieniało.

 

Zapraszam do lektury:

http://www-cs-students.stanford.edu/~amitp/gameprog.html

http://en.wikipedia.org/wiki/Object-oriented_programming

Opublikowano

Wiekszosc dostepnych silnikow w internecie jest napisane "na odwal sie". Nikt ci nie da za darmo gotowego i dobrego produktu. Dlatego nie polecam sie takimi silnikami sugerowac.

 

Jesli chcesz pisac poprawnie naucz sie pisac aplikacje w oparciu o jakis wzorzec projektowy (polecam MVC) i/lub gotowy framework.

 

Programowanie obiektowe to jest raczej minimum, ktore trzeba umiec zeby cos sensownego napisac.

gamedevmania.com

Opublikowano

 z tym MVC brzmi dobrze. Co do Twojej odpowiedzi blegger, to ja nawet nie skupiam się na takich zagadnieniach jak wygląd, bo silnik to silnik, bez jakiegoś większego layout`u. Bardziej chodzi mi takie kwestie, podam tutaj przykład dość łopatologiczny, czy jest sens brać się za system rozbudowy budynków kiedy nie mam rejestracji, po prostu, czy jest jakiś sztywny schemat prac związanych z kodem? Nie miałem nigdy do czynienia z kodowaniem poważnego projektu, dlatego też nie wiem jaką kolejność prac powinienem sobie założyć. Gdy robiłem proste aplikacje typu sklep (rejestracja, dodawanie do koszyka, wyszukiwanie) robiłem to w takiej kolejności jak napisałem w nawiasie. Moje źródła wiedzy dały mi pojęcie o kodowaniu, ale nie kolejności działań przy takich projektach. Co do samych plemion, wspomniałem je po prostu bardziej off-topicowo, widziałem kod silnika, i mam jasne pojęcie, że nie napisano tego w jedno popołudnie. Śledziłem tą serię od samego początku i wiem jak bardzo mocno modyfikowany był kod. Ale to już plany wybiegające za horyzont. Co do tych silników gotowych, to czy ja wiem? Może faktycznie człowiek bazujący na nich zaczyna powielać ich błędy ale jakąś podstawkę muszę mieć. Rozwiązania zastosowane w nich miały swoje wady i zalety. 

Opublikowano

Nie ma sztywnego schematu.

Nie musisz wcale zaczynac od rejestracji chociaz wlasnie te podstawowe moduly nalezaloby napisac na poczatku. Mozna tez zaczac od prostych prototypow, by potem je wdrazac do projektu i laczyc w calosc.

Jesli jednak jest kilka modulow zaleznych od siebie mozna pisac je nawet rownoczesnie lub zaczac od tego wazniejszego.

 

Stosujac jakis wzorzec ograniczysz ten problem. Stosujac programowanie obiektowe kazdy kawalem kodu bedzie uniwersalny dlatego bedziesz mogl zmieniac moduly nie ruszajac innych czesci aplikacji

gamedevmania.com

Opublikowano

@atakujemnie :

Chciałbym ci pogratulować już na początku za normalne podejście do tematu. Jeśli chcesz zrobić grę klikaną to HTML, CSS i PHP ci wystarczy na początku (ja bym się jeszcze douczył JavaScriptu by mieć dynamikę, ale to można później zrobić).

 

Jako, że ja zajmuję się pisaniem gry MMORPG 2D i wiem jakie błędy popełniłem, powiem ci jak najlepiej się za to zabrać by nie popełniać takich błędów jak ja.

1. Rozpocznij od napisania ogólnego opisu gry. Może być to parę zdań, może być to referat na kilka stron!

Dla przykładu:

Kojarzysz taką grę na telefony jak Subway Surfers? Jeśli nie to tu jest dla ciebie mały gameplay byś zobaczył o co w tej grze chodzi:

https://www.youtube.com/watch?v=_K1A9oajDO8

 

Jak możesz zobaczyć cel gry jest prosty: biegnij do przodu i nie daj się złapać. Jedno zdanie prawda? A już opisuje nam o co w tej grze chodzi.

Jednak taki opis nie zawsze nam wystarcza i trzeba by go rozbudować. Gdybyśmy napisali taki opis:

 


Subway Surfers to gra komórkowa, której celem jest ucieczka przed strażnikiem. Biegnij, zbieraj monety, pokonuj przeszkody, zdobywaj bonusy i rywalizuj z przyjaciółmi i zostań najlepszym Subway Surferem!

Taki opis nam już mówi dużo więcej - wiemy jaki jest cel gry oraz co się może wydarzyć w niej.

 

Opis musisz wykonać starannie tak byś wiedział o co w tej grze chodzi, jaki jest jej cel.

 

2. Fabuła (jeśli to gra RPG)

Fabuła jest szczególnie ważna w grach RPG, ponieważ to na nią gracze RPG zwracają największą uwagę, nie na grafikę! Na grafikę zwracają uwagę jak już to jakieś gimby, którym gratuluję gustu skoro właśnie tym się kierują. Grafika również jest ważna (chyba nie muszę mówić czemu), lecz nie tak jak fabuła bo to fabuła nas przyciąga i trzyma w grze.

 

Dopiero po opisaniu fabuły, celu, całego świata gry należy przejść do pisania kodu ;).

 

Jeśli chodzi o programowanie obiektowe - tak. Czemu? Jak będziesz pisał strukturalnie to nie zajebiesz się w pisaniu na śmierć. Na pewnym etapie prac będziesz miał dużo kodu (mówię tu o ok. 10 000 linijek kodu) i tam nie będzie bałaganu. Nie będzie nawet chaosu! Tam będzie coś gorszego niż chaos, a wiem bo sam takie coś miałem.

 

Jeśli masz jakieś pytania to możesz do mnie na gg napisać ;).

Opublikowano

Dziękuję, po prostu mam zdrowe podejście do tematu, dużo czytałem forum o innych projektach i problemach zanim sam stworzyłem temat a logiczne, że na pytanie "jak zrobić grę" dostajecie białej gorączki i się wam nie dziwię, bo siedzę w grafice i mam kliku kolegów w pracy typu "jak zrobić kółko".

 

Będę pisać tutaj, bo jednak temat ten może się przydać innym i chce, żeby został oklepany i w przyszłości kogoś odeślecie do niego. 

 

Co do zarysów gry, założenia taktowne mam bez jakiś innowacji, chce tylko zrobić podział na nacje i jedziemy starą drogą, czyli każdy ma swoją osadę, zamek czy co tam wolicie, rozbudowa wydobycie (tutaj myślałem, nad bardziej złożonym systemem przenoszenia robotników, tzn. większa ilosć pracujących przy budowie lub wydobyciu skraca lub zwiększa czas budowy/produkcji.)  Myślę, że nie było by to zbyt skomplikowane do napisania.

 

Dzisiejsze popołudnie rozwiało moje pewne wątpliwości co do obiektowego.  Fakt, to jest potrzebne, nawet nie ze względu na przejrzystość w kodzie,  ale właśnie przez wprowadzanie późniejszych modyfikacji. Bez tego faktycznie, człowiek się pogubi. 

 

Co do javy - nie wiem, podobno to łatwy język, ja zawsze jednak miałem opory przed nauką. Używałem go w stopniu wklejania gotowców, może dlatego, że nigdy nie był mi potrzebny. Gdzie tutaj jest właściwie potrzebne? Do wyświetlania się mapy świata (zakładamy, że na mapie widać wioski innych graczy, po kliknięciu na wioskę rozsuwają się opcję interakcji z obiektem)

 

Kolejne pytanie do ajax. Wiem, że stosuje się go. Też jestem laikiem i znam go tylko w teorii. Czy (łopatologicznie)  używa się go do odświeżania na bierząco np. przeglądu wioski, gdy zakończy się operacja budowy? Czy to ma zastosowanie jeszcze w jakiś elementach? No i najważniejsze, czy takie coś da się znaleźć gotowe (przyznam, że nauka ajax`a nie widzi mi się, na obecny moment, obiektowe php, java - pogubię się w tym) a jeśli nie, to czy da się to obejść? 

Jeśli błądzę to poprawcie mnie, bo zdaje sobie sprawę, że pisanie gry nawet najprostszej to kilkanaście osobnych plików z dużą ilością kodu i pewnie o wielu nawet tych oczywistych rzeczach nie wiem. Tylko, przypominam - o kwestie mechaniki się nie martwcie, to nie ma porwać serca graczy na całym świecie, ma po prostu działać bez błędów.

 

Btw. Znacie może jakiś dobry blog zagadnieniu tworzenia gier via? To forum jest świetnym kompendium wiedzy, ale zawsze byłem za blogowym przekazywaniem informacji.

Blogi które do tej pory spotkałem są hmm... mało profesjonalne, autor wstawia kilkaset linijek kodu w pierwszym wpisie a w drugim opowiada jak można zarabiać na grach, a koledzy w komentarzach pytają się dlaczego nie działa im kod skoro zapisali go w notatniku na pulpicie. Jest straszny syf w internecie, jeśli chodzi o tematykę programowania. Dobre blogi są źle wy pozycjonowane, i na odwrót.

Opublikowano

Kwestia taka. Proszę nie mylić javy z javascriptem.

Ale tak, przyda ci się do tego co napisałeś. Jest to łatwy język tylko z pozoru. Ale podstawowe rzeczy da się napisać bez większych problemów. Nauka ajaxa tez nie powinna sprawic problemów, bo nie jest to takie obszerne zagadnienie.

gamedevmania.com

Opublikowano

atakujemnie, skoro, jak sam piszesz, ma to być tylko "by działało bez błędów", to faktycznie wystarczy ci samo HTML+CSS+PHP (skoro już 'siedzisz w grafice', html'a pewnie znasz, jeśli nie - 3h nauki :D w html i css to "tylko" wygląd, głównie ucz się PHP).

 

@Writen, fajne masz hobby :D

 

@Kongo, można wiedzieć, w czym piszesz swoją grę MMORPG 2D?

C++ - uczę się... :(

Opublikowano

No tak, coś prostego, by działało bez błędów.

Dlaczego? Jak już wspomniałem, w internecie brakuje właśnie poradników itp, dla kogoś kto przeszedł pierwszą selekcje, tzn. jako-tako nauczył się pisać kod. Na tym etapie, myślę, że jest ogólne założenie, że skoro umiesz już coś, to poradzisz sobie sobie sam, lub z drobną pomocą. Jeśli nie stanie mi nic na przeszkodzie, i doprowadzę swój projekt do pełnej realizacji, to zapewne zajmę się wsparciem takich osób jak ja obecnie, ale to już odległe plany.  Jak coś już napiszę jakieś wersje alfa, to założę temat, chciałbym, żeby miał na to oko ktoś kto się na tym zna (tzn wyJ )

Jeżeli ktoś jeszcze chce się podzielić swoim doświadczeniem w swoim planowaniu pisania kodu, jego etapów, to zapraszam, każde doświadczenie mile widziane, nie ma po prostu sensu powielać błędów.

Opublikowano

atakujemnie, skoro, jak sam piszesz, ma to być tylko "by działało bez błędów", to faktycznie wystarczy ci samo HTML+CSS+PHP (skoro już 'siedzisz w grafice', html'a pewnie znasz, jeśli nie - 3h nauki :D w html i css to "tylko" wygląd, głównie ucz się PHP).

 

@Writen, fajne masz hobby :D

 

@Kongo, można wiedzieć, w czym piszesz swoją grę MMORPG 2D?

 

Już ci mówię:

HTML, CSS, JS z JQuery, NodeJS z socket.io.

 

@atakujemnie - jeszcze tak sobie przypomniałem. Kolega kiedyś mi podesłał link do świetnego wykładu Michała Marcinkowskiego, w którym poruszył on wiele kwestii dot. tworzenia gry. Nie jako pisania kodu czy planowania tego, ale tego jakie gra powinna spełniać założenia by przyciągnęło to graczy. Wykład trwa ok. 1.5 godziny i warto jak ma się czas przesiedzieć i posłuchać co mówi bo warto.

 

https://www.youtube.com/watch?v=zNvH0ZDmq1U&list=PLD2A87E8568037CEC

Opublikowano

Kongo. Nie rzucaj go od razu na gleboką wodę. Kolega chce napisac prostą klikankę, ktora nie bedzie czyms ekstra super hiper.

PHP w zupełności wystarczy do takich celów. Jesli juz glowny cel osiagnie to moze zaczac sie interesowac tymi technologiami ktore podales.

gamedevmania.com

Opublikowano

Oj przepraszam. Mój błąd. Wtedy czytałem przez tapatalk i cytatu nie było. Jeszcze raz sory, źle zrozumiałem.

Mogę powiedzieć, że piszę w tym samym tylko bez jQuery :p

gamedevmania.com

Opublikowano

Wiekszosc dostepnych silnikow w internecie jest napisane "na odwal sie". Nikt ci nie da za darmo gotowego i dobrego produktu. Dlatego nie polecam sie takimi silnikami sugerowac.

 

Jesli chcesz pisac poprawnie naucz sie pisac aplikacje w oparciu o jakis wzorzec projektowy (polecam MVC) i/lub gotowy framework.

 

Programowanie obiektowe to jest raczej minimum, ktore trzeba umiec zeby cos sensownego napisac.

Framework ? Do gier?

Jedynie jakiś prościutki z obsługą logów,łączeniem do bazy i z wykorzystaniem wzorców typu MVC , singelton.

 

Na miejscu autora - udoskonalałbym się w grafice , skoro ma do tego ambicje ;) Naprawde,mało jest dobrych grafików którzy tworzą grafike na potrzeby gier.

A jeśli chcesz koniecznie już tworzyć - C++ / Java / C# , każdy z tych języków nadaje się do tworzenia gier.

Przyjmuje zlecenia dot. web masterki.

while(!$success){
....try();
}

 

Opublikowano

Tak framework. Podałem tylko taką propozycje, ale nie mówię tu o jakimś Kohana czy innej kobyle.

Najlepiej napisać własny.

gamedevmania.com

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...