Skip to content

Milestones

List view

  • Cette milestone implémente la logique principale du jeu et les actions des joueurs : Création et suivi des joueurs (inventaire, vie, niveau) File d’attente FIFO de 10 commandes par client avec rejet au-delà Exécution et réponse des commandes (Forward, Right, Left, Look, Inventory, Broadcast, Fork, Eject, Take, Set, Incantation) Gestion de l’incantation d’élévation (pré/post-vérification, blocage, montée de niveau) Calcul de la vision, diffusion des broadcasts et éjections selon le protocole sonore

    No due date
    42/42 issues closed
  • Objectif : construire et alimenter l’environnement de jeu selon les règles définies : Génération d’une carte torique (width × height) Répartition équitable des ressources (food et six types de pierres) à l’initialisation Respawn périodique toutes les 20 unités de temps, respectant les densités Gestion des coordonnées modulo pour le téléport bord-à-bord

    No due date
    7/7 issues closed
  • Cette milestone regroupe toutes les tâches nécessaires à la mise en place de l’infrastructure réseau et de démarrage du serveur : Parsing des arguments CLI (-p, -x, -y, -n, -c, -f) Création et configuration du socket TCP (bind, listen, accept) Multiplexage des connexions clients avec poll() sans blocage actif Handshake initial (WELCOME → TEAM → CLIENT_NUM → dimensions)

    No due date
    50/50 issues closed
  • Cette milestone lie le rendu aux événements réseau et à l’expérience utilisateur : Connexion TCP, authentification en tant que GRAPHIC, et réception asynchrone des trames (bct, pnw, etc.) Buffering des mises à jour et redraw incrémental des tuiles/entités modifiées Implémentation de caméras dynamiques (pan, zoom) et gestion du rafraîchissement à 60 FPS Panneau d’infos, animations d’événements (respawn, collecte, incantation) et UX globale (masquage, raccourcis)

    No due date
    53/53 issues closed
  • Objectif : implémenter les primitives de dessin et optimiser le rendu de la scène 2D : Affichage de la carte en grille selon la structure serveur Dessin des ressources et des joueurs (sprites ou formes) Gestion du z-order et du batching pour limiter les draw calls Animation de base (apparition/disparition) et overlay de pop-ups pour les actions clés

    No due date
    25/25 issues closed
  • Cette milestone couvre l’intégration initiale de Raylib dans le projet C++ et la création d’une couche d’abstraction propre : Installation et configuration de Raylib via CMake Conception d’un wrapper C++ (RAII, classes Window, Renderer, Texture) pour masquer l’API C Parsing des arguments CLI pour personnaliser la fenêtre (taille, titre, fullscreen) Validation d’un exemple minimal (Graphics::init(), Graphics::drawRect(), Graphics::close())

    No due date
    1/1 issues closed
  • Cette étape couvre la mise en œuvre de l’exécution effective des décisions de l’IA et leur diffusion vers le serveur, en garantissant performance et non-blocage. On y développe le multithreading pour séparer envoi et réception de commandes, un module de dispatch qui formate correctement chaque action, ainsi que la gestion des erreurs et des timeouts. L’objectif est d’assurer une interaction fluide, robuste et réactive pendant toute la partie.

    No due date
    4/4 issues closed
  • Sous cette milestone, on définit l’architecture interne de l’IA via la création d’« Agents » et de leurs stratégies. Il s’agit de concevoir une interface générique (AgentManager, IAgent) et d’implémenter plusieurs comportements : exploration de la carte, collecte de ressources, montée en niveau (incantation), etc. L’enjeu est de rendre le système modulaire, facilement extensible et capable de charger dynamiquement de nouvelles stratégies.

    No due date
    16/16 issues closed
  • Cette milestone regroupe toutes les tâches essentielles à la mise en place initiale de l’agent IA et à son bon dialogue avec le serveur Zappy. On y trouve le parsing des arguments de lancement (port, nom d’équipe, hôte), l’établissement de la connexion TCP et la gestion basique des échanges de messages (accueil, identification, handshake). L’objectif est de disposer d’une base solide et stable pour que l’IA puisse démarrer et communiquer sans erreur.

    No due date
    9/9 issues closed