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?
14
Odpowiedzi:
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.
źródło
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.
źródło
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ę.
źródło
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.
źródło