Que faut-il prendre en compte pour choisir entre 2D et 3D pour un jeu? [fermé]

68

Combien est plus difficile la 3D que la 2D en termes de:

  • Montant / complexité du code
  • Niveau requis en mathématiques
  • Temps nécessaire pour créer des actifs artistiques

Titre original: Quelle est la difficulté du développement de jeux 3D par rapport à la 2D?

Brian Ortiz
la source
27
Une dimension plus dure :)
Ólafur Waage Le
5
Waay subjectif ...
Cyclope
Hmm ... cela dit, j'aime beaucoup la réponse de @ munificent. Maintenant, je ne suis pas sûr de savoir comment je veux catégoriser cette question. :) Ce n'est pas tout à fait correct pour la méta non plus ... Dang ces cas extrêmes . :)
Cyclope
2
La complexité du code, le niveau de calcul et le temps me semblent être des mesures relativement objectives de la difficulté.
Brian Ortiz
@Brian, oui, j'aimerais que nous puissions annuler des votes rapprochés . :) En le réévaluant, je pense qu'une partie du problème réside dans le titre - "Quelle est la difficulté de X par rapport à Y", semble subjectif. Un meilleur titre pourrait être, "Quelles sont les différences dans le développement 3D par rapport à la 2D?" (peut-être le changer?). Quelle est en fait la question à laquelle @munificent a répondu , bien qu’avec un one-liner qui aborde le titre. :)
Cyclope

Réponses:

127

La 3D est un ordre de grandeur plus difficile que la 2D:

Programmation:

  • Les calculs sont nettement plus complexes pour le rendu, la physique, les collisions, etc. J'espère que vous aimez les matrices et les vecteurs!
  • En raison du point précédent, il est beaucoup plus difficile d’obtenir de bonnes performances . Avec le matériel actuel, vous pouvez créer un joli jeu en 2D sans avoir à vous soucier de la performance, même si vous n'êtes pas stupide. Avec la 3D, vous devrez faire de l'optimisation.
  • Les structures de données sont beaucoup plus complexes. En raison du point précédent, vous devrez penser à la sélection, au partitionnement de l’espace, etc., qui sont tous plus difficiles qu’un simple "voici une liste de tout ce qui se trouve dans le niveau".
  • L'animation est beaucoup plus compliquée. L'animation en 2D est juste une pellicule d'images avec éventuellement différentes positions pour chaque image. Avec la 3D, vous devez gérer des éléments d’animation, des os, du skinning, etc. distincts.
  • Le volume de données est beaucoup plus élevé. Vous devrez faire une gestion intelligente des ressources. Les jeux proposent des concerts de contenu, mais les consoles n’ont certainement pas de concerts de mémoire.
  • Les pipelines sont plus complexes à développer et à entretenir. Vous aurez besoin de code pour obtenir des ressources dans le format préféré de votre moteur. Ce code ne s'écrit pas lui-même.

Art:

  • Les atouts sont bien sûr beaucoup plus complexes. Vous aurez besoin de textures, de modèles, de plates-formes / squelettes, d'animations, etc. Les outils sont beaucoup plus complexes et coûteux, et les compétences pour les utiliser sont plus difficiles à trouver.
  • L'ensemble des compétences requises est plus large. Les bons animateurs ne sont pas souvent de bons artistes de texture. De bons briquets peuvent ne pas être de bons monteurs.
  • Les dépendances entre les actifs sont plus complexes. Avec la 2D, vous pouvez partitionner proprement vos ressources entre différents artistes: ce type fait le premier niveau, ce type fait les ennemis, etc. Avec la 3D, l’animation affecte le rig qui affecte le squelette qui affecte le modèle et les textures affectant l’éclairage ... Votre équipe artistique devra coordonner soigneusement et constamment.
  • Les limitations techniques sont plus complexes à traiter. En 2D, il s’agit essentiellement de "voici votre palette et la taille maximale de votre sprite". Avec la 3D, vos artistes devront équilibrer la taille de la texture (pour plusieurs textures: spéculaire, couleur, normale, etc.), le nombre de polygones, le nombre d'images clés, le nombre d'os, etc. Les caractéristiques du moteur leur imposeront des exigences étranges et aléatoires ( "Le moteur X explose si vous avez plus de 23 os!").
  • Le traitement des actifs prend plus de temps. Les pipelines permettant de convertir des ressources 3D au format prêt à jouer sont complexes, lents et souvent buggés. Cela prend beaucoup plus de temps aux artistes pour voir leurs changements dans le jeu, ce qui les ralentit.

