Co wziąć pod uwagę, decydując się na grę 2D vs 3D? [Zamknięte]

68

O ile „trudniejszy” jest 3D niż 2D pod względem:

  • Kwota / złożoność kodu
  • Wymagany poziom umiejętności matematycznych
  • Czas poświęcony na tworzenie zasobów sztuki

Oryginalny tytuł: Jak trudne jest tworzenie gier 3D w porównaniu do 2D?

Brian Ortiz
źródło
27
O jeden wymiar trudniej :)
Ólafur Waage
5
Czekaj subiektywnie ...
Cyklop
Hmm ... powiedziawszy to, naprawdę podoba mi się odpowiedź @ munificent. Teraz nie jestem pewien, jak chcę kategoryzować to pytanie. :) Nie jest to również odpowiednie dla meta ... Cholera tych przypadkowych przypadków . :)
Cyklop
2
Złożoność kodu, poziom matematyki i czas wydają mi się względnie obiektywnymi miernikami trudności.
Brian Ortiz
@Brian, tak, żebyśmy mogli cofnąć bliskie głosów. :) Ponownie oceniając, myślę, że częścią problemu jest tytuł - „Jak ciężko jest X w porównaniu z Y”, brzmi subiektywnie. Lepszym tytułem może być: „Jakie są różnice w rozwoju 3D w porównaniu do 2D?” (może to zmienić?). Na to właśnie pytanie odpowiedzieli @munificent , chociaż w jednym wierszu , który dotyczył tytułu. :)
Cyklop

Odpowiedzi:

127

3D jest o rząd wielkości trudniejsze niż 2D:

Programowanie:

  • Matematyka jest znacznie bardziej złożona do renderowania, fizyki, kolizji itp. Mam nadzieję, że lubisz macierze i wektory!
  • Ze względu na poprzedni punkt dobra wydajność jest znacznie trudniejsza do osiągnięcia . Dzięki dzisiejszemu sprzętowi możesz stworzyć ładnie wyglądającą grę 2D bez konieczności myślenia o wydajności, a nie o byciu głupim. W 3D będziesz musiał dokonać optymalizacji.
  • Struktury danych są znacznie bardziej złożone. Ze względu na poprzedni punkt trzeba pomyśleć o wygaszaniu, partycjonowaniu przestrzeni itp., Z których wszystkie są trudniejsze niż proste „tutaj jest lista wszystkiego na poziomie”.
  • Animacja jest znacznie bardziej skomplikowana. Animacja w 2D to po prostu klatka filmu z możliwie różnymi pozycjami dla każdej klatki. Dzięki 3D będziesz musiał radzić sobie z osobnymi zasobami animacji, kościami, skórowaniem itp.
  • Ilość danych jest znacznie wyższa. Będziesz musiał zrobić inteligentne zarządzanie zasobami. Gry są dostarczane z dużą ilością treści, ale konsole na pewno nie mają pamięci.
  • Rurociągi są bardziej skomplikowane w rozwoju i utrzymaniu. Będziesz potrzebować kodu, aby uzyskać zasoby w preferowanym formacie silnika. Ten kod nie pisze się sam.

Sztuka:

  • Aktywa są oczywiście znacznie bardziej złożone. Będziesz potrzebował tekstur, modeli, platform / szkieletów, animacji itp. Narzędzia są znacznie bardziej złożone i kosztowne, a umiejętności ich używania trudniejsze do znalezienia.
  • Zestaw potrzebnych umiejętności jest szerszy. Dobrzy animatorzy często nie są dobrymi artystami tekstur. Dobre zapalniczki mogą nie być dobrymi riggerami.
  • Zależności między zasobami są bardziej złożone. Dzięki 2D możesz czysto podzielić swoje zasoby między różnych artystów: ten facet ma poziom pierwszy, ten facet robi wrogów, itp. W 3D animacja wpływa na platformę, która wpływa na szkielet, który wpływa na model, który wpływa na tekstury, które wpływają na oświetlenie ... Twój zespół artystyczny będzie musiał koordynować ostrożnie i stale.
  • Ograniczenia techniczne są bardziej złożone. W 2D jest to w zasadzie „oto twoja paleta i twój maksymalny rozmiar duszka”. Dzięki 3D Twoi artyści będą musieli zrównoważyć rozmiar tekstury (dla wielu tekstur: zwierciadlany, kolor, normalny itp.), Liczbę wielokątów, liczbę klatek kluczowych, liczbę kości itp. Dane szczegółowe silnika będą nakładać na nich dziwne wymagania ( „Silnik X wysadza, jeśli masz więcej niż 23 kości!”).
  • Przetwarzanie zasobów trwa dłużej. Rurociągi do konwersji zasobów 3D do formatu gotowego do gry są złożone, wolne i często zawierają błędy. Dzięki temu artyści widzą swoje zmiany w grze znacznie dłużej, co spowalnia ich.

