J'ai pensé à créer un jeu 2D Sidescroller simple comme SuperMario. Ensuite, je me suis demandé comment enregistrer, charger ou créer les niveaux du jeu. La première chose à laquelle j'ai pensé était de dessiner un simple png en blocs qui représente le niveau, en créant toutes les parties où le joueur peut marcher d'une couleur spéciale (peut-être lilas). Je voudrais importer le niveau dans des blocs ou des tuiles afin que je puisse vérifier la collision.
donc mes questions sont:
y a-t-il de meilleures méthodes pour cela?
quelles sont les méthodes professionnelles pour cela?
dois-je faire cela avec des tuiles et un éditeur de carte basé sur des tuiles? (pour une raison quelconque, je n'aime pas cela, mais je suppose que si c'est la meilleure méthode, je l'utiliserais)
avec un niveau basé sur des carreaux, comment réaliseriez-vous les pentes et comment les vérifieriez-vous pour les collisions?
Une façon courante pourrait être de simplement une chaîne par exemple
0,0,0,0,0,0,1,1,1,0,0,0,0,2
où 0 serait un bloc sur lequel vous pouvez marcher 1 pourrait être des pointes et 2 pourrait être la ligne d'arrivée
vous devez simplement le lire dans un fichier texte (ou le faire coder en dur dans le jeu) et dessiner le bloc relatif associé au numéro et avoir votre logique de colision à gérer quelle que soit la configuration.
Évidemment, vous pouvez choisir le format que vous voulez et peut-être 0 signifie dessiner 5 blocs accessibles à pied.
Ce n'est là qu'une façon d'y parvenir.
http://www.smudgedcat.com/tut_tiledlevel.html ce lien est un exemple dans c # utilisant le framework XNA. cela vous donnera une idée approximative (il ne contient PAS de pentes, mais une chose similaire pourrait être utilisée pour définir ce type de cas)
Cordialement Mark
la source
De nombreux jeux utilisent une application open source appelée Mappy . Il a son propre format qui prend en charge plusieurs couches et d'autres fonctionnalités. Vous souhaitez probablement associer plusieurs types de données à une tuile donnée.
Je pense que l'approche de l'éditeur de niveau en jeu est très courante. Le mode développeur est un compte rendu interne de la façon dont les niveaux d'un jeu très populaire, Braid, ont été conçus. Le jeu a un mode de développement où les niveaux peuvent être construits / modifiés. Les niveaux eux-mêmes ont une couche de collision recouverte de carreaux graphiques:
Et personnellement, je ne le recommande pas, mais un programme de démonstration 2D pour Allegro a utilisé un certain type de format de modélisation 3D et l'a converti en un format personnalisé dans le jeu. L'avantage était qu'il pouvait modéliser des surfaces très lisses et continues. (C'était un jeu de planche à roulettes basé sur la physique 2D.)
la source
Les méthodes «professionnelles» impliqueraient probablement un éditeur de carte très détaillé, probablement en C #, qui leur donnerait un contrôle total sur tout.
Il existe deux approches principales; on est plus facile à faire, mais pas aussi efficace.
la source
J'ai eu des pensées similaires (c'est-à-dire se remettre à écrire des jeux comme passe-temps - travail et autres engagements ...)
J'envisagerais sérieusement la voie du développement de «l'éditeur de carte» dans le cadre du jeu / de l'application.
Si jamais votre jeu dépasse votre propre PC, le contenu de la communauté serait une excellente aubaine.
la source