Was ist zu beachten, wenn Sie sich für ein Spiel zwischen 2D und 3D entscheiden? [geschlossen]

68

Wie viel "schwerer" ist 3D als 2D in Bezug auf:

  • Menge / Komplexität des Codes
  • Mathematikkenntnisse erforderlich
  • Zeitaufwand für die Erstellung von Kunstobjekten

Originaltitel: Wie schwierig ist die Entwicklung von 3D-Spielen im Vergleich zu 2D-Spielen?

Brian Ortiz
quelle
27
Eine Dimension schwerer :)
Ólafur Waage
5
Waay subjektive ...
Cyclops
Hmm ... nachdem ich das gesagt habe, mag ich die Antwort von @ munificent wirklich . Jetzt bin ich mir nicht sicher, wie ich diese Frage einordnen soll. :) Es ist auch nicht ganz richtig für Meta ... Verdammt diese Randfälle . :)
Cyclops
2
Die Komplexität des Codes, das mathematische Niveau und die Zeit scheinen mir relativ objektive Schwierigkeitsgrade zu sein.
Brian Ortiz
@ Brian, ja, ich wünschte, wir könnten enge Abstimmungen rückgängig machen . :) Wenn ich es neu bewerte, denke ich, dass ein Teil des Problems der Titel ist - "Wie schwer ist X gegen Y", klingt subjektiv. Ein besserer Titel könnte sein: "Was sind die Unterschiede in der 3D-Entwicklung gegenüber 2D?" (vielleicht ändern?). Welches ist eigentlich die Frage, die @munificent beantwortet , obwohl mit einem Einzeiler , der den Titel ansprach. :)
Cyclops

Antworten:

127

3D ist eine Größenordnung schwerer als 2D:

Programmierung:

  • Die Mathematik ist für Rendering, Physik, Kollision usw. wesentlich komplexer. Ich hoffe, Sie mögen Matrizen und Vektoren!
  • Aufgrund des vorherigen Punktes ist es viel schwieriger, eine gute Leistung zu erzielen . Mit der heutigen Hardware können Sie ein gut aussehendes 2D-Spiel erstellen, ohne über die Leistung nachdenken zu müssen, ohne aktiv dumm zu sein. Bei 3D müssen Sie einige Optimierungen vornehmen.
  • Die Datenstrukturen sind viel komplexer. Aufgrund des vorherigen Punktes müssen Sie über Culling, Space Partitioning usw. nachdenken. All dies ist herausfordernder als ein einfaches "Hier ist eine Liste von allem im Level".
  • Animation ist viel komplizierter. Animation in 2D ist nur ein Filmstreifen von Bildern mit möglicherweise unterschiedlichen Positionen für jedes Bild. Bei 3D müssen Sie sich mit separaten Animationselementen, Bones, Skins usw. befassen.
  • Das Datenvolumen ist viel höher. Sie müssen ein intelligentes Ressourcenmanagement durchführen. Spiele werden mit vielen Inhalten ausgeliefert, aber Konsolen haben verdammt noch mal keine großen Mengen an Speicher.
  • Die Pipelines sind komplexer zu entwickeln und zu warten. Sie benötigen Code, um Assets in das bevorzugte Format Ihrer Engine zu bringen. Dieser Code schreibt sich nicht von selbst.

Kunst:

  • Das Vermögen ist natürlich viel komplexer. Sie benötigen Texturen, Modelle, Bohrinseln / Skelette, Animationen usw. Die Werkzeuge sind viel komplexer und teurer und die Fähigkeiten, sie zu verwenden, sind schwerer zu finden.
  • Das Spektrum der erforderlichen Fähigkeiten ist breiter. Gute Animatoren sind oft keine guten Texturkünstler. Gute Feuerzeuge sind möglicherweise keine guten Rigger.
  • Die Abhängigkeiten zwischen den Assets sind komplexer. Mit 2D können Sie Ihre Assets sauber auf verschiedene Künstler verteilen: Dieser Typ macht Level 1, dieser Typ macht Feinde usw. Bei 3D wirkt sich die Animation auf das Rig aus, das das Skelett beeinflusst, das das Modell beeinflusst, das die Texturen beeinflusst, die die Beleuchtung beeinflussen ... Ihr Künstlerteam muss sorgfältig und ständig koordinieren.
  • Die technischen Einschränkungen sind komplexer zu bewältigen. Bei 2D ist es im Grunde "Hier ist deine Palette und deine maximale Sprite-Größe". Mit 3D müssen Ihre Künstler die Texturgröße (für mehrere Texturen: Spiegel, Farbe, Normal usw.), die Polygonzahl, die Keyframe-Zahl, die Knochenzahl usw. ausgleichen. Die Details der Engine stellen zufällige, seltsame Anforderungen an sie ( "Engine X geht in die Luft, wenn Sie mehr als 23 Knochen haben!").
  • Die Asset-Verarbeitung dauert länger. Pipelines zum Konvertieren von 3D-Assets in ein spielbereites Format sind komplex, langsam und oft fehlerhaft. Dadurch dauert es für Künstler viel länger, ihre Änderungen im Spiel zu sehen, was sie verlangsamt.

