No description
Find a file
2026-06-10 17:15:15 +02:00
assets initial commit 2026-05-19 20:34:36 +02:00
camera initial commit 2026-05-19 20:34:36 +02:00
character initial commit 2026-05-19 20:34:36 +02:00
cmd initial commit 2026-05-19 20:34:36 +02:00
configuration initial commit 2026-05-19 20:34:36 +02:00
floor initial commit 2026-05-19 20:34:36 +02:00
floor-files initial commit 2026-05-19 20:34:36 +02:00
game initial commit 2026-05-19 20:34:36 +02:00
quadtree initial commit 2026-05-19 20:34:36 +02:00
.gitignore initial commit 2026-05-19 20:34:36 +02:00
consignes.pdf initial commit 2026-05-19 20:34:36 +02:00
go.mod initial commit 2026-05-19 20:34:36 +02:00
go.sum initial commit 2026-05-19 20:34:36 +02:00
LICENSE initial commit 2026-05-19 20:34:36 +02:00
README.md Update README.md 2026-06-10 17:15:15 +02:00

Jeu en Quadtree

Jeu 2D dexploration développé en Go dans le cadre dun projet du BUT Informatique.

Contexte

Ce projet a été réalisé dans le cadre de la SAÉ du Semestre 1 du BUT Informatique.

Le projet a été développé en équipe.

Présentation

Lobjectif du projet était de développer un jeu dexploration 2D utilisant une structure de données Quadtree.

Le joueur contrôle un personnage qui se déplace dans un environnement composé de tuiles. Le jeu intègre des obstacles, une caméra, une génération de carte et un système de téléportation.

Fonctionnalités

  • Déplacement dun personnage dans un monde 2D
  • Affichage dun environnement basé sur des tuiles
  • Gestion des collisions avec certains éléments du décor
  • Génération ou chargement de cartes
  • Caméra suivant le personnage
  • Portails de téléportation
  • Mode debug
  • Zoom dynamique

Stack technique

Composant Technologie
Langage Go
Moteur de jeu Ebitengine
Structure de données Quadtree
Configuration JSON
Tests Go test

Architecture

Le projet est organisé en plusieurs modules principaux :

  • game/ : logique principale du jeu
  • character/ : gestion du personnage
  • floor/ : gestion du terrain et des collisions
  • quadtree/ : structure de données Quadtree
  • camera/ : gestion de la caméra
  • configuration/ : lecture de la configuration
  • assets/ : ressources du jeu

Lancement

Prérequis

  • Go 1.21 ou supérieur
  • Dépendances nécessaires au fonctionnement dEbitengine

Commandes

git clone <url-du-repo>
cd Jeu_en_Go
go mod download
cd cmd
go run .

Pour lancer les tests :

go test ./...

Configuration

Le fichier cmd/config.json permet de modifier certains paramètres du jeu :

  • taille de la carte ;
  • taille des tuiles ;
  • mode caméra ;
  • génération de carte ;
  • collisions ;
  • zoom ;
  • téléportation ;
  • fichier de niveau utilisé.

Quadtree

Le projet utilise une structure de données Quadtree afin doptimiser la gestion spatiale des éléments du jeu.

Cette structure permet de diviser lespace de jeu en zones et de limiter les recherches ou vérifications aux éléments proches du joueur.

Remarque

Ce projet a été réalisé dans un cadre académique afin de mettre en pratique les bases du développement en Go, la gestion dun jeu 2D et lutilisation dune structure de données spatiale.