Pytanie do programistów gier


(Jacekk13) #1

Java, czy C++, który program ma prostszy język i pozwoli szybciej tworzyć gry?

Ile czasu zajmuje wam zwykle stworzenie gry z czasem rozgrywki do 100 minut?


(nnick) #2

Pardon? O ile Javę jeszcze można w pewnym sensie nazwać programem (JRE), o tyle C++ już jakoś tak średnio...

Jakieś kilka minut - gra w zgadywanie liczb może wciągnąć na ponad 100 minut.

Zacznij może od nauki C++, za jakieś 2-3 lata pomyśl o programowaniu gier.


(pain3hp) #3

zacznij od nauki matematyki i fizyki, za 4lata zacznij z językami programowania, może za 10lat zrobisz jakąś grę


(Marcin86s) #4

Java

Genialne pytanie to tak jak byś zapytał o czas dotarcia do celu, a nie uwzględnił tego czy na piechotę czy samolotem, gratuluje! =D>


(Razi) #5

Prostszy i szybszy w nauce i pisaniu - Java. Do lżejszych gierek się jeszcze nada, nawet i do ciężejszych, ale ogólnie ze względów wydajnościowych używa się C/C++.+

Co do drugiej części - można napisać snake'a na planszy 1000×1000 w 20 minut, którego przejście zajmie te 100 godzin, a można napisać gierkę której przejście zajmie 15 minut, a pisać ją kilka lat.

Generalnie jeśli chcesz się w ogóle uczyć programowania by pisać tylko gry, daruj sobie - to się zwykle kończy spamowaniem na forach pytaniami nowicjuszy. Poczytaj kursy, popróbuj coś prostszego, a przekonasz się czy w ogóle masz do tego predyspozycje.


(Frankfurterium) #6

Średnio się zgodzę. Sam znam dwa gatunki programistów:

1) Jestem geniuszem i piszę całą aplikację sam / piszę najważniejsze fragmenty kodu;

2) Jestem zdolnym klepaczem, należę do ekipy która napisze 80% kodu;

Ten pierwszy musi znać matematykę i fizykę, ten drugi po prostu musi mieć jako-takie doświadczenie.