Design:

  • Benutzereingabe ist Hündin. Sie müssen sich mit Kamera-Tracking befassen, Benutzereingaben intuitiv in den Raum des Charakters konvertieren, 2D-Auswahlen in den Weltraum projizieren usw.
  • Levels sind schwer zu verfassen. Grundsätzlich benötigen Ihre Level-Designer die Fähigkeiten eines Game-Designers und eines Architekten. Sie müssen berücksichtigen, dass Spieler verloren gehen, sichtbar werden usw., wenn sie ein Level aufbauen.
  • Niveauphysik ist mühsam für Autoren. Sie müssen prüfen und erneut prüfen und erneut prüfen, um sicherzustellen, dass es keine Lücken und Fehler in der Physik des Levels gibt, bei denen Spieler stecken bleiben oder durch die Welt fallen können.
  • Werkzeuge sind viel schwieriger. Die meisten Spiele benötigen ihre eigenen Tools, um Dinge wie Levels zu erstellen. Da der Inhalt so viel komplexer ist, sind die Tools aufwändiger zu erstellen. Dies führt normalerweise zu fehlerhafteren, unvollständigeren und schwerer zu verwendenden Werkzeugen.
herrlich
quelle
2
Hervorragende Antwort. Ich dachte, das wäre subjektiver, aber Sie haben es sehr deutlich dargestellt. Während es möglicherweise keine tatsächliche Zahl gibt (3,5x härter), haben Sie eine gute Argumentation für eine Größenordnung schwieriger gemacht.
Cyclops
5
+1 Genagelt. Diese Frage ist kaum subjektiv. Wir sprechen von zwei völlig unterschiedlichen Welten. Der Schwierigkeitsgrad steigt inhärent an. Beginnen Sie Ihr Denken nicht auf genialer Ebene ...
David McGraw
Hervorragende Antwort!
Zebrabox
1
Ich sehe, dass meine Antwort um mehrere Größen (um die Worte des Autors zu verwenden) geschlagen ist. Es ist so großartig, dass ich selbst eine Menge Dinge gelernt habe, an die ich vorher noch nie gedacht hatte. Gute Arbeit!
Toby
Gute Antwort. Ein weiterer Gedanke, den ich - zugunsten von 3D - hatte, war, dass es zu Beginn viel einfacher war, Ressourcen für die 3D-Entwicklung zu finden als für 2D. Aber das ist weit über 5 Jahre her und die Landschaft hat sich seitdem ziemlich verändert.
Andrew Russell
11

Viel schwerer. Wenn Sie es nicht mögen, ein 2D-Spiel zu erstellen, werden Sie das, was Sie benötigen, um ein 3D-Spiel zu erstellen, WIRKLICH nicht mögen.

Die gute Nachricht: 99% der Zeit brauchen Sie es nicht wirklich. Denken Sie an jedes 3D-Spiel, das Sie können. Nehmen Sie die Kamera, befestigen Sie sie an der Decke und schauen Sie nach unten, sodass Sie jetzt eine 2D-Ebene sehen. Das Schicksal wird zum Panzerhandschuh. Aus Civ IV wird Civ I. Metal Gear Solid wird das ursprüngliche Metal Gear. Keines dieser Spiele ist "schlecht", nur weil es 2D ist. Sie sind perfekt spielbar und haben im Allgemeinen fast das gleiche Gameplay.

Ian Schreiber
quelle
5

