Files
mario/CHANGELOG.md
2025-12-14 11:15:50 +01:00

10 KiB
Raw Permalink Blame History

Changelog - Mario Runner

Version 2.2 - Système de Vies & Coffre Final 🏆❤️

🎮 NOUVEAU : Système de Vies

Feature majeure : Ajout d'un système de vies complet avec respawn !

  • 3 vies au départ (configurable)
  • Perte de vie lors de collisions frontales avec obstacles
  • Respawn au checkpoint avec invincibilité temporaire (2s)
  • Game Over si toutes les vies sont perdues

Mécanique des Obstacles Améliorée

  • Sauter dessus : Détruit l'obstacle + 50 points bonus + rebond
  • Collision frontale : Perte d'une vie (sauf si invincible)
  • Feedback visuel :
    • Flash rouge lors de la perte de vie
    • 💚 Explosion verte lors de la destruction
    • 🛡️ Clignotement pendant l'invincibilité

Système de Checkpoint

  • Sauvegarde automatique tous les 1000px
  • Flash vert au passage d'un checkpoint
  • Le joueur réapparaît au dernier checkpoint après une mort
  • Invincibilité de 2 secondes après respawn (alpha clignotant)

Interface Utilisateur

  • ❤️ Compteur de vies affiché en haut à gauche
  • 🎁 Cadeaux collectés avec progression (X/15)
  • Mise à jour en temps réel

🏆 NOUVEAU : Coffre au Trésor Final

Récompense ultime à la fin du niveau !

  • Coffre géant placé sur la plateforme finale (x=7700)
  • Condition d'ouverture : Avoir collecté 15 cadeaux minimum
  • Récompense : MEGA BONUS de +1000 points !

Effets Visuels Spectaculaires

  • 🌟 Aura dorée pulsante autour du coffre
  • 💫 Texte flottant "🎁 15 cadeaux requis"
  • Flash doré géant à l'ouverture
  • 💥 Explosion de 20 particules dorées
  • 🏆 Message épique "COFFRE OUVERT ! MEGA BONUS +1000"

Feedback Progressif

  • Message "🏆 Assez de cadeaux! Trouvez le coffre!" dès 15 cadeaux collectés
  • Le compteur 🎁 change de couleur (jaune doré)
  • Indicateur visuel au-dessus du coffre

Système d'Interaction

  • Overlap : Se rapprocher du coffre suffit
  • Vérification automatique du nombre de cadeaux
  • Une seule ouverture possible par partie

📊 Statistiques de la v2.2

Vies de départ :    3
Invincibilité :     2000ms après respawn
Checkpoints :       Tous les 1000px
Coffre requis :     15 cadeaux
Bonus coffre :      +1000 points

🎯 Nouvelles Règles du Jeu

Gestion des Obstacles

  1. Sauter dessus (par le haut) :

    • Détruit l'obstacle
    • +50 points
    • Petit rebond automatique
    • Effet explosion verte
  2. Collision (frontale/latérale) :

    • Perd une vie
    • Flash rouge
    • 🔄 Respawn au checkpoint si vies restantes
    • 💀 Game Over si plus de vies

Système de Progression

  1. Collecter des cadeaux (+100) et super trésors (+500)
  2. Atteindre 15 cadeaux minimum
  3. Trouver le coffre final (x=7700)
  4. Ouvrir le coffre pour le MEGA BONUS (+1000)
  5. Survivre jusqu'à la fin avec 3 vies maximum

Score Maximum Possible

24 cadeaux normaux :    24 × 100  = 2,400 pts
6 super trésors :       6 × 500   = 3,000 pts
1 coffre final :        1 × 1000  = 1,000 pts
Obstacles détruits :    ~24 × 50  = 1,200 pts
─────────────────────────────────────────────
TOTAL MAXIMUM :                     7,600 pts

🔧 Changements Techniques

Nouvelles Constantes

// src/utils/constants.ts
PLAYER_STARTING_LIVES: 3
RESPAWN_INVINCIBILITY_TIME: 2000
CHEST_REQUIRED_GIFTS: 15

Classe Player.ts - Invincibilité

private isInvincible: boolean = false;
private invincibilityTimer?: Phaser.Time.TimerEvent;

public makeInvincible(scene: Phaser.Scene): void {
    // Effet de clignotement alpha (0.3 ↔ 1.0)
    // Timer de 2 secondes
}

public getIsInvincible(): boolean {
    // Vérifie l'état d'invincibilité
}

Nouvelle Classe TreasureChest.ts

export class TreasureChest extends Phaser.Physics.Arcade.Sprite {
    private isOpen: boolean = false;
    private requiredGifts: number;

    public canOpen(giftsCollected: number): boolean
    public open(scene: Phaser.Scene): number
    public getIsOpen(): boolean
    public getRequiredGifts(): number
}

GameScene.ts - Nouvelles Fonctions

private lives: number;
private giftsCollected: number;
private lastCheckpointX: number;
private treasureChest?: TreasureChest;

private openChest()        // Interaction avec le coffre
private loseLife()         // Gestion perte de vie
private respawnPlayer()    // Téléportation au checkpoint
private gameOver()         // Écran de fin si plus de vies

Mécanique de Détection de Saut

private hitObstacle(player: any, obstacle: any): void {
    const isJumpingOn =
        playerBody.velocity.y > 0 &&
        playerBody.bottom <= obstacleBody.top + 10;

    if (isJumpingOn) {
        // Destruction
    } else {
        if (!player.getIsInvincible()) {
            this.loseLife();
        }
    }
}

🐛 Corrections

  • Invincibilité fonctionne correctement après respawn
  • Checkpoints sauvegardent la position tous les 1000px
  • Détection précise saut vs collision sur obstacles
  • UI vies et cadeaux mise à jour en temps réel
  • Game Over arrête correctement la physique