Conception:

  • L'entrée utilisateur est chienne. Vous devez gérer le suivi de la caméra, convertir intuitivement les entrées de l'utilisateur dans l'espace du personnage, projeter des sélections 2D dans l'espace du monde, etc.
  • Les niveaux sont difficiles à créer. Vos concepteurs de niveaux ont essentiellement besoin des compétences d’un concepteur de jeu et d’un architecte. Ils doivent prendre en compte les joueurs perdus, la visibilité, etc. lors de la construction des niveaux.
  • Niveau physique est fastidieux pour l'auteur. Vous devrez vérifier, revérifier et revérifier à nouveau pour vous assurer qu'il n'y a pas de lacunes ni de bugs dans le niveau physique où les joueurs peuvent rester bloqués ou tomber à travers le monde.
  • Les outils sont beaucoup plus difficiles. La plupart des jeux ont besoin de leurs propres outils pour créer des choses comme les niveaux. Étant donné que le contenu est tellement plus complexe, les outils demandent plus de travail. Cela se traduit généralement par des outils plus volumineux, incomplets et difficiles à utiliser.
munificent
la source
2
Excellente réponse. Je pensais que ce serait plus subjectif, mais vous l’avez énoncé très clairement. Bien qu'il puisse ne pas y avoir de nombre réel (3,5 fois plus difficile), vous avez bien plaidé en faveur de l' ordre de grandeur .
Cyclope
5
+1 cloué dessus. Cette question n’est guère subjective. Nous parlons de deux mondes complètement différents. Il y a une augmentation inhérente de la difficulté. Ne commencez pas votre réflexion au niveau du génie ...
David McGraw
Superbe réponse!
Zebrabox
1
Je vois que ma réponse est battue par plusieurs grandeurs (pour utiliser les mots de l'auteur). C'est tellement superbe que j'ai moi-même penché beaucoup de choses auxquelles je n'avais jamais pensé auparavant. Bon travail!
Toby
Très bonne réponse. Une autre pensée que j’ai eue - en faveur de la 3D - est que, au début de mes débuts, il était beaucoup plus facile de trouver des ressources relatives au développement 3D que de la 2D. Mais cela remonte à plus de 5 ans et le paysage a beaucoup changé depuis.
Andrew Russell
11

Beaucoup plus difficile. Si vous n'êtes pas à l'aise pour créer un jeu en 2D, vous n'aimerez VRAIMENT pas ce qu'il faut pour créer un jeu en 3D.

La bonne nouvelle: dans 99% des cas, vous n'en avez pas vraiment besoin. Pensez à tous les jeux 3D que vous pouvez. Prenez la caméra, fixez-la au plafond, en regardant vers le bas, de sorte que vous regardez maintenant un plan 2D. Doom devient Gauntlet. Civ IV devient Civ I. Metal Gear Solid devient le Metal Gear d'origine. Aucun de ces jeux n'est "mauvais" simplement parce qu'ils sont en 2D; ils sont parfaitement jouables et ont généralement une grande partie du même gameplay.

Ian Schreiber
la source
5

En gros, la 3D introduira plus de difficultés que de simplifications. Mais je me sens juste comme ajouter quelques choses qui pourraient être plus faciles dans un jeu 3D:

  • Personnalisations des joueurs. Imaginez si Team Fortress 2 était un jeu de plateforme 2D avec 20 animations pour chaque classe. Maintenant, imaginez que votre directeur marketing vous ait suggéré d’ajouter des chapeaux au jeu. Cela signifierait 20 nouvelles feuilles de sélection pour chaque classe; et cela ne se développerait que si vous décidiez d'ajouter d'autres éléments divers. Une entreprise pour laquelle j'ai travaillé a connu cette frustration.
  • Mouvements de personnage. Le gréement et l'animation ne sont certainement pas une tâche simple, mais si vos personnages sont complexes, le travail deviendra plus facile qu'en 2D, car vous devrez redessiner complètement le personnage pour chaque pose. Pratiquement, la première marque d’excellence dans un jeu 2D est le nombre de fois où les créateurs ont accepté de redessiner leurs personnages pour une animation supplémentaire.
  • Trouver un moteur. Je peux créer un jeu de plateforme simple en moins d’une heure en 3D sans coder du tout, mais cela peut prendre un peu plus de temps en 2D. Vous y trouverez certainement de nombreux bons moteurs 2D, mais honnêtement, rien ne me vient immédiatement à l’esprit. peu ont atteint leur popularité massive à la manière d'Ogre3D ou d'autres moteurs 3D. Pour la 3D, il existe UDK, Unity et bien d'autres frameworks disponibles. Une partie de ceci pourrait être que la complexité réduite de la 2D signifie qu’il n’est pas si difficile pour les amateurs d’écrire eux-mêmes, en se basant sur XNA. (De plus, certains des moteurs 3D mentionnés peuvent être rendus viables pour créer un jeu en 2D)
Katana314
la source
3

C'est une question hautement subjective, car la réponse dépend de vos préférences personnelles / de votre expérience / de vos connaissances / de votre intelligence.

Je vais essayer de répondre de manière neutre, mais comme je ne suis qu'un programmeur et non un artiste, je ne peux que formuler des hypothèses pour le dernier point.

La complexité du code ne devrait pas être si différente, sauf en mathématiques et peut-être en rendu / physique. La logique de jeu n'est pas si différente si vous prenez un niveau d'abstraction sain (pas trop - vous essayez de faire un jeu pas un moteur, du moins d'après votre question.) C'est évidemment beaucoup plus facile de calculer le mouvement en 2D parce que vous avez une perspective limitée. La physique est bien plus difficile quand on traite selon trois axes. De plus, charger un Sprite à partir d'un bitmap est beaucoup plus facile que de charger un modèle 3D (et éventuellement de texturer).

Les mathématiques sont plus compliquées pour la 3D (une évidence - quaternions, vecteurs, matrices. 'Dit Nuff)

Pour l’art, je pense que cela doit être plus difficile pour la 3D aussi, car vous devez créer un art qui a une belle apparence sous tous les angles de vue possibles (ou du moins une large plage), et vous voulez généralement aussi texturer des choses. Animer un maillage n'est pas un pique-nique réaliste, pas plus que de pouvoir jouer avec la texture.

Toby
la source
Charger un sprite est plus facile que de charger un modèle? Les modèles impliquent des squelettes, un skinning, des shaders, des coordonnées UV, des textures, des cartes normales, etc. Un sprite est une image. Suite à cela, l’art 3D est beaucoup plus difficile, à cause des éléments énumérés ci-dessus.
Sean James
Je suis désolé, c'était une erreur. assez gros aussi, merci de le signaler. Il devait être si fade qu'il ne s'est pas enregistré lors de la relecture.
Toby
3

L'autre chose à considérer ... avec un jeu en 3D, vous voudrez probablement utiliser un moteur préexistant et vous concentrer sur la fabrication d'un jeu, et non d'un moteur. Cela peut contribuer dans une certaine mesure à réduire le temps et les difficultés rencontrés dans un jeu en 3D (parfaitement identifié par munificent).

Il est beaucoup plus facile de créer un jeu en 2D. Mais évidemment, vous pouvez (et devriez envisager) d’utiliser des bibliothèques de sprites, de sons et de portabilité. Inutile de réinventer la roue, sauf à des fins éducatives.

Cela semble évident - mais je pensais que cela valait la peine d'être dit.

Rob Probin
la source
2

Permettez-moi d’offrir une considération intéressante pour les appareils mobiles où les performances 2D peuvent en fait être inférieures aux modèles 3D low poly:

1) Le taux de remplissage peut causer de gros problèmes de performances lorsque plusieurs sprites sont affichés à l'écran à un moment donné.

2) Les besoins en mémoire de texture pour un jeu 2D totalement épanoui sont en réalité beaucoup plus élevés si vous utilisez une animation par images. Chaque cadre de caractère épuise votre budget de texture total de manière linéaire. Cela signifie que si vous utilisez une simple animation de livre-papier, votre budget d'animation est plus réduit que celui d'une animation 3D basée sur un squelette.

Des kits tels que Spine aident à niveler un peu ce terrain de jeu en créant des déformations 2D d'une texture.


Donc, compte tenu de cela et de la facilité d’accès de Unity et de UDK, qui extraient une grande partie de la complexité du développement de jeux qui existait il ya des années pour la 3D, la réponse n’est pas aussi simple.

M2tM
la source
Je suggérerais de ne pas écraser d'anciens articles comme celui-ci avec de nouveaux détails. La réponse actuelle est très applicable, et cette question n’a pas vraiment besoin d’être renvoyée à la première page.
Pip
2
Un collègue m'a raconté cela tout juste aujourd'hui, et comme mon ajout à cette réponse est exact depuis des années, je pense que c'est bien. Il n'y a rien de mal à ajouter à une vieille question de nouvelles informations pertinentes! La plupart des gens utilisent Google comme interface de débordement de pile, de sorte que même les très vieux éléments peuvent toujours apparaître dans les recherches pertinentes.
M2tM
1

Cela dépend du développeur de jeux. La partie qui prend du temps consiste à créer des actifs de jeu. Si vous estimez qu'il est plus facile de créer ces ressources avec illustrator et Photoshop, la 2D est plus facile pour vous, mais si vous connaissez la modélisation 3D, vous êtes probablement d'accord avec moi pour dire que la 3D est beaucoup plus simple que la 2D.

En ce qui concerne l'animation, la 3D est définitivement plus facile, plus rapide et plus facile à gérer.

Par exemple, en 3D, vous pouvez créer toutes les animations d'un personnage en quelques heures dans une scène. En 2D, vous devez dessiner le personnage pour chaque activité qu'il est censé faire et enregistrer de nombreux fichiers. Cela prend des jours en 2D vs heures en 3D.

De plus, si vous changez quelque chose, vous devez tout refaire en 2D, mais vous n'avez pas à tout changer, par exemple si vous décidez que votre personnage ne devrait pas avoir de chapeau. Vous n'avez pas à refaire toute l'animation, vous supprimez simplement le chapeau en 3D.

Si vous avez des personnages humanoïdes, des milliers d’animations gratuites sont proposées. La plupart du temps, vous n'avez pas besoin de créer d'animation pour votre jeu.

En ce qui concerne la complexité et la programmation, il n'y a pas de différence.

Mais vous devriez bien connaître la 3D, sinon vous risqueriez de vous retrouver dans le moteur de jeu. Votre animation est différente de votre application 3D ou la tête de votre personnage tourne en sens inverse et vous ne savez pas comment résoudre le problème, ni quelques autres problèmes.

Aussi, vous devriez être familiarisé avec la modélisation low poly pour le jeu et savoir comment faire des textures pour le jeu. Elle est différente de la modélisation et de la texturation pour l'animation.

En passant, contrairement à la croyance populaire, la 3D nécessite moins de matériel pour les appareils mobiles.

Yusef Ghatavi
la source