3D wird größtenteils mehr Schwierigkeiten als Vereinfachungen mit sich bringen. Aber ich möchte ein paar Dinge hinzufügen, die in einem 3D-Spiel tatsächlich einfacher sein könnten:

  • Player-Anpassungen. Stellen Sie sich vor, Team Fortress 2 wäre ein 2D-Plattformer mit 20 Animationen für jede Klasse. Stellen Sie sich vor, Ihr Marketingleiter hat vorgeschlagen, dem Spiel Hüte hinzuzufügen. Dies würde 20 neue Spritesheets für jede Klasse bedeuten. und es würde nur erweitert, wenn Sie sich entscheiden, andere verschiedene Elemente hinzuzufügen. Eine Firma, für die ich gearbeitet habe, ist in diese Frustration geraten.
  • Charakterbewegungen. Das Riggen und Animieren ist definitiv keine einfache Aufgabe, aber wenn Ihre Charaktere komplex sind, wird es irgendwann einfacher als in 2D, wo Sie die Charaktere für jede Pose komplett neu zeichnen würden. Praktisch die erste Auszeichnung in einem 2D-Spiel ist, wie oft die Entwickler bereit waren, ihre Charaktere für zusätzliche Animationen neu zu zeichnen.
  • Einen Motor finden. Ich kann einen einfachen Plattformer in weniger als einer Stunde in 3D ohne Codierung erstellen, aber in 2D kann es etwas länger dauern. Nach einigem Hinsehen werden Sie auf jeden Fall viele gute 2D-Engines finden, aber ehrlich gesagt fällt mir sofort nichts ein. nur wenige haben ihre massive Popularität so erreicht wie Ogre3D oder andere 3D-Engines. Für 3D stehen UDK, Unity und weit mehr Frameworks zur Verfügung. Ein Teil davon könnte sein, dass die reduzierte Komplexität von 2D bedeutet, dass es für Amateure nicht so schwierig ist, nur ihre eigenen zu schreiben, basierend auf XNA. (Außerdem können einige der genannten 3D-Engines zur Erstellung eines 2D-Spiels verwendet werden.)
Katana314
quelle
3

Dies ist eine sehr subjektive Frage, da die Antwort von persönlichen Vorlieben / Erfahrungen / Kenntnissen / Intelligenz abhängt.

Ich werde versuchen, neutral zu antworten, aber da ich nur ein Programmierer und kein Künstler bin, kann ich nur für den letzten Punkt eine Hypothese aufstellen.

Die Komplexität des Codes sollte nicht so sehr unterschiedlich sein, außer in Mathematik und vielleicht Rendering / Physik. Game Logic unterscheidet sich nicht so sehr, wenn Sie eine gesunde Abstraktionsebene wählen (nicht zu sehr - Sie versuchen, ein Spiel zu einer Engine zu machen, zumindest denke ich aus Ihrer Frage.) Offensichtlich ist es viel einfacher, Bewegungen zu berechnen in 2D, weil Sie begrenzte Perspektive haben. Die Physik ist viel schwieriger, wenn es um drei Achsen geht. Außerdem ist das Laden eines Sprites von einer Bitmap viel einfacher als das Laden eines 3D-Modells (und möglicherweise auch von Texturen).

Mathematik ist für 3D komplizierter (wirklich ein Kinderspiel - Quaternionen, Vektoren, Matrizen. ', Sagte Nuff.)

Für Kunst muss es meiner Meinung nach auch für 3D schwieriger sein, da Sie Kunst erstellen müssen, die aus jedem möglichen Betrachtungswinkel (oder zumindest aus einem großen Bereich) gut aussieht, und normalerweise auch Dinge texturieren möchten. Das Animieren eines Netzes ist kein Picknick, um realistisch zu werden, und die Textur zum Mitspielen ist es auch nicht.

Toby
quelle
Das Laden eines Sprites ist einfacher als das Laden eines Modells? Zu den Modellen gehören Skelette, Skins, Shader, UV-Koordinaten, Texturen, normale Karten usw. Ein Sprite ist ein Bild. In diesem Sinne ist 3D-Kunst aus den oben genannten Gründen sehr viel schwieriger.
Sean James
Es tut mir leid, das war ein Fehler. auch ein ziemlich großer, danke, dass du darauf hingewiesen hast. Es muss so langweilig gewesen sein, dass es sich beim Korrekturlesen nicht eingeschrieben hat.
Toby
3

Die andere zu berücksichtigende Sache ... bei einem 3D-Spiel möchten Sie wahrscheinlich die Verwendung einer bereits vorhandenen Engine in Betracht ziehen und sich darauf konzentrieren, ein Spiel zu erstellen, das keine Engine ist. Dies kann dazu beitragen, die Zeit und den Schwierigkeitsgrad eines 3D-Spiels zu verringern (wie durch munificent ausgezeichnet gekennzeichnet).

Es ist viel einfacher, ein 2D-Spiel von Grund auf zu erstellen. Aber natürlich können (und sollten) Sie auch Sprite-, Sound- und Portabilitätsbibliotheken verwenden. Es hat keinen Sinn, das Rad neu zu erfinden, außer zu Bildungszwecken.

Scheint naheliegend - aber ich dachte, es lohnt sich zu sagen.

Rob Probin
quelle
2

Gestatten Sie mir eine interessante Überlegung für mobile Geräte, bei denen die 2D-Leistung hinter den Low-Poly-3D-Modellen zurückbleiben kann:

1) Die Füllrate kann zu erheblichen Performance-Problemen führen, wenn Sie mit vielen Sprites gleichzeitig auf dem Bildschirm arbeiten.