Projekt:

  • Wprowadzane przez użytkownika to dziwka. Musisz poradzić sobie ze śledzeniem kamery, intuicyjnym przekształcaniem danych wejściowych użytkownika w przestrzeń postaci, rzutowaniem selekcji 2D na przestrzeń świata itp.
  • Poziomy są trudne do napisania. Twoi projektanci poziomów potrzebują umiejętności projektanta gier i architekta. Muszą brać pod uwagę zagubienie się graczy, widoczność itp. Podczas budowania poziomów.
  • Poziom fizyki jest żmudny dla autora. Będziesz musiał sprawdzić i sprawdzić ponownie, aby upewnić się, że nie ma luk i błędów w fizyce poziomów, w których gracze mogą utknąć lub upaść na całym świecie.
  • Narzędzia są znacznie trudniejsze. Większość gier potrzebuje własnych narzędzi do tworzenia takich rzeczy jak poziomy. Ponieważ treść jest o wiele bardziej złożona, tworzenie narzędzi wymaga więcej pracy. Zwykle skutkuje to błędami, niekompletnością i trudnością w użyciu.
hojny
źródło
2
Doskonała odpowiedź. Myślałem, że to będzie bardziej subiektywne, ale wyłożyliście to bardzo jasno. Chociaż może nie być rzeczywistej liczby (3,5x trudniej), masz uzasadnienie dla rządów wielkości trudniejszych.
Cyklop
5
+1 przybity. To pytanie nie jest subiektywne. Mówimy o dwóch zupełnie różnych światach. Trudności są nieodłączne. Nie zaczynaj myślenia na poziomie genialnym ...
David McGraw
Znakomita odpowiedź!
zebrabox
1
Widzę, że moja odpowiedź jest pokonana przez kilka (używając słów autorów) wielkości. Jest tak wspaniały, że sam stworzyłem wiele rzeczy, o których nigdy wcześniej nie myślałem. Dobra robota!
Toby
Świetna odpowiedź. Jedną dodatkową myślą, którą miałem - na korzyść 3D - jest to, że kiedy zaczynałem, o wiele łatwiej było znaleźć zasoby związane z programowaniem 3D niż 2D. Ale to dobrze ponad 5 lat temu i od tego czasu krajobraz zmienił się dość mocno.
Andrew Russell,
11

Dużo trudniej. Jeśli nie czujesz się komfortowo, tworząc grę 2D, NAPRAWDĘ nie spodoba ci się to, co trzeba zrobić w grze 3D.

Dobra wiadomość: 99% czasu tak naprawdę nie potrzebujesz. Pomyśl o każdej grze 3D, jaką możesz. Weź kamerę, przymocuj ją do sufitu, patrząc w dół, abyś teraz patrzył na płaszczyznę 2D. Doom staje się Rękawicą. Civ IV staje się Civ I. Metal Gear Solid staje się oryginalnym Metal Gear. Żadna z tych gier nie jest „zła” tylko dlatego, że ma 2D; są doskonale grywalne i na ogół mają taką samą rozgrywkę.

Ian Schreiber
źródło
5

