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.)
Pour modifier les données de niveau du jeu de démonstration Allegro, nous utilisons l'outil gratuit et open source Blender. Vous pouvez l'obtenir ici:
http://blender.org
Voici des instructions étape par étape sur la façon dont cela fonctionne:
1) Placez le fichier ademo_export.py dans votre dossier de scripts Blender. C'est le script d'exportation qui convertira le format .blend au format .txt utilisé par le jeu de démonstration. Sous Unix, le chemin sera:
~ / .blender / scripts / ademo_export.py
2) Chargez le mélangeur de fichiers .blend. Sous Unix, saisissez-le dans le répertoire avec le fichier level.blend:
blender -w level.blend
(Le -w est d'utiliser des modes fenêtrés, ce que je préfère.)
3) Modifiez le niveau. Dans le menu, sous
Aide -> Navigateur d'aide sur les scripts -> Exporter -> Allegro Demo Game Level
vous trouverez quelques conseils utiles.
4) Enregistrez le fichier (utilisez la compression avant de valider). Exportez-le au format .txt dans le menu d'exportation, en choisissant Allegro Demo Game Level.
5) Mettez à jour level.dat en utilisant level.txt, le nouveau niveau devrait apparaître dans le jeu.