4. Gestion d'une batterie et cycle de rechargement automatique
Dans ce quatrième volet de la série Kawaii Slender, nous faisons évoluer notre mécanique de lampe-torche rudimentaire en y ajoutant une gestion dynamique et systémique : une jauge de batterie “magique” qui se décharge à l’utilisation et se régénère automatiquement au fil du temps lorsque la lampe est éteinte.
Concepts clés abordés dans ce tutoriel
- Création et paramétrage des Variables de contrôle :
- Mise en place d’une variable booléenne
Lampe ONpour suivre et interroger l’état binaire (allumé/éteint) de l’accessoire à tout moment. - Création d’une variable de type Float nommée
Batterie, initialisée à1.0(représentant $100%$ de charge). Cette normalisation (entre0.0et1.0) est idéale pour l’intégration future avec les barres de progression de l’interface utilisateur (HUD).
- Mise en place d’une variable booléenne
- Contrôles de flux et conditions de sécurité :
- Utilisation intensive du node Branch pour valider les actions du joueur (ex: vérifier si la batterie est supérieure à
0.0avant d’autoriser l’allumage). - Privilégier l’utilisation des comparateurs de sécurité (supérieur ou égal
/inférieur ou égal) à la place d’une égalité stricte pour éviter les bugs de calcul flottant inhérents aux moteurs de jeu.
- Utilisation intensive du node Branch pour valider les actions du joueur (ex: vérifier si la batterie est supérieure à
- Gestion du temps avec les Timers (Boucles de calcul) :
- Implémentation du node Set Timer by Event paramétré en mode
Loopingpour répéter des blocs de logique à intervalles réguliers (toutes les secondes). - Création de deux Custom Events dédiés :
DiminuerBatterie(soustraction de0.1à chaque cycle) etAugmenterBatterie(addition de0.1en phase de repos). - Utilisation des nœuds de redirection (Reroute Nodes) pour conserver un Blueprint propre, lisible et facile à déboguer malgré les interconnexions.
- Implémentation du node Set Timer by Event paramétré en mode
- Logique d’interdiction et comportement de gameplay :
- Verrouillage du système : si la batterie tombe à
0.0, la lampe s’éteint d’elle-même et le joueur se retrouve bloqué dans le noir, le forçant à attendre que la jauge remonte entièrement à1.0avant de pouvoir presser à nouveau l’interrupteur.
- Verrouillage du système : si la batterie tombe à
Ce qui reste d’actualité aujourd’hui
Les paradigmes de programmation visuelle et les choix d’optimisation abordés dans cette archive s’appliquent parfaitement aux architectures de jeu actuelles sur Unreal Engine 5 :
- La puissance des Timers face à l’Event Tick : L’optimisation CPU est plus critique que jamais. Utiliser des boucles de temps (
Set Timer by Event) à la place de l’échantillonnage par image (Event Tick) reste la règle absolue en gamedev pour toutes les mécaniques de fond (jauges de survie, énergie, faim, rechargement). - La normalisation des données ($0$ à $1$) : Stocker des ressources sous forme de ratio entre
0.0et1.0est la norme standard de l’industrie. Cela permet d’alimenter directement et proprement les matériaux d’interface (UI Materials) et les barres de progression des widgets UMG (Widget Blueprints) sans calculs complexes de conversion. - Les raccourcis de productivité de l’éditeur : Le maintien de la touche
Ctrlenfoncée pour glisser-déposer automatiquement une variable sous forme de node “Get” (obtenir la valeur) demeure une manipulation incontournable pour fluidifier votre flux de travail au quotidien dans l’éditeur de Blueprints.
© 2026 - Créé avec ❤️ sous Hugo & Relearn.