W dużej mierze 3D wprowadzi więcej trudności niż uproszczeń. Ale chcę dodać kilka rzeczy, które mogą być łatwiejsze w grze 3D:

  • Dostosowania odtwarzacza. Wyobraź sobie, że Team Fortress 2 był platformówką 2D z 20 animacjami dla każdej klasy. Teraz wyobraź sobie, że twój dyrektor marketingu zasugerował, aby dodać czapki do gry. Oznaczałoby to 20 nowych arkuszy sprite dla każdej klasy; i rozszerzy się tylko, jeśli zdecydujesz się dodać inne różne przedmioty. Jedna firma, w której pracowałem, wpadła w tę frustrację.
  • Ruchy postaci. Olinowanie i animowanie z pewnością nie jest prostym zadaniem, ale jeśli twoje postacie są złożone, w końcu będzie łatwiejsze niż w 2D, gdzie przerysujesz postać całkowicie dla każdej pozy. Praktycznie pierwszym znakiem doskonałości w każdej grze 2D jest to, ile razy twórcy byli gotowi przerysować swoje postacie w celu dodatkowej animacji.
  • Znalezienie silnika. Mogę stworzyć prostą platformówkę w niecałą godzinę w 3D bez żadnego kodowania, ale w 2D może to potrwać dłużej. Na pewno znajdziesz mnóstwo dobrych silników 2D po kilku spojrzeniach, ale szczerze mówiąc, nic nie przychodzi mi do głowy; niewielu osiągnęło tak ogromną popularność, jak Ogre3D lub inne silniki 3D. W przypadku 3D dostępne są UDK, Unity i wiele innych ram. Częściowo może to wynikać z faktu, że zmniejszona złożoność 2D oznacza, że ​​amatorom nie jest tak łatwo napisać własne, na podstawie XNA. (Ponadto niektóre ze wspomnianych silników 3D można stworzyć, aby stworzyć grę 2D)
Katana314
źródło
3

To bardzo subiektywne pytanie, ponieważ odpowiedź zależy od osobistych preferencji / doświadczenia / wiedzy / inteligencji.

Postaram się odpowiedzieć neutralnie, ale ponieważ jestem tylko programistą, a nie artystą, mogę postawić hipotezę tylko do ostatniego punktu.

Złożoność kodu nie powinna się tak bardzo różnić, z wyjątkiem matematyki i może renderowania / fizyki. Logika gry nie różni się tak bardzo, jeśli weźmiesz zdrowy poziom abstrakcji (nie za dużo - starasz się, aby gra nie była silnikiem, przynajmniej tak sądzę z twojego pytania.) Oczywiście łatwiej jest obliczyć ruch w 2D, ponieważ masz ograniczoną perspektywę. Fizyka jest o wiele trudniejsza, gdy ma się do czynienia z trzema osiami. Ponadto ładowanie duszka z mapy bitowej jest o wiele łatwiejsze niż ładowanie modelu 3D (i ewentualnie teksturowanie).

Matematyka jest bardziej skomplikowana w przypadku 3D (tak naprawdę bez zastanowienia - ćwiartki, wektory, macierze. - powiedział nuff)

Myślę, że w przypadku sztuki musi być trudniej także w 3D, ponieważ musisz stworzyć sztukę, która wygląda dobrze pod każdym możliwym kątem widzenia (lub przynajmniej z szerokiego zakresu), i zwykle chcesz też teksturować rzeczy. Animowanie siatki nie jest piknikiem, aby stać się realistycznym, a uzyskanie faktury do zabawy też nie jest.

Toby
źródło
Ładowanie duszka jest łatwiejsze niż ładowanie modelu? Modele obejmują szkielety, skórki, shadery, współrzędne UV, tekstury, normalne mapy itp. Duszek jest obrazem. Podążając za tym próżnym, sztuka 3D jest o wiele trudniejsza, ze względu na rzeczy wymienione powyżej.
Sean James
Przepraszam, to był błąd. całkiem spory, dzięki za zwrócenie na to uwagi. To musiało być tak nijakie, że się nie zarejestrowałem, kiedy poprawiłem.
Toby
3

Inną rzeczą do rozważenia ... w grze 3D, którą prawdopodobnie chcesz rozważyć użycie wcześniej istniejącego silnika i skoncentrować się na tworzeniu gry, a nie silnika. Może to w jakiś sposób zmniejszyć czas i trudność podejmowane w grze 3D (co jest doskonale identyfikowane przez wspaniałą).

