first
This commit is contained in:
341
CHANGELOG.md
Normal file
341
CHANGELOG.md
Normal file
@@ -0,0 +1,341 @@
|
||||
# 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
|
||||
```typescript
|
||||
// src/utils/constants.ts
|
||||
PLAYER_STARTING_LIVES: 3
|
||||
RESPAWN_INVINCIBILITY_TIME: 2000
|
||||
CHEST_REQUIRED_GIFTS: 15
|
||||
```
|
||||
|
||||
#### Classe Player.ts - Invincibilité
|
||||
```typescript
|
||||
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
|
||||
```typescript
|
||||
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
|
||||
```typescript
|
||||
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
|
||||
```typescript
|
||||
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](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
|
||||
```typescript
|
||||
// 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
|
||||
Reference in New Issue
Block a user