Po mojemu, jeżeli koniecznie chcesz pisać gry, możesz pisać w:

  • Języku niskopoziomowym (C, C++), żeby tworzyć klasyczne gry desktopowe;

  • Języku "pośrednim" na aplikacje mobilne (Java, C#, Objective-C), bo rynek gier mobilnych ciągle rośnie w siłę;

  • Językach webowych (HTML5 + CSS + JS), bo jw.


(Rolek0) #7

Co tak pesymistycznie? :wink:

Podstawy matematyki i logiki i każdy w miarę ogarnięty osobnik powinien, po kilku rozdziałach dobrego tutoriala do jakiegoś języka, napisać grę w zgadywanie liczby wylosowanej przez komputer czy inne tego typu rzeczy :wink:

A jeśli będzie chciał się uczyć i rozwijać to może później zabierać się za coraz ambitniejsze produkcje. I nie widzę przeszkód by jednocześnie uczył się matematyki i programowania :slight_smile:

„Fizyka” w grach często ogranicza się do „co ma wisieć nie utonie”, albo najwyżej jakieś luźne nawiązanie do mechaniki klasycznej, :wink: więc nie ma potrzeby przesadzać z fizyką (chociaż wypadałoby znać). Bardziej przydatna jest dobra znajomość matematyki, bo niezależnie, na jakich zasadach opiera się gra, to trzeba to wszystko policzyć. Warto też rozumieć angielski, bo niestety większość literatury w tej branży jest po angielsku.

Ale najważniejsze to chcieć się uczyć , bo bez tego pozostałe rzeczy tracą sens. Niestety często można spotkać ludzi, którzy chcą robić superwypasionegieryżeWoWsięchowa a nie chcą się uczyć :frowning:


(somekind) #8

Jakie konkretnie wiedza fizyczna jest potrzebna do napisania warcabów?


(pain3hp) #9

Gdyby robił warcaby w 3d i chciałby np. animować wymianę pionka to przyda mu się chociażby takie coś jak wektor.

Jeżeli chcesz wprowadzać głupią dyskusję to możemy schodzić coraz niżej.

Zróbmy formularz w HTML, zróbmy listę select z dwiema opcjami "1" i "2" a w PHP obsłużmy żądanie

if($_POST['option'] == rand(1,2)) echo "Wygrałeś"; else echo "Przegrałeś";

Więc nie ucz się matematyki, fizyki, tylko naucz się HTML i PHP a będziesz tworzył super gry, które wciągną niejednego na 100minut.

Mimo wszystko ja uważam, że aby zostać programistą gier trzeba mieć w jednym palcu matematykę i fizykę. Myślę o poważnych grach 3d


(somekind) #10

Tylko nie wszystkie gry są grami 3D, i nie każdy musi pisać silniki do nich.

Ale dobrze, że uściśliłeś, bo Twój poprzedni post był bez sensu.


(Rolek0) #11

Wektor to pojęcie matematyczne.

To, że działania na wektorach tłumaczy Ci nauczyciel fizyki, wynika z niedopasowania programów nauczania poszczególnych przedmiotów.

No taki np. OGame potrafił wciągnąć :smiley:


(pain3hp) #12

Kto tak stwierdził? Ty? Może niedopasowaniem programu jest to, że Ciebie uczyli wektorów na matematyce? Ja miałem wektory zarówno na fizyce jak i matematyce jednak w innych kontekstach, w szkole średniej i wyższej. W fizyce (a wcześniej pisałem o grach 3d) wektory stosowane np. w mechanice co również jak uważam jest potrzebne do pisania gier 3d. W matematyce zaś, czysto teoretyczna strona. Niektórzy mówią, że językiem fizyki jest matematyka więc poniekąd masz rację ale nie do końca.


(Rolek0) #13

Z tym niedopasowaniem miałem na myśli sytuację, gdy na pewnym etapie edukacji na jednym przedmiocie potrzebna jest wiedza z innego przedmiotu, na którym nie została jeszcze omówiona (i na tym „właściwym” przedmiocie jeszcze długo nie będzie omówiona). Nie żeby mi to jakoś przeszkadzało, wskazałem tylko do której dziedziny wiedzy należy pojęcie wektora; a że wektory są używane w fizyce, no cóż wiele dziedzin nauki używa matematyki :wink:

Mam wrażenie, że uznajesz jedynie gry w 3D :wink:

Do gier, które nawet nie próbują udawać rzeczywistego świata (np. logiczne, karciane), nie potrzebna jest jakaś duża znajomość fizyki, a do wielu innych często właściwie wystarczy kinematyka :slight_smile:

Warcaby można rozegrać na dwuwymiarowej planszy; fajne animacje to miły dodatek a nie zasadnicza część gry :wink:


(Drobok) #14

Ale animacja nijak się ma do fizyki w twym przykładzie :stuck_out_tongue:


(Rolek0) #15

Właściwie chodziło mi ogólnie o to, że w wielu grach pewne rzeczy nie są konieczne, aby dana gra była grywalna :wink: Użyłem przykładu warcabów, do których pain3hp dodał 3D i animacje :slight_smile:


(sadaj72) #16

Ciekawy temat :wink:

Od razu mówię że nie jestem programistą i o programowaniu ma raczej niewielkie pojęcie. Ale czy aby na pewno te 4 lata nauki matematyki, fizyki i 10 lat programowania wystarczy aby zrobić grę?

Skoro uznajesz tylko "poważne gry 3d" to wiesz że kluczowe znaczenie ma dzisiaj grafika, którą przecież trzeba zaprojektować, czy te 10 lat nauki matematyki, fizyki... ułatwi stworzenie ładnej oprawy graficznej? A co z udźwiękowieniem, muzyką, czy w skład nauki programowania wchodzi nauka gry na instrumentach? I wreszcie "grywalność", na co komu matematyczna gra-majstersztyk, korzystająca z najbardziej zaawansowanych algorytmów graficznych i fizycznych skoro balans rozgrywki leży a granie nie sprawia frajdy?

Moim skromnym zdaniem zamiast wkuwać matematykę, fizykę i bóg jeden wie co jeszcze, lepiej drobnymi kroczkami doskonalić swoje umiejętności. Myślę że programując można załapać pewne elementy matematyki i fizyki niezbędne w grach i na pewno przyjdzie to łatwiej niż siedząc nad książkami z nadzieją że może fragmenty bezkresnej wiedzy nakreślone na stronicach okażą się przydatne w przyszłości, a zwykle tak nie jest.

Poza programowaniem niezbędne są także umiejętności artystyczne (jeśli mówimy o małej ekipie, czy grze tworzonej przez jedną osobę), które też trzeba szlifować, i mnóstwo, wręcz ogromna ilość testów aby wyłapać wszelkie nieścisłości w mechanice rozgrywki czy balansie.


(cinkibolek) #17

Czy koleś zadający takie pytanie wygląda wam na kogoś chcącego tworzyć poważne gry 3D? Ogarnijcie się.

On nie ma pojęcia o programowaniu czegokolwiek, więc najpierw niech zacznie naukę od programowania w basicu (zresztą nieważne w czym). Koniec kropka i po tym powinien wątek być od razu zamknięty i oznaczony tagiem "rozwiązane problemy".


(pain3hp) #18

jasne, że nie trzeba, na siłę to warcaby się w konsoli zrobi.

Dyskusja się toczy a autor pewnie już dawno temu zrezygnował ze swojego pomysłu zostania twórcą gier :stuck_out_tongue: