Word Riders est un jeu de puzzle de mots mobile développé avec Flutter et le Moteur Flame. Les joueurs doivent former des mots en utilisant les lettres fournies pour alimenter leur train et faire la course jusqu'à la ligne d'arrivée.
Défiez un adversaire IA qui avance continuellement. La vitesse de l'IA s'adapte dynamiquement en fonction du niveau de difficulté du stage. Battez l'IA jusqu'à la ligne d'arrivée pour progresser !
Idéal pour se familiariser avec le jeu sans la pression du temps. Vous pouvez configurer les paramètres de votre entraînement pour vous améliorer à votre propre rythme et découvrir de nouveaux mots.
Accomplissez des défis journaliers (comme trouver des mots longs) ou des objectifs à long terme (comme terminer des niveaux) pour obtenir des pièces.
Dépensez vos pièces durement gagnées dans la boutique pour acheter des boosters utiles en partie :
- Lettres supplémentaires pour débloquer des situations difficiles
- Distance doublée pour rattraper l'adversaire
- Gel du rival pour bloquer temporairement l'IA
Vous disposez de 5 vies, l'une d'elles se régénère toutes les 20 minutes en cas de défaite. Un système de "Vies Illimitées" temporaires (gagnable ou achetable) est également présent.
- Framework: Flutter 3.38.7
- Moteur de Jeu: Flame 1.33.0
- Gestion d'État: Provider 6.1.5
- Navigation: GoRouter 17.0.1
- Localisation: EasyLocalization (Anglais, Français, Espagnol, Allemand, Italien)
- Architecture: Structure orientée fonctionnalités (Feature-first)
- Télémétrie & Crashs: Firebase Analytics & Firebase Crashlytics
- CI/CD: GitHub Actions
lib/
├── config/ # Configurations globales et constantes de l'application
├── data/ # Fichiers de données statiques (listes audio, objectifs, etc.)
├── features/ # Modules basés sur les fonctionnalités réparties en domaines (gameplay, ui)
│ ├── gameplay/ # Logique interne du jeu (controllers, modèles de composants, services)
│ └── ui/ # Interfaces visuelles du jeu (écrans, popups, widgets)
├── main.dart # Point d'entrée de l'application
├── router.dart # Configuration de la navigation par routes (GoRouter)
└── secrets.dart # Fichier stockant les clés de l'environnement (exclut de Git)
Ce projet est un point de départ pour une application Flutter.
- SDK Flutter
- SDK Dart
-
Cloner le dépôt :
git clone https://github.com/EmmanuelleBonoli/wordRiders.git
-
Installer les dépendances :
flutter pub get
-
Configuration des clés API (Secrets) : Pour des raisons de sécurité, les clés API de Firebase ne sont pas incluses dans le dépôt GitHub. Vous devez copier le fichier d'exemple et y insérer vos propres clés :
cp lib/secrets_sample.dart lib/secrets.dart
Note : Vous devrez également configurer Firebase pour votre propre projet en remplaçant
firebase_sample.jsonetandroid/app/google-services-sample.jsonsi vous souhaitez utiliser Crashlytics et Analytics. -
Lancer l'application :
flutter run
Le projet utilise GitHub Actions pour vérifier automatiquement le bon fonctionnement du code à chaque Pull Request vers les branches staging et main.
La CI exécute automatiquement :
- L'installation des dépendances (
flutter pub get) - L'injection des faux secrets pour la compilation (
lib/secrets.dart) - L'analyse du code (
flutter analyze) - L'exécution des tests unitaires (
flutter test)
L'application supporte l'Anglais (en), le Français (fr), l'Espagnol (es), l'Allemand (de) et l'Italien (it). Les traductions se trouvent dans le dossier assets/translations/.