Czy powinienem nauczyć się tworzenia gier 2D przed 3D? [Zamknięte]

14

Jestem programistą aplikacji na iPhone'a. Chcę zająć się grami na iOS. Pytanie brzmi: czy powinienem zacząć od nauki 2D, takich jak Cocos 2D lub Corona SDK, zanim nauczę się gier 3D, takich jak Unity? Bardziej interesuję się grami 3D, ale czy uważasz, że znajomość gier 2D jest niezbędna do nauki programowania 3D?

Bałwan
źródło
Przepraszam, myślę, że dane pytanie prawdopodobnie nie jest duplikatem tego, które podłączyłem. Chociaż odpowiedzi obejmują wiele tego samego gruntu.
bummzack

Odpowiedzi:

11

To zależy od tego, jak silny jesteś w matematyce i pojęciach programowania gier 3D .

2D można uzyskać, używając tylko koncepcji pozycji x, y i prędkości (oraz dodając i odejmując - w zasadzie wektory) i kolizji pola 2D.

W 3D musisz martwić się o wiele więcej matematyki: matryce projekcyjne, matryce widokowe, frusta ..

Ponadto musisz wchodzić w interakcje z znacznie bogatszym zestawem funkcji z rysunkowego interfejsu API, którego używasz (tylko ze względu na fakt, że robisz 3D, więc musisz nauczyć się o wiele więcej funkcji związanych z 3D ).

Microsoft XNA ma doskonałą obsługę uruchamiania w 2D i ułatwia renderowanie za pomocą SpriteBatch . Jak tylko przejdziesz do 3D, musisz automatycznie nauczyć się VertexBuffer lub Modelu , a potem pojawia się ModelBones i wszystko inne, co się z tym wiąże.

Najlepiej zacząć od 2D, tylko dlatego, że pojęcia, które musisz zrozumieć, są mniejsze (duszki 2D? Cakewalk!). Po pewnym doświadczeniu za paskiem powinieneś dobrze robić 3D.

Bobobobo
źródło
9

Jedyną podstawową różnicą między tworzeniem gier 2D i 3D jest to, czy używasz 3. osi. Jeśli używasz silnika takiego jak Unity, możesz równie łatwo tworzyć gry 2D, jak gry 3D, po prostu używając kamery ortograficznej i duszek zamiast modeli.

Biorąc to pod uwagę, jeśli nie używasz silnika, który wykonuje za Ciebie ciężkie podnoszenie 3D, jest to o wiele trudniejsze. Zobacz odpowiedź na to pytanie: Co wziąć pod uwagę, decydując się na grę 2D vs 3D?

To, co powinieneś zrobić, to zdecydować, którą grę chcesz stworzyć, a grafika i projekt podpowiedzą, czy musi to być 2D czy 3D.

Tetrad
źródło
4
Myślę, że upraszczasz. 2D jest łatwiejsze, ponieważ wyrzucając trzecią oś, jest o wiele mniej do przemyślenia. Kolizja staje się prostsza, łatwiejsze jest omawianie problemów na papierze, a uczenie się programowania gry 2D jest łatwiejsze niż programowanie gry 3D.
bobobobo
3
Jest to uproszczenie, ale przede wszystkim doszedłem do tego, że 1) 2D lub 3D nie ma znaczenia dla dużego podzbioru rzeczy, które robisz w grze (przepływ interfejsu użytkownika, podstawowa mechanika, tworzenie sieci itp.) I 2) Korzystanie z dowolnego solidnego oprogramowania pośredniego (szczególnie Unity) wykona dla ciebie ogromną większość matematyki, miejmy nadzieję, że pozwoli ci skoncentrować się na samej logice gry.
Tetrad
Ostatnie zdanie to gwoździe.
Tim Holt,
5

Zgadzam się z Tetradem, że powinieneś pomyśleć o sztuce i projektowaniu, a to poprowadzi cię, jeśli będzie to 2D lub 3D. Powiem też, że dobrym pomysłem może być stworzenie gry 2D, abyś nie musiał myśleć o trudniejszych rzeczach, które pojawiają się w grach 3D. Należy również zdać sobie sprawę, że mózg przetwarza mniej informacji w grach 2D, co jest tym, czego chcesz, aby uzyskać bardziej swobodne wrażenia.

Jeśli spojrzysz na większość udanych gier niezależnych w ciągu ostatnich 3 lat, wiele z nich było w 2D.

http://www.braid-game.com/
http://limbogame.org/
http://supermeatboy.com/
http://www.andyetitmoves.net/

Tak więc firma może odnieść sukces, tworząc tylko gry 2D. Sukces gier wynika z mechaniki, historii, estetyki i technologii. W przeciwnym razie znany jako tetrad. Zrywam temat, więc dygresję.

Joey Green
źródło
+1 za ostatni akapit, ponieważ podkreśla znaczenie jakości treści (np. Fabuły) jako cechy sukcesu - niektórzy twórcy gier wydają się przegapić te inne czynniki i koncentrują się tylko na aspektach 3D, ale tam jest wielu fanów, którzy cenią sobie głębię, jaką może zapewnić dobra historia i przemyślane tło gry (niezależnie od liczby wymiarów).
Randolf Richardson,
Chociaż zgadzam się z większością twoich wypowiedzi, było kilka doskonałych gier 2D, których nigdy nie można było uznać za przypadkowe, podczas gdy przeciętna strzelanka 3D jest znacznie mniej zaangażowana w porównanie.
Edwin Buck,
3

Pamiętaj, że łatwiej będzie ci ćwiczyć zasoby sztuki 2D. Chociaż nie sądzę, aby nauka tworzenia gier 2D była niezbędna do nauki tworzenia gier 3D (tak czy inaczej kod gry nad kodem graficznym jest prawie taki sam), nadal zalecałbym, aby większość początkujących zaczynała od gier 2D, chyba że już mieć solidne źródło grafiki 3D (np. będziesz uczyć się wraz z kumplem, który jest artystą 3D).

Jeśli chodzi o kod, trudność zależy od tego, czego się uczysz i jakiego silnika będziesz używać (w szczególności jeśli będziesz pisać własny silnik). Kod graficzny 3D niskiego poziomu jest znacznie bardziej skomplikowany niż kod graficzny 2D niskiego poziomu, ale jeśli będziesz używać silnika takiego jak Unity, nie będziesz pisać kodu graficznego niskiego poziomu. Kod dla gry 3D wbudowanej w ten silnik nie jest bardziej skomplikowany niż kod dla gry 2D. Rzeczywiście, może to być znacznie mniej skomplikowane, w zależności od konkretnego silnika, o którym mówisz.

jhocking
źródło