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
  • 0

Pisanie gier w javie


lolzown123

Pytanie

Opublikowano

Witam, otóż mam mały problem ponieważ czeka mnie 'wiekszy' projekt z zajec z programowania, postanowilem napisac gre ale nie mam pojecia jak sie do tego zabrac, jestem poczatkowym 'programista', dopiero zaczalem uczyc sie programow okienkowych. Mam pytanie czy napisanie prostej gry jest trudne ? Prosilbym o jakies porady.

7 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

Opublikowano

Wszystko spoko tylko, ze ja jestem naprawde poczatkujacy. Jestem na poziomie layoutow w javie, dopiero co skonczylem uczyc sie konstruktorow i nie mam zbytnio pojecia jak sie do tego zabrac . Tak btw. uzywam itelliJ.

nie marudz tylko pisz, poradników jest masa, tylko nie przeklepuj z nich kodu bezmyślnie, tylko zawsze się zastanów co się dzieje i co możesz z tym zrobić, ale też nie musisz od razu wszystkiego rozumieć.

 

 

jak lwjgl to:

https://www.lwjgl.org/guide

wygląda strasznie... ale nie musisz znać polowy tego by napisać coś tak prostego jak arkanoida, insteresuje cię tak właściwe tylko to co jest w private void loop()

A tak to wszystko jest wyjaśnione w komentarzach, nie musisz się też tego uczyć na pamięć czy coś, po prostu zerkasz jak potrzebujesz, widzisz tutaj już jak śledzą wciskanie escape, więc tak samo już wiesz jak śledzić dowolny inny klawisz.

 

 

jak libgdx to strona projektu: https://libgdx.badlogicgames.com/ 

i tam też wszystko opisane.

 

 

Obie też mają dokumentacje i setki poradników jak zacząć od 0, więc nie szukaj wymówek tylko zacznij coś kombinować i ewentualnie pytaj po pojedyncze rzeczy, tylko staraj się dojść do nich samemu, a pytaj dopiero jak już się poddasz, na początku warto się wyszkolić w takim wyszukiwaniu rozwiązania samemu.

 

W tym też googlowaniu odpowiednich haseł, bo problem jest taki że często widać na forach pytania na zasadzie:

Jak sprawić by po wciśnieciu klawisza X zmienił się kolor okna i się zrobił fullscreen.

A googlając coś takiego trudno znaleźć coś sensownego, a można to rozłożyć na 3 osobne czynności, gdzie na każdą z nich masz 9472953 porandików:

- Jak nasłuchiwać naciśnięcia klawisza i wykonać akcję

- Jak zmienić kolor okna

- Jak otworzyć je w fullscreen

 

I wtedy takie pytanko po angielsku + nazwa technologii i wszystko jest w google, a jak nie to można już pytać na forum.

(ale jednocześnie pytając na forum, warto dodać jaki jest twój finalny zamiar, ktoś może wtedy podsunąć lepszy pomysł, bo być może istnieje funkcja która robi to wszystko za ciebie, albo niektóre z elementów da się zrobić inaczej)

 

 

PS: No i wszystkiego da się używac z intellijką oczywiście, to że ktoś w tutorialu używa eclipse... to jego strata :P

1438614356923701010629.png

 

Opublikowano

zależy jakiej, i jak chcesz to zrobić.

 

Można wybrać OpenGL, wtedy jak coś myślisz to nawet nie musisz koniecznie szukać poradników do javy, tylko można się wzorować na tych z cpp, bo instrukcje opengl są takie same, tylko delikatnie uzycie sie rozni.

i wtedy wybierasz LWJGL jako libkę która ma bindingi do opengl

 

można też użyć gotowych silników lub frameworków, libgdx to całkiem ciekawy silnik/framework, głównie do gier 2d, ale 3d też się da bez problemu.

albo jmonkey, to już bardziej pełnoprawny silnik i już bardziej pod 3d.

 

Jak chcesz pisac coś typu arkanoid itd, to ja polecam LWJGL, i tak dużo kodu nie będzie, a się dużo nauczysz, jak coś już z ciekawszą fizką itd, to jeden z tych frameworków, chyba że chcesz się nauczyć opengl (przyda się w każdym języku jak chce się tworzyć takie rzeczy).

1438614356923701010629.png

 

Opublikowano

Chodzi mi o prosta gre 2d bez wiekszych animacji cos w stylu latajacych balonikow ktore musimy zbijac + tabela wynikow czas itp. albo jakis prosty tetris, a co do akranoidu tez spoko pomysl tylko pytanie czy dam rade takie cos napisac.

Opublikowano

