Je veux créer un jeu 2D mais j'aimerais que le personnage porte des tonnes d'équipements différents sur différentes combinaisons, comme un RPG ou quelque chose.
Supposons donc que l'utilisateur change ses épaules et son pantalon, cela doit être montré au joueur et tous ces différents équipements doivent suivre l'action des différents personnages (frapper, être touché, orthographier la magie, etc.).
Je vois quelques problèmes que j'aimerais connaître la meilleure approche / algorithme / architecture à résoudre.
1 - Sprites ou animations
Dois-je créer des sprites différents pour chaque équipement dans chaque animation d'action?
Est-il préférable de simplement avoir l'équipement sprite et de l'animer directement sur du code comme la rotation et la traduction (en utilisant quelque chose comme l'interpolation sur Flash)?
Existe-t-il une autre meilleure option? (Je n'aime vraiment pas les idées ci-dessus)
2 - Positions
Disons que pendant l'un des mouvements du personnage, il commence à regarder directement devant le joueur, mais termine son mouvement en montrant son côté droit au joueur (comme s'il balance son épée d'un côté à l'autre).
Si l'on considère une partie de l'utilisateur, comme sa tête par exemple, elle commence devant et tourne à gauche.
Cela signifie au moins 3 positions différentes pour chaque équipement de tête (casque, casquette, peu importe).
Cela influence sûrement la réponse à la question n ° 1. Quelle est la meilleure façon d'y parvenir?
3 - Couches
Prenons un mouvement de personnage où il tourne à 360 degrés avec les bras ouverts. Au début de l'animation, sa main droite est proche de la vue de l'utilisateur puis, au milieu du mouvement, c'est probablement derrière le corps du personnage sur l'animation.
Quelle que soit l'option sur la question n ° 1, vous devez sûrement utiliser une sorte de modèle de calque pour que ce sprite ou cette animation commence plus près de la vue du joueur et change ensuite plus loin de la vue du joueur.
Y a-t-il un bon moyen de le faire?
Je sais que la question est assez longue et difficile à comprendre. Faites-moi savoir si vous pensez qu'il vaut mieux avoir des dessins pour essayer de vous expliquer lequel et j'essaierai de le faire.
Réponses:
Je pense qu'il semble que vous recherchiez un système d'animation squelettique 2D peut-être? Je ne connais malheureusement aucun système standard pour cela, car il a été principalement remplacé par la tendance du jeu 3D-gfx-mais-2D.
la source
Comme le dit Zorba, la plupart des jeux rétro ne l'ont pas fait spécifiquement parce que vous auriez besoin (avec des sprites) d'avoir des animations multi-images pour chaque pièce d'équipement.
Quelques alternatives "paresseuses":
la source
Dans les anciens jeux comme la série Ultima, ils dessinaient en effet une pièce d'équipement dans chaque pose de personnage possible. L'occlusion serait gérée soit en ne tirant pas l'équipement (si le gant gauche est derrière le sprite du joueur, vous n'avez pas à vous en soucier) ou en dessinant simplement l'équipement dans le sens inverse.
De toute évidence, cela nécessitait beaucoup de main-d'œuvre et, par conséquent, il y avait relativement peu de pièces d'équipement uniques, avec beaucoup de versions à palette changée et modifiée de palette de cet équipement.
Dans un jeu moderne, je recommande fortement de créer des personnages en 3D. Si vous voulez un art en 2D ou que votre plate-forme n'a pas la puissance nécessaire pour la 3D réelle, vous ferez probablement mieux de tout modéliser en 3D, de rendre le rendu, puis de peaufiner le résultat final à la main.
Alternativement, si vous décidez que vous n'avez pas besoin de peaufiner, que vous n'avez pas de puissance pour la 3D complète, mais que vous ne voulez pas expédier une énorme bibliothèque de sprites, vous pouvez empaqueter les modèles 3D et les rendre en texture en temps réel lorsque vous savez le modèle est sur le point d'apparaître dans le jeu.
la source
Consultez le livre de James Da Silva où il explique comment il a fait The Dishwasher: Dead Samurai. Cela vous montrera comment KISS peut à peu près résoudre ce problème. La suggestion d'utiliser des animations squelettiques 3D ou 2D est valide et un peu dans le même domaine.
la source
C'est une excellente question, mais je pense que vous y avez répondu vous-même - vous avez besoin d'un système d'os 2D qui prend en charge les couches changeantes des os, afin que différents membres puissent aller derrière et devant les autres pendant que le personnage tourne. Vous devrez également dessiner vos sprites sous 4 ou 8 angles (ou autant que vous en aurez besoin). Selon les compétences de votre équipe, il pourrait être plus facile de créer ces ressources en 3D et de les rendre sous les angles dont vous avez besoin.
L'utilisation d'un moteur 3D est également une bonne solution, même si cela apportera son propre ensemble de défis.
la source