O wiele łatwiej jest zbudować grę 2D od podstaw. Ale oczywiście można (i należy to rozważyć) również za pomocą bibliotek sprite, sound, przenośności. Nie ma sensu wymyślać koła poza celami edukacyjnymi.

Wydaje się oczywiste - ale pomyślałem, że warto powiedzieć.

Rob Probin
źródło
2

Pozwólcie, że zaoferuję jedną ciekawą uwagę na urządzenia mobilne, w których wydajność 2D może faktycznie pozostawać w tyle za modelami low poly 3d:

1) Szybkość wypełniania może powodować pewne problemy z wydajnością, gdy mamy do czynienia z wieloma ikonami na ekranie w danym momencie.

2) Wymagania dotyczące pamięci tekstur dla w pełni rozwiniętej gry 2D są znacznie wyższe, jeśli używasz animacji opartej na ramkach. Każda ramka z pojedynczymi znakami obniża całkowity budżet tekstur w sposób liniowy. Oznacza to, że jeśli korzystasz z prostej animacji flipbook, masz bardziej ograniczony budżet animacji niż w przypadku animacji 3D opartej na szkielecie.

Zestawy narzędzi, takie jak Spine, pomagają nieco wyrównać to pole gry, tworząc deformacje 2d tekstury.


Biorąc to pod uwagę, a także łatwość dostępu do Unity i UDK, które wydobywają wiele z złożoności tworzenia gier, które istniały lata temu w 3D, odpowiedź nie jest taka prosta.

M2tM
źródło
Sugeruję, aby nie dodawać do starych postów takich nowych informacji. Obecna najwyższa odpowiedź jest nadal bardzo aktualna, a to pytanie nie wymagało tak naprawdę przejścia na pierwszą stronę.
Pip
2
Współpracownik właśnie dziś mnie połączył, a ponieważ moje uzupełnienie tej odpowiedzi było trafne od lat, myślę, że jest w porządku. Nie ma nic złego w dodawaniu do starego pytania nowych istotnych informacji! Większość osób używa google jako interfejsu do przepełnienia stosu, więc nawet bardzo stare elementy mogą pojawiać się w odpowiednich wyszukiwaniach do dziś.
M2tM
1

To zależy od twórcy gry. Czasochłonna część to tworzenie zasobów gry. Jeśli uważasz, że łatwiej jest tworzyć te zasoby za pomocą programów Illustrator i Photoshop, wówczas 2D jest łatwiejsze, ale jeśli wiesz, że modelowanie 3D prawdopodobnie zgadzasz się ze mną, że 3D jest znacznie łatwiejsze niż 2D.

Jeśli chodzi o animację, zdecydowanie 3D jest łatwiejszy i szybszy oraz łatwiejszy w zarządzaniu.

Na przykład podczas gdy w 3D możesz wykonać wszystkie animacje dla postaci w ciągu kilku godzin w jednej scenie, w 2d musisz narysować postać od zera dla każdej czynności, którą ma wykonać i zapisać wiele plików, zajmuje to kilka dni w 2D vs. godziny w 3D.

Również jeśli coś zmienisz, musisz powtórzyć wszystko w 2D, ale nie musisz zmieniać wszystkiego, na przykład, jeśli zdecydujesz, że twoja postać nie powinna mieć kapelusza. Nie musisz powtarzać wszystkich animacji, po prostu usuwasz czapkę w 3D.

Jeśli masz postacie humanoidalne, dostępne są Tysiące darmowych animacji mo-cap. Przez większość czasu nie musisz tworzyć animacji dla swojej gry.

Pod względem złożoności i programowania nie ma różnicy.

Ale powinieneś dobrze znać 3D, w przeciwnym razie możesz skończyć w silniku gry, twoja animacja różni się od aplikacji 3D lub twoja głowa postaci obraca się w odwrotnym kierunku i nie wiesz, jak rozwiązać problem i niektóre inne usterki.

Powinieneś także zapoznać się z modelowaniem low poly w grach i jak teksturować w grze, różni się to od modelowania i teksturowania w animacji.

Nawiasem mówiąc, wbrew powszechnemu przekonaniu, 3D wymaga mniej sprzętu dla urządzeń mobilnych.

yusef ghatavi
źródło