Chodzi mi o prosta gre 2d bez wiekszych animacji cos w stylu latajacych balonikow ktore musimy zbijac + tabela wynikow czas itp. albo jakis prosty tetris, a co do akranoidu tez spoko pomysl tylko pytanie czy dam rade takie cos napisac.

arkanoid to 3 dni roboty bez znajomości opengl, sam pisałem, i to w javie jak jeszcze niezbyt ogariałem obiekty i operowałem głownie na mapach, i to w c++ gdzie ledwo język rozumiem.

Kod niezbyt powalał, ale działało ;) Tylko trochę chęci i sprytu.

 

No ja na twoim miejscu wybrałbym LWJGL, możliwe co najwyżej że w wersji 2 jeśli dalej umożliwiają jej poprawnie, bo stary opengl jest na początku łatwiejszy... ale nie wiem czy jest sens się go teraz uczyć, więc warto spr z 3.

No ale zawsze możesz zobaczyć libgdx i poradniki do niego.

 

PS: pamiętaj ze arkanoida można mocno rozwijać, wiele piłek, różne rodzaje cegieł, powerupy, wszystko, ja tylko dodawałem obsługie wielu piłek i cegły z różnią ilością HP oraz cegły z bonusową piłką, czyli to się mieściło w tych 3 dniach i w końcu się porządnie obiektów wtedy nauczyłem, bo się przydawało do tworzenia np takich cegieł, by się fajnie dodawało nowe typy.

A tak to... kilka prostokątów i jedno koło + input i odbicia od czego są gotowe funkcje i libki w necie.

1438614356923701010629.png

 

Opublikowano

Wszystko spoko tylko, ze ja jestem naprawde poczatkujacy. Jestem na poziomie layoutow w javie, dopiero co skonczylem uczyc sie konstruktorow i nie mam zbytnio pojecia jak sie do tego zabrac . Tak btw. uzywam itelliJ.

Opublikowano

 

Wszystko spoko tylko, ze ja jestem naprawde poczatkujacy. Jestem na poziomie layoutow w javie, dopiero co skonczylem uczyc sie konstruktorow i nie mam zbytnio pojecia jak sie do tego zabrac . Tak btw. uzywam itelliJ.

nie marudz tylko pisz, poradników jest masa, tylko nie przeklepuj z nich kodu bezmyślnie, tylko zawsze się zastanów co się dzieje i co możesz z tym zrobić, ale też nie musisz od razu wszystkiego rozumieć.

 

 

jak lwjgl to:

https://www.lwjgl.org/guide

wygląda strasznie... ale nie musisz znać polowy tego by napisać coś tak prostego jak arkanoida, insteresuje cię tak właściwe tylko to co jest w private void loop()

A tak to wszystko jest wyjaśnione w komentarzach, nie musisz się też tego uczyć na pamięć czy coś, po prostu zerkasz jak potrzebujesz, widzisz tutaj już jak śledzą wciskanie escape, więc tak samo już wiesz jak śledzić dowolny inny klawisz.

 

 

jak libgdx to strona projektu: https://libgdx.badlogicgames.com/ 

i tam też wszystko opisane.

 

 

Obie też mają dokumentacje i setki poradników jak zacząć od 0, więc nie szukaj wymówek tylko zacznij coś kombinować i ewentualnie pytaj po pojedyncze rzeczy, tylko staraj się dojść do nich samemu, a pytaj dopiero jak już się poddasz, na początku warto się wyszkolić w takim wyszukiwaniu rozwiązania samemu.

 

W tym też googlowaniu odpowiednich haseł, bo problem jest taki że często widać na forach pytania na zasadzie:

Jak sprawić by po wciśnieciu klawisza X zmienił się kolor okna i się zrobił fullscreen.

A googlając coś takiego trudno znaleźć coś sensownego, a można to rozłożyć na 3 osobne czynności, gdzie na każdą z nich masz 9472953 porandików:

- Jak nasłuchiwać naciśnięcia klawisza i wykonać akcję

- Jak zmienić kolor okna

- Jak otworzyć je w fullscreen

 

I wtedy takie pytanko po angielsku + nazwa technologii i wszystko jest w google, a jak nie to można już pytać na forum.

(ale jednocześnie pytając na forum, warto dodać jaki jest twój finalny zamiar, ktoś może wtedy podsunąć lepszy pomysł, bo być może istnieje funkcja która robi to wszystko za ciebie, albo niektóre z elementów da się zrobić inaczej)

 

 

PS: No i wszystkiego da się używac z intellijką oczywiście, to że ktoś w tutorialu używa eclipse... to jego strata :P

 

Okej dzieki wielkie za pomoc, mam ostanie pytanie, a mianowicie czy moge liczyc na Twoja pomoc w razie czego (PW)?

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...