Ich bin ein iPhone App Entwickler. Ich möchte in das iOS-Gaming einsteigen. Die Frage ist: Soll ich mit dem Erlernen von 2D wie Cocos 2D oder Corona SDK beginnen, bevor ich 3D-Spiele wie Unity lerne? Ich interessiere mich mehr für 3D-Spiele, aber denken Sie, dass 2D-Spiele eine Grundvoraussetzung für das Erlernen der 3D-Entwicklung sind?
14
Antworten:
Es hängt davon ab, wie gut Sie mit Mathematik und 3D-Spielprogrammierkonzepten umgehen können .
2D erhalten Sie, indem Sie nur Konzepte von x-, y-Positionen und -geschwindigkeiten (und deren Addition und Subtraktion - im Grunde Vektoren) und 2D-Boxkollisionen verwenden.
In 3D müssen Sie sich um viel mehr Mathe kümmern: Projektionsmatrizen, Ansichtsmatrizen, Frusta ..
Darüber hinaus müssen Sie über die Zeichnungs-API, die Sie verwenden, mit einem viel umfangreicheren Funktionsumfang interagieren (nur aufgrund der Tatsache, dass Sie 3D ausführen, müssen Sie viel mehr Funktionen erlernen, die sich mit 3D befassen ).
Microsoft XNA bietet hervorragende Unterstützung für den Start in 2D und vereinfacht das Rendern mit SpriteBatch . Sobald Sie sich in 3D wagen, müssen Sie automatisch VertexBuffer oder Model lernen , und dann kommen ModelBones und alles andere, was dazu gehört.
Am besten starten Sie 2D, nur weil die Konzepte, die Sie verstehen müssen, geringer sind (2D-Sprites? Ein Cakewalk!). Nachdem Sie einige Erfahrungen gesammelt haben, sollten Sie in 3D gut zurechtkommen.
quelle
Der einzige grundlegende Unterschied zwischen 2D- und 3D-Spieleentwicklung besteht darin, ob Sie die 3. Achse verwenden oder nicht. Wenn Sie eine Engine wie Unity verwenden, können Sie genauso einfach 2D-Spiele wie 3D-Spiele erstellen, indem Sie einfach eine orthografische Kamera-Projektion und Sprites anstelle von Modellen verwenden.
Davon abgesehen ist es viel schwieriger, wenn Sie keinen Motor verwenden, der einen Großteil des 3D-Schwergut für Sie erledigt. Sehen Sie sich die Antwort auf diese Frage an: Was ist zu beachten, wenn Sie sich für ein Spiel zwischen 2D und 3D entscheiden?
Was Sie tun sollten, ist zu entscheiden, welches Spiel Sie machen möchten, und die Kunst und das Design werden Ihnen sagen, ob es 2D oder 3D sein muss.
quelle
Ich stimme Tetrad zu, dass Sie über die Kunst und das Design nachdenken sollten und dass dies Sie führen wird, wenn es 2D oder 3D sein muss. Ich werde auch sagen, dass es eine gute Idee sein kann, zuerst ein 2D-Spiel zu erstellen, damit Sie nicht über die schwierigeren Dinge nachdenken müssen, die mit 3D-Spielen einhergehen. Zu beachten ist auch, dass das Gehirn bei 2D-Spielen weniger Informationen verarbeitet, was Sie für eine ungezwungenere Erfahrung benötigen.
Wenn Sie sich die meisten erfolgreichen Indie-Spiele der letzten 3 Jahre ansehen, waren viele davon 2D-Spiele.
http://www.braid-game.com/
http://limbogame.org/
http://supermeatboy.com/
http://www.andyetitmoves.net/
So kann ein Unternehmen erfolgreich nur 2D-Spiele herstellen. Der Erfolg von Spielen beruht auf Spielmechanik, Story, Ästhetik und Technologie. Sonst bekannt als die Tetrade. Ich komme vom Thema ab, also schweife ich ab.
quelle
Beachten Sie, dass es für Sie einfacher ist, 2D-Kunstobjekte zum Üben zu bringen. Obwohl ich nicht der Meinung bin, dass das Erlernen der 2D-Spieleentwicklung eine Voraussetzung für das Erlernen der 3D-Spieleentwicklung ist (so oder so ist der Spielcode über dem Grafikcode ziemlich gleich), würde ich den meisten Anfängern empfehlen, mit 2D-Spielen zu beginnen, sofern Sie dies nicht bereits tun Sie verfügen über eine solide Ressource für 3D-Grafiken (z. B. lernen Sie zusammen mit einem Freund, der ein 3D-Künstler ist).
Was den Code betrifft, hängt der Schwierigkeitsgrad davon ab, was Sie lernen möchten und welche Engine Sie verwenden werden (und insbesondere, wenn Sie Ihre eigene Engine schreiben werden). 3D-Grafikcode auf niedriger Ebene ist viel komplizierter als 2D-Grafikcode auf niedriger Ebene. Wenn Sie jedoch eine Engine wie Unity verwenden, schreiben Sie keinen Grafikcode auf niedriger Ebene. Der Code für ein in dieser Engine eingebautes 3D-Spiel ist nicht komplizierter als der Code für ein 2D-Spiel. In der Tat kann es erheblich weniger kompliziert sein, je nachdem, von welchem Motor Sie sprechen.
quelle