Autor Wątek: Pierwsza konkretna gra w javie.  (Przeczytany 2898 razy)

Offline kjas92

  • Użytkownik

# Styczeń 25, 2011, 16:46:39
Witam,

chciałbym nauczyć się pisać gry. Pierwsze próby mam za sobą, napisałem arcanoida i snake-a. Ale teraz chciałbym stworzyć prostą platformówkę, coś w stylu soldata, ale wiadomo że prostsze, grafika ułomna, głównie chodzi mi o to aby ogarnąć temat pisania gier. Nie wiem tylko od czego zacząć. Korzystać z jakiegoś gotowego silnika gier czy nie. Od czego w ogóle zaczyna się pisanie? Czy mógłbym prosić kogoś o poprowadzenie mnie przez to?

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline WiecznyWem

  • Użytkownik
    • Blog

# Styczeń 25, 2011, 17:03:54
Nie jestem może byt doświadczony, ale mogę powiedzieć Ci jaki ja mam sposób.
Pierwsze to sobie dokładnie ustalam co trzeba napisać. Później czasami trzeba wyeliminować takie rzeczy, których nie jesteśmy w stanie napisać. Pomoże to nam w miarę w pisaniu, jak i podtrzymywaniu zapału.
Następnie zaczynam pisać silniczek dosłownie "od środka". Czyli np. jak mam platformówkę, to robię tak, że tworze postać. Później mojemu ludkowi daje planszę po której może on się przemieszczać. Do tego dochodzi skakanie, atakowanie, spindranie  po drabince, przesuwanie planszy i co tam jeszcze chcemy. Potem jakieś zmiany poziomów, menu główne i inne okna dialogowe, aż w końcu ma to ręce i nogi ;) Potem piszę bardziej szczegółowe rzeczy, może takie jak jakieś dialogi, integracje ze środowiskiem, itd.. Gra już ma nawet brzuszek! No ale nie ma jeszcze głowy, a to przecież głowa stanowi naszą najcharakterystyczniejszą(ale długie słowo) cześć ciała. Więc zabieram się za tworzenie endowej grafiki. Po tym nastaje najbardziej mozolny i nudny czas pisania - debugowanie. A gdy już wyeliminujemy wystarczająco dużo błędów, to można już udostępnić grę.

Nie wiem czy to jest dobry sposób, ale mi się tak wygodnie pisze. Może wypowie się jeszcze ktoś bardziej doświadczony?

Offline Troll

  • Użytkownik
    • Oficjalna strona gry Gizarma

# Styczeń 25, 2011, 17:14:50
Zacznij od czegoś prostego np. tetrisa, packmana, wężyka ... Nie korzystaj na początku z żadnych silników, pisz w czystym c++/javie/pascalu, czy co tam lubisz

Offline Lerhes

  • Użytkownik

# Styczeń 25, 2011, 17:34:14
@Troll on już napisał wężyka.

@WiecznyWem on pytał, co robić dalej, a nie jak robić gry.

Ja bym Ci powiedział tak. Siądź sobie w pustym pokoju i zastanów się czy na pewno chcesz programować. W branży gamedev jest dużo innych stanowisk. Możesz być grafikiem, level designerem czy animatorem. Nawet jak już koniecznie będziesz chciał mieć coś wspólnego z kodem, to tutaj też masz pole do popisu: Możesz klepać kod, testować czy projektować (co prawda nie do końca wtedy programujesz, ale aby dobrze projektować trzeba mieć za sobą dużo doświadczenia, szczególnie przy kodzeniu).

Załóżmy, że po prostu chcesz być najnormalniejszym klepaczem kodu. Zapytaj znowu sam siebie, co mnie najbardziej interesuje. Spójrz na drzewko umiejętności, które zamieściła w internecie pewna dobra dusza:
http://www.asawicki.info/productions/inne/SkillTree/
Z twojego posta wnioskuję, że masz problemy z projektowaniem, więc tutaj teraz bym poczytał. Ewentualnie, może po prostu chcesz poznać grafikę 3D? No to ta gałąź obok. Kilka podstawowych algorytmów też bardzo by się przydała -> drzewko środkowe.
Nauki masz tyle ile tylko chcesz. A co konkretnie wybrać, to zależy co konkretnie Cię interesuje. Ja bym w twojej sytuacji uderzał w 3D.
Lerhes


Offline kjas92

  • Użytkownik

# Styczeń 25, 2011, 17:44:52
Wiesz co, chciałbym zająć się poważniej programowaniem, a wiem że nie nauczę się tego dobrze robiąc jakieś wymyślne programiki. Ucząc się programowanie pisanie gier było moim celem. Chciałbym pisać gry 3d, ale wiem że trzeba zaczynać od podstaw, więc zaczynam na takiej gierce. Myślisz że powinienem od razu tak do 3d iść?

Offline Lerhes

  • Użytkownik

# Styczeń 25, 2011, 17:55:57
No a nad czym się zastanawiać? Sam musisz ocenić swoje umiejętności. Masz problemy z C++ no to musisz wrócić do Symfonii. Nie masz problemów z napisaniem tablicy wskaźników na funkcję i z klasą punkt z przeciążonymi operatorami to nie ma co się zastanawiać, tylko lecieć dalej. Z drzewka umiejętności na pewno przyda Ci się projektowanie (chociażby w zakresie podstawowym) i może jakieś podstawy algorytmów. Ale generalnie jak się dobrze czujesz w C++  to możesz zaczynać z grafiką 3D. Tak od razu. Bierz i się ucz zamiast trolować głupimi pytaniami na forum.

Edit: To miała być JAVA. Na jedno wychodzi. Zamiast C++ wstaw sobie JAVA..
I zamiast tablicy wskaźników na funkcję wstaw sobie kontener z obiektami.
Co do grafiki 3D, to widziałem testy na warsztacie, że można. Chociaż JAVA kompiluje do kodu interpretowanego, więc mogą być problemy z wydajnością. Ale podstawy grafiki są te same. Ewentualnie ucz się C++, a jak nie chcesz, to zajmij się projektowaniem i pisz dalej gry 2D. To też fajna sprawa. Tylko zwiększaj ich skomplikowanie. Następny powinien być Pac-man (wyszukiwanie ścieżki + AI duchów do nauczenia).
Lerhes
« Ostatnia zmiana: Styczeń 25, 2011, 18:02:11 wysłana przez Lerhes »

Offline kjas92

  • Użytkownik

# Styczeń 25, 2011, 17:59:18
Raczej chodziło mi o jave. Ale dzięki za pomoc.

Offline Joker

  • Użytkownik

# Styczeń 25, 2011, 18:02:39
Ale patrząc na temat to on piszę w Javie. Ja ci polecam wypisać na kartce co chcesz mieć w grze np.:
-dobrą fizykę
-grafikę 2D
-dźwięki
I potem wybierasz coś co znasz, lub chcesz poznać np.:
Fizyka > jakiś silniczek od tego , box2d ?
Grafikę2D > OpenGL czy coś w stylu allegro z c++ ?
Dźwięki > jakaś biblioteka od audio
No i uczysz się tego co ci potrzeba pisząc grę. Nie wiem niestety co można użyć w Javie więc musisz sam sobie radzić.