2) Die Anforderungen an den Texturspeicher für ein vollständig ausgearbeitetes 2D-Spiel sind wesentlich höher, wenn Sie eine rahmenbasierte Animation verwenden. Mit jedem einzelnen Zeichenrahmen wird Ihr gesamtes Texturbudget auf lineare Weise aufgebraucht. Dies bedeutet, dass Sie bei Verwendung einer einfachen Daumenkino-Animation ein engeres Animationsbudget haben als bei einer skelettbasierten 3D-Animation.

Toolkits wie "Wirbelsäule" gleichen dieses Spielfeld ein wenig aus, indem sie 2D-Deformationen einer Textur erzeugen.


In Anbetracht dessen und der einfachen Zugänglichkeit von Unity und UDK, die beide einen Großteil der Komplexität der Spieleentwicklung, die es vor Jahren für 3D gab, extrahieren, ist die Antwort nicht so einfach.

M2tM
quelle
Ich würde vorschlagen, alte Posts wie diese nicht mit neuen Details zu versehen. Die aktuelle Top-Antwort ist immer noch sehr zutreffend, und diese Frage musste nicht wirklich auf die erste Seite gestoßen werden.
Pip
2
Ich wurde gerade heute von einem Kollegen damit verbunden, und da meine Hinzufügung zu dieser Antwort tatsächlich jahrelang genau war, denke ich, dass es in Ordnung ist. Es ist nichts Falsches daran, einer alten Frage neue relevante Informationen hinzuzufügen! Die meisten Menschen verwenden Google als Schnittstelle für den Stapelüberlauf, sodass bis heute auch sehr alte Elemente in relevanten Suchanfragen angezeigt werden können.
M2TM,
1

Es hängt vom Spieleentwickler ab. Der zeitaufwändige Teil ist das Erstellen von Spiel-Assets. Wenn Sie der Meinung sind, dass es für Sie einfacher ist, diese Elemente mit Illustrator und Photoshop zu erstellen, ist 2D für Sie einfacher. Wenn Sie sich jedoch mit 3D-Modellierung auskennen, stimmen Sie mir wahrscheinlich zu, dass 3D viel einfacher ist als 2D.

In Bezug auf Animation ist 3D definitiv einfacher und schneller und einfacher zu verwalten.

Während Sie beispielsweise in 3D alle Animationen für einen Charakter in wenigen Stunden in einer Szene erstellen können, müssen Sie in 2d den Charakter für jede Aktivität, die er ausführen und viele Dateien speichern soll, von Grund auf neu zeichnen. In 2D dauert dies Tage Stunden in 3D.

Auch wenn Sie etwas ändern, müssen Sie alles in 2D wiederholen, aber Sie müssen nicht alles ändern, wenn Sie beispielsweise entscheiden, dass Ihr Charakter keinen Hut haben soll. Sie müssen nicht alle Animationen wiederholen, sondern löschen nur den Hut in 3D.

Wenn Sie humanoide Charaktere haben, gibt es Tausende von kostenlosen Mo-Cap-Animationen. Meistens müssen Sie keine Animation für Ihr Spiel erstellen.

In Bezug auf Komplexität und Programmierung gibt es keinen Unterschied.

Aber Sie sollten sich mit 3D gut auskennen, da Sie sonst möglicherweise in der Game Engine landen. Ihre Animation unterscheidet sich von Ihrer 3D-App oder Ihr Charakterkopf dreht sich in die entgegengesetzte Richtung, und Sie wissen nicht, wie Sie das Problem lösen können.

Außerdem sollten Sie mit Low-Poly-Modellierung für Spiele und der Texturierung für Spiele vertraut sein. Sie unterscheidet sich von Modellierung und Texturierung für Animationen.

Übrigens Entgegen der weit verbreiteten Meinung ist 3D für mobile Geräte weniger hardwarebedürftig.

yusef ghatavi
quelle