💡 Conseils de Jeu

  1. Maîtrisez le saut sur obstacles : Vous gagnez des points au lieu d'en perdre !
  2. Cherchez tous les cadeaux : Il en faut 15 pour le coffre final
  3. Attention aux checkpoints : Vous réapparaitrez là où vous étiez il y a 1000px
  4. 3 vies seulement : Soyez prudent, chaque vie compte !
  5. Invincibilité : Profitez des 2 secondes après respawn pour passer les zones dangereuses
  6. Coffre final : N'oubliez pas d'aller tout au bout (x=7700) pour le mega bonus !

Version 2.1 - Super Trésors 🌟💰

🎁 NOUVEAU : Super Trésors

Feature majeure : Ajout de super trésors ultra précieux !

  • 6 super trésors répartis dans le niveau (1 par zone)
  • +500 points par collecte (5x plus qu'un cadeau normal !)
  • Score max total : 5,400 points (vs 2,400 avant)

Effets Visuels Spectaculaires

  • 🌟 Rotation rapide + pulsation
  • 3 étoiles qui orbitent autour
  • Effet de brillance scintillant
  • Flash doré à la collecte
  • 🎯 Message géant "★ SUPER TRÉSOR +500 ★"

Placement Stratégique

  • Placés en hauteur (nécessite double saut)
  • Difficulté croissante par zone
  • Zone 5 : Ultra difficile (-500px de hauteur)
  • Zone 6 : Sur la plateforme finale

Classe Technique

  • Nouvelle classe SuperTreasure avec animations avancées
  • Taille 1.5x plus grande que les cadeaux
  • Effet de particules avec étoiles orbitales
  • Destruction automatique des timers/tweens

Consultez SUPER_TREASURES.md pour le guide complet !


Version 2.0 - Améliorations Majeures 🚀

🎮 Gameplay

Double Saut Implémenté

  • NOUVEAU : Le joueur peut maintenant faire un double saut !
  • Appuyez deux fois sur Espace (PC) ou le bouton tactile (Mobile)
  • Permet d'atteindre les plateformes les plus hautes
  • Compteur de sauts visible dans la console (debug)

Saut Amélioré

  • Force de saut augmentée : -400-550
  • Les plateformes sont maintenant accessibles

🗺 Niveau Étendu

Taille du Niveau

  • Avant : 3x la largeur de l'écran (~3840px)
  • MAINTENANT : 6x la largeur de l'écran (~7680px)
  • Durée de jeu augmentée significativement

Plateformes

  • Avant : 7 plateformes
  • MAINTENANT : 27 plateformes réparties en 6 zones
    • Zone 1 : Facile (début)
    • Zone 2 : Moyen
    • Zone 3 : Plus difficile
    • Zone 4 : Avancé
    • Zone 5 : Très difficile
    • Zone 6 : Finale (grande plateforme)

Objets

Cadeaux :

  • Avant : 4 cadeaux
  • MAINTENANT : 24 cadeaux (+500%)
  • Répartis partout sur le niveau
  • Alternance entre sol et hauteur variable

Obstacles :

  • Avant : 3 obstacles
  • MAINTENANT : 24 obstacles (+700%)
  • Répartis régulièrement tous les 300px environ

📊 Statistiques

Niveau :          7680px (6x écran)
Plateformes :     27 (+286%)
Cadeaux :         24 (+500%)
Obstacles :       24 (+700%)
Force de saut :   -550 (+37.5%)
Sauts max :       2 (NOUVEAU)

🎯 Difficulté

Le jeu est maintenant beaucoup plus long et varié :

  • Progression de difficulté graduelle sur 6 zones
  • Nécessite maîtrise du double saut pour les zones avancées
  • Plus de récompenses à collecter
  • Plus de défis à éviter

🔧 Changements Techniques

Constantes Modifiées

// src/utils/constants.ts
PLAYER_JUMP_VELOCITY: -550 (était -400)
PLAYER_MAX_JUMPS: 2 (NOUVEAU)

Modifications Classes

Player.ts :

  • Ajout du compteur de sauts (jumpCount)
  • Logique de double saut implémentée
  • Réinitialisation automatique au sol

GameScene.ts :

  • Monde physique étendu à 6x
  • 27 plateformes avec progression de difficulté
  • 24 cadeaux répartis intelligemment
  • 24 obstacles stratégiquement placés

🎮 Comment Jouer

PC

  • Déplacements : ← →
  • Saut : Espace
  • Double Saut : Appuyez Espace une 2ème fois en l'air !

Mobile

  • Déplacements : Inclinez le téléphone
  • Saut : Bouton vert en bas à droite
  • Double Saut : Appuyez le bouton une 2ème fois en l'air !

💡 Astuces

  1. Maîtrisez le double saut : Indispensable pour les plateformes hautes
  2. Explorez : Le niveau est 6x plus grand, prenez votre temps
  3. Collectez tout : 24 cadeaux = 2400 points potentiels !
  4. Évitez les obstacles : 24 obstacles = -1200 points si tous touchés
  5. Score parfait : 2400 points (tous les cadeaux, aucun obstacle)

🐛 Corrections

  • Monde physique correctement dimensionné
  • Joueur ne se bloque plus au bord de l'écran
  • Double saut fonctionnel et fluide
  • Collisions optimisées pour le grand niveau

Version 1.0 - Version Initiale

  • Jeu de plateforme basique
  • Support PC et Mobile
  • Gyroscope + contrôles tactiles
  • 7 plateformes
  • 4 cadeaux, 3 obstacles
  • Timer de 3 minutes