Illustration

Bienvenue dans TileMapEditor

TileMapEditor est un éditeur de cartes 2D pensé pour la conception de jeux vidéo utilisant pygame. Il permet la création, l'organisation et l'animation de niveaux grâce à une interface visuelle, un éditeur nodal intégré, et des outils pour gérer gameplay, collisions, audio, etc...

Aperçu éditeur

Fonctionnalités principales

  • ✔️ Éditeur visuel de tilemaps avec support des calques
  • 🎞️ Système d'animations intégré (timeline, keyframes, preview)
  • 🧠 Éditeur nodal personnalisable pour logique de gameplay
  • 🎮 Système de test en mode Play pour vérifier vos niveaux
  • 🔊 Gestion audio spatialisée (avec prévisualisation)
  • ⚙️ Export et import de niveaux, animations, paramètres, etc.
  • 🗃️ Stockage clair en JSON pour intégration facile dans un moteur
Éditeur de noeuds

Installation

L'éditeur fonctionne avec Python 3.10+, notamment pour la compatibilité avec des fonctionnalités modernes comme match ou les f-strings.

Il nécessite également l'installation de pygame — une bibliothèque Python utilisée pour l'affichage et les interactions. Vous avez le choix entre deux versions :

  • pygame — la version officielle et classique, suffisante dans la majorité des cas.
  • pygame-ce — (Community Edition) une version communautaire plus performante et mieux optimisée.
Conseil : il est fortement recommandé d'utiliser pygame-ce, qui offre des performances supérieures (jusqu'à +20% de FPS dans certains cas), ainsi qu'un rendu graphique plus net.

Prérequis

  • Python 3.10+
  • pygame ou pygame-ce
  • Système : Windows, Linux ou macOS (recommandé en 64-bit)
  • Avoir une carton son

Installation rapide


# Créez un environnement virtuel (optionnel mais recommandé)
python -m venv env
source env/bin/activate  # ou env\Scripts\activate sous Windows

# Installez pygame-ce
pip install pygame-ce

# Lancez l'éditeur
python main.py
        

Structure du projet

Le projet se divise en plusieurs modules :

  • main.py — L'interface principale de l'éditeur
  • editor/blueprint_editor/ — L'éditeur nodal
  • editor/game_engine/ — L'environnement d'exécution en mode jeu
  • editor/ui — Contient les composants de l'interface utilisateur personnalisée de l'éditeur : boutons, sliders, boîtes de dialogue, sélecteurs de couleurs, etc. Ces classes gèrent l'interaction visuelle avec l'utilisateur.
  • editor/core — Regroupe les éléments centraux de l'éditeur, incluant la gestion des données (DataManager), le système d'événements (EventHandler), la configuration (settings), des fonctions utilitaires (utils.py), ainsi que la gestion de l'historique d'actions (annulation/refaire avec Ctrl+Z/Ctrl+Y).
  • editor/animations — Gère les animations, y compris la timeline et la manipulation des tiles animées. Ce module contient la logique d'édition, d'aperçu et d'intégration des animations dans la carte.
  • editor/render — Responsable du rendu graphique de l'éditeur : dessin des éléments de la scène, gestion du parallax, surcouches, zoom et interactions de viewport. Il centralise les appels de dessin via un DrawManager.
  • editor/services — Regroupe les services de lecture/écriture de fichiers. Il gère l'ouverture, la sauvegarde, et l'export des fichiers TileMap et projets liés.

Et ensuite ?

Pour commencer, consultez la section Prise en main pour effectuer vos premiers pas dans l'éditeur.

Mode Play