Dois-je apprendre le développement de jeux 2D avant 3D? [fermé]

14

Je suis développeur d'applications iPhone. Je veux entrer dans les jeux iOS. La question est: devrais-je commencer par apprendre la 2D comme Cocos 2D ou Corona SDK avant d'apprendre les jeux 3D comme Unity? Je suis plus intéressé par les jeux 3D, mais pensez-vous que la connaissance des jeux 2D est une condition préalable à l'apprentissage du développement 3D?

Bonhomme de neige
la source
Désolé, je pense que la question donnée n'est probablement pas dupe de celle que j'ai liée. Bien que les réponses couvrent en grande partie le même terrain.
bummzack

Réponses:

11

Cela dépend de votre force avec les mathématiques et les concepts de programmation de jeux 3D .

2D, vous pouvez obtenir en utilisant uniquement les concepts de positions et de vitesses x, y (et en les ajoutant et en les soustrayant - essentiellement des vecteurs) et la collision de boîtes 2D.

En 3D, vous devez vous soucier de beaucoup plus de mathématiques: matrices de projection, matrices de visualisation, frusta ..

De plus, vous devez interagir avec un ensemble de fonctions beaucoup plus riche à partir de l'API de dessin que vous utilisez (juste en raison du fait que vous faites de la 3D, vous devez donc apprendre beaucoup plus de fonctions qui traitent de la 3D ).

Microsoft XNA a un excellent support pour démarrer en 2D et facilite le rendu à l'aide de SpriteBatch . Dès que vous vous aventurez dans la 3D, vous devez automatiquement apprendre VertexBuffer , ou Model , puis vient ModelBones et tout ce qui va avec.

Il vaut mieux commencer la 2D juste parce que les concepts que vous devez saisir sont moindres (sprites 2D? Un gâteau!). Après avoir acquis une certaine expérience sous votre ceinture, alors vous devriez bien faire de la 3D.

bobobobo
la source
9

La seule différence fondamentale entre le développement de jeux 2D et 3D est de savoir si vous utilisez ou non le 3e axe. Si vous utilisez un moteur comme Unity, vous pouvez tout aussi facilement créer des jeux 2D que des jeux 3D en utilisant simplement une projection de caméra orthographique et des sprites au lieu de modèles.

Cela étant dit, si vous n'utilisez pas un moteur qui fait beaucoup de levage de charges lourdes en 3D pour vous, c'est beaucoup plus difficile. Voir la réponse à cette question: Que faut-il considérer lors du choix de la 2D contre la 3D pour un jeu?

Ce que vous devez faire est de décider quel jeu vous voulez créer et l'art et le design vous diront s'il doit être 2D ou 3D.

Tetrad
la source
4
Je pense que vous simplifiez trop. La 2D est un peu plus facile car en jetant ce 3e axe, il y a beaucoup moins à penser. La collision devient plus simple, discuter des problèmes sur papier est plus facile et apprendre à programmer un jeu 2D est plus facile que d'apprendre à programmer un jeu 3D.
bobobobo
3
C'est une simplification, mais ce à quoi je voulais en venir, c'est que 1) la 2D ou la 3D n'a pas d'importance pour un grand sous-ensemble de choses que vous faites dans un jeu (flux d'interface utilisateur, mécanique de base, mise en réseau, etc.), et 2) L'utilisation de tout middleware robuste (en particulier Unity) fera la grande majorité des calculs pour vous, vous permettant, espérons-le, de vous concentrer sur la logique du jeu lui-même.
Tetrad
La dernière phrase le cloue.
Tim Holt
5

Je suis d'accord avec Tetrad que vous devez penser à l'art et au design et cela vous guidera s'il doit être 2D ou 3D. Je dirai également que ce peut être une bonne idée de créer d'abord un jeu 2D afin que vous n'ayez pas à penser aux choses plus difficiles qui accompagnent les jeux 3D. En outre, une chose à réaliser est que le cerveau traitera moins d'informations avec les jeux 2D, ce que vous voulez pour une expérience plus décontractée.

Si vous regardez la plupart des jeux indépendants à succès au cours des 3 dernières années, beaucoup d'entre eux étaient en 2D.

http://www.braid-game.com/
http://limbogame.org/
http://supermeatboy.com/
http://www.andyetitmoves.net/

Ainsi, une entreprise peut réussir à créer uniquement des jeux 2D. Le succès des jeux vient de la mécanique du jeu, de l'histoire, de l'esthétique et de la technologie. Autrement connu sous le nom de tétrade. Je m'éloigne du sujet, donc je m'éloigne du sujet.

Joey Green
la source
+1 pour ce dernier paragraphe, car il souligne l'importance de la qualité du contenu (comme l'histoire) en tant que trait de réussite - certains créateurs de jeux semblent passer à côté de ces autres facteurs et se concentrer uniquement sur les aspects 3D, mais il Il y a beaucoup de fans qui apprécient la profondeur qu'une bonne histoire et un fond bien pensé peuvent apporter au terrain de jeu (quel que soit le nombre de dimensions).
Randolf Richardson
Bien que je sois d'accord avec la plupart de vos déclarations, il y avait d'excellents jeux 2D qui n'auraient jamais pu être considérés comme occasionnels, tandis que votre tireur 3D moyen est beaucoup moins impliqué en comparaison.
Edwin Buck
3

Gardez à l'esprit, il vous sera plus facile de vous entraîner avec des éléments d'art 2D. Donc, même si je ne pense pas que l'apprentissage du développement de jeux 2D soit une condition préalable à l'apprentissage du développement de jeux 3D (dans les deux cas, le code de jeu en haut du code graphique est à peu près le même), je recommanderais quand même à la plupart des débutants de commencer avec des jeux 2D à moins avoir une ressource solide pour les graphiques 3D (par exemple, vous apprendrez aux côtés d'un copain qui est un artiste 3D).

Au niveau du code, la difficulté dépend de ce que vous essayez d'apprendre et du moteur que vous utiliserez (et en particulier si vous écrirez votre propre moteur). Le code graphique 3D de bas niveau est beaucoup plus compliqué que le code graphique 2D de bas niveau, mais si vous utilisez un moteur comme Unity, vous n'écrirez pas de code graphique de bas niveau. Le code d'un jeu 3D intégré à ce moteur n'est pas plus compliqué que le code d'un jeu 2D. En effet, cela peut être considérablement moins compliqué, selon à nouveau le moteur spécifique dont vous parlez.

jhocking
la source