<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Série: Création d'un jeu type 'Survivor' avec GDevelop 5 on Créer un jeu vidéo</title><link>https://creerunjeuvideo.fr/gdevelop-5/creer-un-vampire-survivors-like/</link><description>Recent content in Série: Création d'un jeu type 'Survivor' avec GDevelop 5 on Créer un jeu vidéo</description><generator>Hugo</generator><language>fr</language><lastBuildDate>Wed, 22 May 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://creerunjeuvideo.fr/gdevelop-5/creer-un-vampire-survivors-like/index.xml" rel="self" type="application/rss+xml"/><item><title>1. Créer un jeu de type Survival avec GDevelop 5</title><link>https://creerunjeuvideo.fr/gdevelop-5/creer-un-vampire-survivors-like/creer-jeu-survival-gdevelop-5-episode-1/</link><pubDate>Fri, 27 Oct 2023 00:00:00 +0000</pubDate><guid>https://creerunjeuvideo.fr/gdevelop-5/creer-un-vampire-survivors-like/creer-jeu-survival-gdevelop-5-episode-1/</guid><description>&lt;p&gt;Bienvenue dans cette nouvelle série dédiée à la création d&amp;rsquo;un jeu de type &amp;ldquo;Survival&amp;rdquo; (à la &lt;em&gt;Vampire Survivors&lt;/em&gt; ou &lt;em&gt;Deep Rock Galactic: Survivor&lt;/em&gt;) avec GDevelop 5 ! Dans ce premier épisode, nous posons les bases techniques : mise en place du projet, gestion du personnage et création d&amp;rsquo;une caméra fluide.&lt;/p&gt;

&lt;div class="youtube-privacy-wrapper" style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; background: #000;"&gt;
 &lt;iframe 
 style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;"
 src="https://www.youtube-nocookie.com/embed/g_nucz_EsCQ" 
 title="YouTube video player" 
 loading="lazy"
 srcdoc="&lt;style&gt;*{padding:0;margin:0;overflow:hidden}html,body{height:100%}img,span{position:absolute;width:100%;top:0;bottom:0;margin:auto}span{height:1.5em;text-align:center;font:48px/1.5 sans-serif;color:white;text-shadow:0 0 0.5em black}&lt;/style&gt;&lt;a href=https://www.youtube-nocookie.com/embed/g_nucz_EsCQ?autoplay=1&gt;&lt;img src=https://img.youtube.com/vi/g_nucz_EsCQ/hqdefault.jpg alt='Vidéo YouTube'&gt;&lt;span&gt;▶&lt;/span&gt;&lt;/a&gt;"
 allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" 
 allowfullscreen&gt;
 &lt;/iframe&gt;
&lt;/div&gt;

&lt;h3 id="au-programme-de-cet-épisode-"&gt;Au programme de cet épisode :&lt;a class="anchor" href="#au-programme-de-cet-%c3%a9pisode-"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Configuration du projet :&lt;/strong&gt; Création d&amp;rsquo;un projet vide optimisé pour le Pixel Art.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gestion des assets :&lt;/strong&gt; Utilisation du pack &amp;ldquo;Dungeon&amp;rdquo; (CC0) pour intégrer un personnage et un sol.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Comportements (Behaviors) :&lt;/strong&gt; Mise en place du mouvement &amp;ldquo;8 directions&amp;rdquo; et remappage des touches (ZQSD).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Logique de jeu :&lt;/strong&gt; Inversion horizontale du sprite en fonction de la direction.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Caméra fluide :&lt;/strong&gt; Utilisation de l&amp;rsquo;interpolation linéaire (Lerp) pour un suivi de caméra professionnel.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ce-qui-reste-dactualité-aujourdhui"&gt;Ce qui reste d&amp;rsquo;actualité aujourd&amp;rsquo;hui&lt;a class="anchor" href="#ce-qui-reste-dactualit%c3%a9-aujourdhui"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;L&amp;rsquo;importance de l&amp;rsquo;optimisation :&lt;/strong&gt; Même pour un petit projet, bien structurer ses variables et ses objets dès le début est crucial pour la suite.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Le &amp;ldquo;Lerp&amp;rdquo; (Interpolation Linéaire) :&lt;/strong&gt; C&amp;rsquo;est une technique incontournable en GameDev. Elle permet de passer d&amp;rsquo;une valeur A à une valeur B de manière progressive, offrant un rendu beaucoup plus &amp;ldquo;smooth&amp;rdquo; et agréable qu&amp;rsquo;un simple centrage automatique.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;L&amp;rsquo;indépendance des contrôles :&lt;/strong&gt; En utilisant la vitesse de l&amp;rsquo;objet plutôt que les touches du clavier pour gérer l&amp;rsquo;orientation du sprite, vous rendez votre jeu compatible avec n&amp;rsquo;importe quelle configuration de clavier (AZERTY, QWERTY, etc.).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;L&amp;rsquo;organisation :&lt;/strong&gt; Utiliser des dossiers et renommer ses objets (ex: &amp;ldquo;Joueur&amp;rdquo;, &amp;ldquo;Sol&amp;rdquo;) est une habitude de travail qui vous fera gagner un temps précieux quand votre projet gagnera en complexité.&lt;/li&gt;
&lt;/ul&gt;


&lt;hr style="margin-top: 1.5rem; border: 0; border-top: 1px solid var(--INTERNAL-MENU-BORDER-color, #e5e5e5); opacity: 0.5;"&gt;

&lt;div class="custom-footer" style="display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 2rem; margin-top: 2rem; padding-bottom: 2rem; font-size: 0.9rem; color: var(--MAIN-TITLES-color);"&gt;
 
 &lt;div class="footer-col"&gt;
 &lt;h4 style="margin-bottom: 0.8rem; color: var(--MAIN-TITLES-color);"&gt;📺 Ma Chaîne YouTube&lt;/h4&gt;
 &lt;a href="https://www.youtube.com/@creerunjeuvideo" target="_blank" rel="noopener" style="display: inline-block; background: #4400ff; color: #fff; padding: 0.5rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;
 S'abonner à la chaîne
 &lt;/a&gt;
 &lt;/div&gt;

 &lt;div class="footer-col"&gt;
 &lt;h4 style="margin-bottom: 0.8rem; color: var(--MAIN-TITLES-color);"&gt;📦 Ressources&lt;/h4&gt;
 &lt;a href="https://jeancharpentier.itch.io/ressources-tutoriels" target="_blank" rel="noopener" style="display: inline-block; background: #4400ff; color: #fff; padding: 0.5rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;
 Téléchargements
 &lt;/a&gt;
 &lt;/div&gt;

 &lt;div class="footer-col"&gt;
 &lt;h4 style="margin-bottom: 0.8rem; color: var(--MAIN-TITLES-color);"&gt;🌐 Communauté&lt;/h4&gt;
 &lt;ul style="list-style: none; padding: 0; margin: 0; line-height: 1.6;"&gt;
 &lt;li&gt;&lt;a href="https://github.com/JeanCharpentier/" target="_blank" rel="noopener" style="color: var(--MENU-SECTIONS-LINK-color); padding: 1rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;💻 GitHub&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="https://bsky.app/profile/ankhm.bsky.social" target="_blank" rel="noopener" style="color: var(--MENU-SECTIONS-LINK-color); padding: 1rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;🦋 Bluesky&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="https://fr.linkedin.com/in/jeancharpentier" target="_blank" rel="noopener" style="color: var(--MENU-SECTIONS-LINK-color); padding: 1rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;💼 LinkedIn&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="https://www.twitch.tv/levieuxankh" target="_blank" rel="noopener" style="color: var(--MENU-SECTIONS-LINK-color); padding: 1rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;👾 Chaîne Twitch&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
 &lt;/div&gt;

&lt;/div&gt;

&lt;div style="border-top: 1px dashed var(--INTERNAL-MENU-BORDER-color, #e5e5e5); padding-top: 1rem; margin-top: 1rem; font-size: 0.8rem; opacity: 0.7; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1rem;"&gt;
 &lt;div&gt;
 &amp;copy; 2026 - Créé avec ❤️ sous Hugo.
 &lt;/div&gt;
 &lt;div&gt;
 &lt;a href="https://creerunjeuvideo.fr/mentions-legales/" style="color: inherit; margin-right: 1rem;"&gt;Mentions légales&lt;/a&gt;
 &lt;a href="https://creerunjeuvideo.fr/confidentialite/" style="color: inherit;"&gt;Confidentialité (RGPD)&lt;/a&gt;
 &lt;/div&gt;
&lt;/div&gt;</description></item><item><title>2. Créer des ennemis et un système de tir dans GDevelop 5</title><link>https://creerunjeuvideo.fr/gdevelop-5/creer-un-vampire-survivors-like/creer-ennemis-tir-gdevelop-survivors-like/</link><pubDate>Wed, 22 May 2024 00:00:00 +0000</pubDate><guid>https://creerunjeuvideo.fr/gdevelop-5/creer-un-vampire-survivors-like/creer-ennemis-tir-gdevelop-survivors-like/</guid><description>&lt;p&gt;Bienvenue dans ce deuxième volet de notre série dédiée à la création d&amp;rsquo;un jeu de type &amp;ldquo;Survivors-like&amp;rdquo; avec GDevelop 5. Après avoir mis en place les déplacements de base de notre personnage, il est temps de donner un peu de vie (et de danger) à notre scène en ajoutant des ennemis qui nous traquent et un système de tir automatique pour se défendre.&lt;/p&gt;

&lt;div class="youtube-privacy-wrapper" style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; background: #000;"&gt;
 &lt;iframe 
 style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;"
 src="https://www.youtube-nocookie.com/embed/XTURiRilc0k" 
 title="YouTube video player" 
 loading="lazy"
 srcdoc="&lt;style&gt;*{padding:0;margin:0;overflow:hidden}html,body{height:100%}img,span{position:absolute;width:100%;top:0;bottom:0;margin:auto}span{height:1.5em;text-align:center;font:48px/1.5 sans-serif;color:white;text-shadow:0 0 0.5em black}&lt;/style&gt;&lt;a href=https://www.youtube-nocookie.com/embed/XTURiRilc0k?autoplay=1&gt;&lt;img src=https://img.youtube.com/vi/XTURiRilc0k/hqdefault.jpg alt='Vidéo YouTube'&gt;&lt;span&gt;▶&lt;/span&gt;&lt;/a&gt;"
 allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" 
 allowfullscreen&gt;
 &lt;/iframe&gt;
&lt;/div&gt;

&lt;h3 id="ce-que-vous-allez-apprendre-dans-cet-épisode-"&gt;Ce que vous allez apprendre dans cet épisode :&lt;a class="anchor" href="#ce-que-vous-allez-apprendre-dans-cet-%c3%a9pisode-"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Gestion des objets et des groupes :&lt;/strong&gt; Organisation de vos ressources (armes et ennemis) pour faciliter la programmation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Comportement &amp;ldquo;Recherche de chemin&amp;rdquo; (Pathfinding) :&lt;/strong&gt; Comment faire en sorte que vos ennemis se dirigent intelligemment vers le joueur.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Optimisation des collisions :&lt;/strong&gt; Utiliser l&amp;rsquo;action &amp;ldquo;Séparer deux objets&amp;rdquo; pour éviter que les ennemis ne se superposent et ne forment un bloc unique.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Système de tir automatique :&lt;/strong&gt; Utilisation des points personnalisés sur le sprite du joueur pour créer des projectiles qui visent l&amp;rsquo;ennemi le plus proche.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Optimisation des performances :&lt;/strong&gt; Utilisation du comportement &amp;ldquo;Détruire en dehors de l&amp;rsquo;écran&amp;rdquo; pour éviter de surcharger la mémoire avec des projectiles inutiles.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ce-qui-reste-dactualité-aujourdhui"&gt;Ce qui reste d&amp;rsquo;actualité aujourd&amp;rsquo;hui&lt;a class="anchor" href="#ce-qui-reste-dactualit%c3%a9-aujourdhui"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Bien que les versions de GDevelop évoluent, les concepts abordés ici restent les piliers fondamentaux pour tout jeu de type &lt;em&gt;bullet heaven&lt;/em&gt; ou &lt;em&gt;survivors-like&lt;/em&gt; :&lt;/p&gt;</description></item><item><title>3. Créer un Roguelike type Vampire Survivors : Gestion des dégâts et effets visuels</title><link>https://creerunjeuvideo.fr/gdevelop-5/creer-un-vampire-survivors-like/creer-roguelike-vampire-survivors-gdevelop-degats-flash/</link><pubDate>Fri, 27 Oct 2023 00:00:00 +0000</pubDate><guid>https://creerunjeuvideo.fr/gdevelop-5/creer-un-vampire-survivors-like/creer-roguelike-vampire-survivors-gdevelop-degats-flash/</guid><description>&lt;p&gt;Bienvenue dans ce troisième volet de notre série dédiée à la création d&amp;rsquo;un jeu de type &amp;ldquo;Vampire Survivors&amp;rdquo; avec GDevelop 5. Après avoir mis en place les déplacements et les tirs, il est temps de donner un peu de répondant à nos ennemis. Dans cet épisode, nous allons apprendre à gérer les points de vie (HP), les dégâts des projectiles et surtout, à ajouter un feedback visuel indispensable : l&amp;rsquo;effet de &amp;ldquo;flash&amp;rdquo; blanc lors des impacts.&lt;/p&gt;</description></item><item><title>4. Gérer la vie du joueur et les frames d''invulnérabilité</title><link>https://creerunjeuvideo.fr/gdevelop-5/creer-un-vampire-survivors-like/gerer-vie-joueur-invulnerabilite-gdevelop-5/</link><pubDate>Fri, 27 Oct 2023 00:00:00 +0000</pubDate><guid>https://creerunjeuvideo.fr/gdevelop-5/creer-un-vampire-survivors-like/gerer-vie-joueur-invulnerabilite-gdevelop-5/</guid><description>&lt;p&gt;Dans ce quatrième épisode de notre série dédiée à la création d&amp;rsquo;un jeu de type &amp;ldquo;Survival&amp;rdquo;, nous allons nous attaquer à un pilier fondamental : la gestion de la santé du joueur. Il ne suffit pas d&amp;rsquo;avoir une barre de vie, il faut aussi que le joueur ressente les impacts et qu&amp;rsquo;il ne meure pas instantanément au moindre contact.&lt;/p&gt;

&lt;div class="youtube-privacy-wrapper" style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; background: #000;"&gt;
 &lt;iframe 
 style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;"
 src="https://www.youtube-nocookie.com/embed/pTorx3bI3t8" 
 title="YouTube video player" 
 loading="lazy"
 srcdoc="&lt;style&gt;*{padding:0;margin:0;overflow:hidden}html,body{height:100%}img,span{position:absolute;width:100%;top:0;bottom:0;margin:auto}span{height:1.5em;text-align:center;font:48px/1.5 sans-serif;color:white;text-shadow:0 0 0.5em black}&lt;/style&gt;&lt;a href=https://www.youtube-nocookie.com/embed/pTorx3bI3t8?autoplay=1&gt;&lt;img src=https://img.youtube.com/vi/pTorx3bI3t8/hqdefault.jpg alt='Vidéo YouTube'&gt;&lt;span&gt;▶&lt;/span&gt;&lt;/a&gt;"
 allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" 
 allowfullscreen&gt;
 &lt;/iframe&gt;
&lt;/div&gt;

&lt;h3 id="au-programme-de-cet-épisode-"&gt;Au programme de cet épisode :&lt;a class="anchor" href="#au-programme-de-cet-%c3%a9pisode-"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Variables d&amp;rsquo;objet :&lt;/strong&gt; Création des variables &lt;code&gt;HP&lt;/code&gt;, &lt;code&gt;HP_max&lt;/code&gt; et &lt;code&gt;invulnerabilite&lt;/code&gt; pour gérer l&amp;rsquo;état de santé.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Feedback visuel :&lt;/strong&gt; Utilisation du comportement &amp;ldquo;Clignotement&amp;rdquo; (Flash) pour signaler les dégâts.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mécanique d&amp;rsquo;invulnérabilité :&lt;/strong&gt; Mise en place d&amp;rsquo;un système de &amp;ldquo;frames d&amp;rsquo;invulnérabilité&amp;rdquo; via un chronomètre pour éviter les dégâts en chaîne.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Interface utilisateur (UI) :&lt;/strong&gt; Ajout d&amp;rsquo;une barre de ressources pour afficher visuellement les points de vie.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Organisation :&lt;/strong&gt; Utilisation de groupes d&amp;rsquo;événements pour garder votre feuille d&amp;rsquo;événements propre et lisible.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ce-qui-reste-dactualité-aujourdhui"&gt;Ce qui reste d&amp;rsquo;actualité aujourd&amp;rsquo;hui&lt;a class="anchor" href="#ce-qui-reste-dactualit%c3%a9-aujourdhui"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;La structure des variables :&lt;/strong&gt; Utiliser des variables numériques pour la santé et des booléens pour les états (invulnérabilité) reste la méthode standard dans GDevelop.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Le comportement &amp;ldquo;Clignotement&amp;rdquo; :&lt;/strong&gt; C&amp;rsquo;est toujours l&amp;rsquo;outil le plus simple et efficace pour donner un retour visuel immédiat au joueur sans avoir à créer des animations complexes.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;L&amp;rsquo;importance de l&amp;rsquo;UI :&lt;/strong&gt; La séparation des calques (un calque &amp;ldquo;UI&amp;rdquo; pour l&amp;rsquo;interface et un calque &amp;ldquo;Base&amp;rdquo; pour le jeu) est une bonne pratique indispensable pour que vos éléments d&amp;rsquo;interface restent fixes à l&amp;rsquo;écran.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gestion du Debug :&lt;/strong&gt; Créer un groupe d&amp;rsquo;événements dédié au &amp;ldquo;Debug&amp;rdquo; dès le début du projet est un conseil précieux qui vous fera gagner un temps fou lors de la phase de test.&lt;/li&gt;
&lt;/ul&gt;


&lt;hr style="margin-top: 1.5rem; border: 0; border-top: 1px solid var(--INTERNAL-MENU-BORDER-color, #e5e5e5); opacity: 0.5;"&gt;

&lt;div class="custom-footer" style="display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 2rem; margin-top: 2rem; padding-bottom: 2rem; font-size: 0.9rem; color: var(--MAIN-TITLES-color);"&gt;
 
 &lt;div class="footer-col"&gt;
 &lt;h4 style="margin-bottom: 0.8rem; color: var(--MAIN-TITLES-color);"&gt;📺 Ma Chaîne YouTube&lt;/h4&gt;
 &lt;a href="https://www.youtube.com/@creerunjeuvideo" target="_blank" rel="noopener" style="display: inline-block; background: #4400ff; color: #fff; padding: 0.5rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;
 S'abonner à la chaîne
 &lt;/a&gt;
 &lt;/div&gt;

 &lt;div class="footer-col"&gt;
 &lt;h4 style="margin-bottom: 0.8rem; color: var(--MAIN-TITLES-color);"&gt;📦 Ressources&lt;/h4&gt;
 &lt;a href="https://jeancharpentier.itch.io/ressources-tutoriels" target="_blank" rel="noopener" style="display: inline-block; background: #4400ff; color: #fff; padding: 0.5rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;
 Téléchargements
 &lt;/a&gt;
 &lt;/div&gt;

 &lt;div class="footer-col"&gt;
 &lt;h4 style="margin-bottom: 0.8rem; color: var(--MAIN-TITLES-color);"&gt;🌐 Communauté&lt;/h4&gt;
 &lt;ul style="list-style: none; padding: 0; margin: 0; line-height: 1.6;"&gt;
 &lt;li&gt;&lt;a href="https://github.com/JeanCharpentier/" target="_blank" rel="noopener" style="color: var(--MENU-SECTIONS-LINK-color); padding: 1rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;💻 GitHub&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="https://bsky.app/profile/ankhm.bsky.social" target="_blank" rel="noopener" style="color: var(--MENU-SECTIONS-LINK-color); padding: 1rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;🦋 Bluesky&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="https://fr.linkedin.com/in/jeancharpentier" target="_blank" rel="noopener" style="color: var(--MENU-SECTIONS-LINK-color); padding: 1rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;💼 LinkedIn&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="https://www.twitch.tv/levieuxankh" target="_blank" rel="noopener" style="color: var(--MENU-SECTIONS-LINK-color); padding: 1rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;👾 Chaîne Twitch&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
 &lt;/div&gt;

&lt;/div&gt;

&lt;div style="border-top: 1px dashed var(--INTERNAL-MENU-BORDER-color, #e5e5e5); padding-top: 1rem; margin-top: 1rem; font-size: 0.8rem; opacity: 0.7; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1rem;"&gt;
 &lt;div&gt;
 &amp;copy; 2026 - Créé avec ❤️ sous Hugo.
 &lt;/div&gt;
 &lt;div&gt;
 &lt;a href="https://creerunjeuvideo.fr/mentions-legales/" style="color: inherit; margin-right: 1rem;"&gt;Mentions légales&lt;/a&gt;
 &lt;a href="https://creerunjeuvideo.fr/confidentialite/" style="color: inherit;"&gt;Confidentialité (RGPD)&lt;/a&gt;
 &lt;/div&gt;
&lt;/div&gt;</description></item><item><title>5. Créer un système d''expérience et de montée de niveau</title><link>https://creerunjeuvideo.fr/gdevelop-5/creer-un-vampire-survivors-like/creer-systeme-experience-montee-niveau-gdevelop-5/</link><pubDate>Fri, 27 Oct 2023 00:00:00 +0000</pubDate><guid>https://creerunjeuvideo.fr/gdevelop-5/creer-un-vampire-survivors-like/creer-systeme-experience-montee-niveau-gdevelop-5/</guid><description>&lt;p&gt;Dans ce cinquième épisode de notre série dédiée à la création d&amp;rsquo;un jeu de type &lt;em&gt;Survivor&lt;/em&gt; sur GDevelop 5, nous allons nous concentrer sur la progression du joueur. Vous apprendrez à mettre en place un système d&amp;rsquo;expérience, à créer une barre de progression dynamique et à automatiser l&amp;rsquo;attraction des objets vers le personnage.&lt;/p&gt;

&lt;div class="youtube-privacy-wrapper" style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; background: #000;"&gt;
 &lt;iframe 
 style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;"
 src="https://www.youtube-nocookie.com/embed/DtqWmMlafnM" 
 title="YouTube video player" 
 loading="lazy"
 srcdoc="&lt;style&gt;*{padding:0;margin:0;overflow:hidden}html,body{height:100%}img,span{position:absolute;width:100%;top:0;bottom:0;margin:auto}span{height:1.5em;text-align:center;font:48px/1.5 sans-serif;color:white;text-shadow:0 0 0.5em black}&lt;/style&gt;&lt;a href=https://www.youtube-nocookie.com/embed/DtqWmMlafnM?autoplay=1&gt;&lt;img src=https://img.youtube.com/vi/DtqWmMlafnM/hqdefault.jpg alt='Vidéo YouTube'&gt;&lt;span&gt;▶&lt;/span&gt;&lt;/a&gt;"
 allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" 
 allowfullscreen&gt;
 &lt;/iframe&gt;
&lt;/div&gt;

&lt;h3 id="ce-que-vous-allez-apprendre-dans-ce-tutoriel-"&gt;Ce que vous allez apprendre dans ce tutoriel :&lt;a class="anchor" href="#ce-que-vous-allez-apprendre-dans-ce-tutoriel-"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Gestion des variables :&lt;/strong&gt; Créer et manipuler les variables d&amp;rsquo;objet pour suivre l&amp;rsquo;expérience actuelle et le seuil du prochain niveau.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Interface utilisateur (UI) :&lt;/strong&gt; Utiliser l&amp;rsquo;objet &amp;ldquo;Barre de ressources&amp;rdquo; pour afficher visuellement la progression du joueur.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Attraction d&amp;rsquo;objets :&lt;/strong&gt; Programmer un système où les flasques d&amp;rsquo;expérience sont attirées automatiquement vers le joueur lorsqu&amp;rsquo;il s&amp;rsquo;en approche.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Logique de montée de niveau :&lt;/strong&gt; Créer un système de calcul automatique pour augmenter la difficulté (le seuil d&amp;rsquo;XP nécessaire) à chaque niveau franchi.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Optimisation :&lt;/strong&gt; Utiliser les groupes d&amp;rsquo;objets pour simplifier la gestion des collisions et des apparitions d&amp;rsquo;objets.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ce-qui-reste-dactualité-aujourdhui"&gt;Ce qui reste d&amp;rsquo;actualité aujourd&amp;rsquo;hui&lt;a class="anchor" href="#ce-qui-reste-dactualit%c3%a9-aujourdhui"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;La gestion des variables :&lt;/strong&gt; La manipulation des variables d&amp;rsquo;objet reste le cœur du système de progression dans GDevelop.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;L&amp;rsquo;utilisation des groupes :&lt;/strong&gt; Regrouper vos objets (ennemis, flasques) est toujours la meilleure pratique pour garder un code propre et évolutif.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;La soustraction de l&amp;rsquo;XP :&lt;/strong&gt; La technique consistant à soustraire l&amp;rsquo;XP du niveau précédent lors du passage au niveau supérieur est indispensable pour ne pas &amp;ldquo;voler&amp;rdquo; de points au joueur.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Les barres de ressources :&lt;/strong&gt; L&amp;rsquo;objet natif &amp;ldquo;Barre de ressources&amp;rdquo; est toujours l&amp;rsquo;outil le plus simple et efficace pour afficher des jauges de vie ou d&amp;rsquo;expérience.&lt;/li&gt;
&lt;/ul&gt;


&lt;hr style="margin-top: 1.5rem; border: 0; border-top: 1px solid var(--INTERNAL-MENU-BORDER-color, #e5e5e5); opacity: 0.5;"&gt;

&lt;div class="custom-footer" style="display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 2rem; margin-top: 2rem; padding-bottom: 2rem; font-size: 0.9rem; color: var(--MAIN-TITLES-color);"&gt;
 
 &lt;div class="footer-col"&gt;
 &lt;h4 style="margin-bottom: 0.8rem; color: var(--MAIN-TITLES-color);"&gt;📺 Ma Chaîne YouTube&lt;/h4&gt;
 &lt;a href="https://www.youtube.com/@creerunjeuvideo" target="_blank" rel="noopener" style="display: inline-block; background: #4400ff; color: #fff; padding: 0.5rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;
 S'abonner à la chaîne
 &lt;/a&gt;
 &lt;/div&gt;

 &lt;div class="footer-col"&gt;
 &lt;h4 style="margin-bottom: 0.8rem; color: var(--MAIN-TITLES-color);"&gt;📦 Ressources&lt;/h4&gt;
 &lt;a href="https://jeancharpentier.itch.io/ressources-tutoriels" target="_blank" rel="noopener" style="display: inline-block; background: #4400ff; color: #fff; padding: 0.5rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;
 Téléchargements
 &lt;/a&gt;
 &lt;/div&gt;

 &lt;div class="footer-col"&gt;
 &lt;h4 style="margin-bottom: 0.8rem; color: var(--MAIN-TITLES-color);"&gt;🌐 Communauté&lt;/h4&gt;
 &lt;ul style="list-style: none; padding: 0; margin: 0; line-height: 1.6;"&gt;
 &lt;li&gt;&lt;a href="https://github.com/JeanCharpentier/" target="_blank" rel="noopener" style="color: var(--MENU-SECTIONS-LINK-color); padding: 1rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;💻 GitHub&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="https://bsky.app/profile/ankhm.bsky.social" target="_blank" rel="noopener" style="color: var(--MENU-SECTIONS-LINK-color); padding: 1rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;🦋 Bluesky&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="https://fr.linkedin.com/in/jeancharpentier" target="_blank" rel="noopener" style="color: var(--MENU-SECTIONS-LINK-color); padding: 1rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;💼 LinkedIn&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="https://www.twitch.tv/levieuxankh" target="_blank" rel="noopener" style="color: var(--MENU-SECTIONS-LINK-color); padding: 1rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;👾 Chaîne Twitch&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
 &lt;/div&gt;

&lt;/div&gt;

&lt;div style="border-top: 1px dashed var(--INTERNAL-MENU-BORDER-color, #e5e5e5); padding-top: 1rem; margin-top: 1rem; font-size: 0.8rem; opacity: 0.7; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1rem;"&gt;
 &lt;div&gt;
 &amp;copy; 2026 - Créé avec ❤️ sous Hugo.
 &lt;/div&gt;
 &lt;div&gt;
 &lt;a href="https://creerunjeuvideo.fr/mentions-legales/" style="color: inherit; margin-right: 1rem;"&gt;Mentions légales&lt;/a&gt;
 &lt;a href="https://creerunjeuvideo.fr/confidentialite/" style="color: inherit;"&gt;Confidentialité (RGPD)&lt;/a&gt;
 &lt;/div&gt;
&lt;/div&gt;</description></item><item><title>6. Créer un système d'upgrades (Level Up) - Partie 1</title><link>https://creerunjeuvideo.fr/gdevelop-5/creer-un-vampire-survivors-like/creer-systeme-montee-niveau-gdevelop-partie-1/</link><pubDate>Wed, 22 May 2024 00:00:00 +0000</pubDate><guid>https://creerunjeuvideo.fr/gdevelop-5/creer-un-vampire-survivors-like/creer-systeme-montee-niveau-gdevelop-partie-1/</guid><description>&lt;p&gt;Dans cet épisode de notre série dédiée à la création d&amp;rsquo;un &lt;em&gt;Survival-like&lt;/em&gt; avec GDevelop 5, nous attaquons une étape cruciale : le système de montée de niveau. Comme le sujet est dense, nous allons le diviser en deux parties. Aujourd&amp;rsquo;hui, nous nous concentrons sur l&amp;rsquo;affichage dynamique des choix d&amp;rsquo;améliorations.&lt;/p&gt;

&lt;div class="youtube-privacy-wrapper" style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; background: #000;"&gt;
 &lt;iframe 
 style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;"
 src="https://www.youtube-nocookie.com/embed/AL5Qg1EyutU" 
 title="YouTube video player" 
 loading="lazy"
 srcdoc="&lt;style&gt;*{padding:0;margin:0;overflow:hidden}html,body{height:100%}img,span{position:absolute;width:100%;top:0;bottom:0;margin:auto}span{height:1.5em;text-align:center;font:48px/1.5 sans-serif;color:white;text-shadow:0 0 0.5em black}&lt;/style&gt;&lt;a href=https://www.youtube-nocookie.com/embed/AL5Qg1EyutU?autoplay=1&gt;&lt;img src=https://img.youtube.com/vi/AL5Qg1EyutU/hqdefault.jpg alt='Vidéo YouTube'&gt;&lt;span&gt;▶&lt;/span&gt;&lt;/a&gt;"
 allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" 
 allowfullscreen&gt;
 &lt;/iframe&gt;
&lt;/div&gt;

&lt;h3 id="ce-que-nous-allons-mettre-en-place-"&gt;Ce que nous allons mettre en place :&lt;a class="anchor" href="#ce-que-nous-allons-mettre-en-place-"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Gestion des scènes :&lt;/strong&gt; Renommage et organisation de la scène principale.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Interface de menu :&lt;/strong&gt; Création d&amp;rsquo;un calque dédié au menu &amp;ldquo;Level Up&amp;rdquo; pour le masquer/afficher à la volée.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data-driven design :&lt;/strong&gt; Utilisation d&amp;rsquo;une variable globale de type &amp;ldquo;Tableau&amp;rdquo; pour stocker toutes les statistiques modifiables (vitesse, dégâts, vie, etc.).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Logique de tirage au sort :&lt;/strong&gt; Utilisation de &lt;code&gt;RandomInRange&lt;/code&gt; pour proposer deux améliorations aléatoires parmi la liste, tout en évitant les doublons grâce à une boucle &lt;code&gt;Tant que&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mise à jour dynamique :&lt;/strong&gt; Programmation des boutons pour qu&amp;rsquo;ils affichent le nom de l&amp;rsquo;amélioration piochée dans le tableau.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ce-qui-reste-dactualité-aujourdhui"&gt;Ce qui reste d&amp;rsquo;actualité aujourd&amp;rsquo;hui&lt;a class="anchor" href="#ce-qui-reste-dactualit%c3%a9-aujourdhui"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Structure des données :&lt;/strong&gt; L&amp;rsquo;utilisation de structures dans les variables (Tableaux de structures) reste la meilleure pratique pour gérer des objets complexes comme des compétences ou des items.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Modularité :&lt;/strong&gt; Le système de &amp;ldquo;Data-driven&amp;rdquo; présenté ici permet d&amp;rsquo;ajouter de nouvelles compétences en modifiant simplement la variable globale, sans avoir à toucher au code des événements.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bonnes pratiques :&lt;/strong&gt; L&amp;rsquo;utilisation de calques séparés pour l&amp;rsquo;interface (UI) est indispensable pour garder un projet propre et performant.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Exercice pratique :&lt;/strong&gt; N&amp;rsquo;oubliez pas que l&amp;rsquo;affichage de la description (le texte explicatif sous le nom de la compétence) est un excellent exercice pour consolider vos acquis sur la manipulation des variables de structure.&lt;/li&gt;
&lt;/ul&gt;


&lt;hr style="margin-top: 1.5rem; border: 0; border-top: 1px solid var(--INTERNAL-MENU-BORDER-color, #e5e5e5); opacity: 0.5;"&gt;

&lt;div class="custom-footer" style="display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 2rem; margin-top: 2rem; padding-bottom: 2rem; font-size: 0.9rem; color: var(--MAIN-TITLES-color);"&gt;
 
 &lt;div class="footer-col"&gt;
 &lt;h4 style="margin-bottom: 0.8rem; color: var(--MAIN-TITLES-color);"&gt;📺 Ma Chaîne YouTube&lt;/h4&gt;
 &lt;a href="https://www.youtube.com/@creerunjeuvideo" target="_blank" rel="noopener" style="display: inline-block; background: #4400ff; color: #fff; padding: 0.5rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;
 S'abonner à la chaîne
 &lt;/a&gt;
 &lt;/div&gt;

 &lt;div class="footer-col"&gt;
 &lt;h4 style="margin-bottom: 0.8rem; color: var(--MAIN-TITLES-color);"&gt;📦 Ressources&lt;/h4&gt;
 &lt;a href="https://jeancharpentier.itch.io/ressources-tutoriels" target="_blank" rel="noopener" style="display: inline-block; background: #4400ff; color: #fff; padding: 0.5rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;
 Téléchargements
 &lt;/a&gt;
 &lt;/div&gt;

 &lt;div class="footer-col"&gt;
 &lt;h4 style="margin-bottom: 0.8rem; color: var(--MAIN-TITLES-color);"&gt;🌐 Communauté&lt;/h4&gt;
 &lt;ul style="list-style: none; padding: 0; margin: 0; line-height: 1.6;"&gt;
 &lt;li&gt;&lt;a href="https://github.com/JeanCharpentier/" target="_blank" rel="noopener" style="color: var(--MENU-SECTIONS-LINK-color); padding: 1rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;💻 GitHub&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="https://bsky.app/profile/ankhm.bsky.social" target="_blank" rel="noopener" style="color: var(--MENU-SECTIONS-LINK-color); padding: 1rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;🦋 Bluesky&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="https://fr.linkedin.com/in/jeancharpentier" target="_blank" rel="noopener" style="color: var(--MENU-SECTIONS-LINK-color); padding: 1rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;💼 LinkedIn&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="https://www.twitch.tv/levieuxankh" target="_blank" rel="noopener" style="color: var(--MENU-SECTIONS-LINK-color); padding: 1rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;👾 Chaîne Twitch&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
 &lt;/div&gt;

&lt;/div&gt;

&lt;div style="border-top: 1px dashed var(--INTERNAL-MENU-BORDER-color, #e5e5e5); padding-top: 1rem; margin-top: 1rem; font-size: 0.8rem; opacity: 0.7; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1rem;"&gt;
 &lt;div&gt;
 &amp;copy; 2026 - Créé avec ❤️ sous Hugo.
 &lt;/div&gt;
 &lt;div&gt;
 &lt;a href="https://creerunjeuvideo.fr/mentions-legales/" style="color: inherit; margin-right: 1rem;"&gt;Mentions légales&lt;/a&gt;
 &lt;a href="https://creerunjeuvideo.fr/confidentialite/" style="color: inherit;"&gt;Confidentialité (RGPD)&lt;/a&gt;
 &lt;/div&gt;
&lt;/div&gt;</description></item><item><title>7. Créer un système d'upgrades (Level Up) - Partie 2</title><link>https://creerunjeuvideo.fr/gdevelop-5/creer-un-vampire-survivors-like/creer-systeme-level-up-survival-like-gdevelop/</link><pubDate>Wed, 22 May 2024 00:00:00 +0000</pubDate><guid>https://creerunjeuvideo.fr/gdevelop-5/creer-un-vampire-survivors-like/creer-systeme-level-up-survival-like-gdevelop/</guid><description>&lt;p&gt;Dans ce septième épisode de notre série dédiée à la création d&amp;rsquo;un jeu de type &amp;ldquo;Survival-like&amp;rdquo; sur GDevelop 5, nous clôturons notre système de montée de niveau. Après avoir mis en place l&amp;rsquo;interface des cartes d&amp;rsquo;amélioration dans la première partie, nous allons maintenant coder la logique mécanique qui permet de booster réellement les statistiques de votre personnage.&lt;/p&gt;

&lt;div class="youtube-privacy-wrapper" style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; background: #000;"&gt;
 &lt;iframe 
 style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;"
 src="https://www.youtube-nocookie.com/embed/R7rsia81_T4" 
 title="YouTube video player" 
 loading="lazy"
 srcdoc="&lt;style&gt;*{padding:0;margin:0;overflow:hidden}html,body{height:100%}img,span{position:absolute;width:100%;top:0;bottom:0;margin:auto}span{height:1.5em;text-align:center;font:48px/1.5 sans-serif;color:white;text-shadow:0 0 0.5em black}&lt;/style&gt;&lt;a href=https://www.youtube-nocookie.com/embed/R7rsia81_T4?autoplay=1&gt;&lt;img src=https://img.youtube.com/vi/R7rsia81_T4/hqdefault.jpg alt='Vidéo YouTube'&gt;&lt;span&gt;▶&lt;/span&gt;&lt;/a&gt;"
 allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" 
 allowfullscreen&gt;
 &lt;/iframe&gt;
&lt;/div&gt;

&lt;h3 id="résumé-du-tutoriel"&gt;Résumé du tutoriel&lt;a class="anchor" href="#r%c3%a9sum%c3%a9-du-tutoriel"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Dans cette vidéo, nous abordons les points clés suivants :&lt;/p&gt;</description></item><item><title>8. Gestion avancée des ennemis et difficulté dynamique</title><link>https://creerunjeuvideo.fr/gdevelop-5/creer-un-vampire-survivors-like/gestion-ennemis-difficulte-dynamique-gdevelop/</link><pubDate>Fri, 27 Oct 2023 00:00:00 +0000</pubDate><guid>https://creerunjeuvideo.fr/gdevelop-5/creer-un-vampire-survivors-like/gestion-ennemis-difficulte-dynamique-gdevelop/</guid><description>&lt;p&gt;Bienvenue dans ce huitième volet de notre série dédiée à la création d&amp;rsquo;un jeu de type &amp;ldquo;Survival&amp;rdquo; sur GDevelop 5. Aujourd&amp;rsquo;hui, nous attaquons le cœur du système : la génération procédurale des ennemis, la montée en difficulté et l&amp;rsquo;utilisation de variables pour rendre votre jeu évolutif.&lt;/p&gt;

&lt;div class="youtube-privacy-wrapper" style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; background: #000;"&gt;
 &lt;iframe 
 style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;"
 src="https://www.youtube-nocookie.com/embed/KYVF-NKtV_w" 
 title="YouTube video player" 
 loading="lazy"
 srcdoc="&lt;style&gt;*{padding:0;margin:0;overflow:hidden}html,body{height:100%}img,span{position:absolute;width:100%;top:0;bottom:0;margin:auto}span{height:1.5em;text-align:center;font:48px/1.5 sans-serif;color:white;text-shadow:0 0 0.5em black}&lt;/style&gt;&lt;a href=https://www.youtube-nocookie.com/embed/KYVF-NKtV_w?autoplay=1&gt;&lt;img src=https://img.youtube.com/vi/KYVF-NKtV_w/hqdefault.jpg alt='Vidéo YouTube'&gt;&lt;span&gt;▶&lt;/span&gt;&lt;/a&gt;"
 allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" 
 allowfullscreen&gt;
 &lt;/iframe&gt;
&lt;/div&gt;

&lt;h3 id="ce-que-vous-allez-apprendre-dans-cet-épisode-"&gt;Ce que vous allez apprendre dans cet épisode :&lt;a class="anchor" href="#ce-que-vous-allez-apprendre-dans-cet-%c3%a9pisode-"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Gestion des ennemis via des tableaux :&lt;/strong&gt; Stocker vos types d&amp;rsquo;ennemis dans une variable globale pour les appeler dynamiquement.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Système de Spawner :&lt;/strong&gt; Créer un chronomètre de scène pour cadencer l&amp;rsquo;apparition des vagues.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Difficulté progressive :&lt;/strong&gt; Augmenter le nombre d&amp;rsquo;ennemis et réduire le temps d&amp;rsquo;apparition à chaque montée de niveau.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Trigonométrie simplifiée :&lt;/strong&gt; Utiliser les fonctions &lt;code&gt;Cos&lt;/code&gt; et &lt;code&gt;Sin&lt;/code&gt; pour faire apparaître vos ennemis en cercle autour du joueur, peu importe sa position.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Optimisation :&lt;/strong&gt; Limiter le nombre d&amp;rsquo;ennemis actifs pour préserver les performances de votre jeu.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ce-qui-reste-dactualité-aujourdhui"&gt;Ce qui reste d&amp;rsquo;actualité aujourd&amp;rsquo;hui&lt;a class="anchor" href="#ce-qui-reste-dactualit%c3%a9-aujourdhui"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Les concepts abordés ici sont fondamentaux pour n&amp;rsquo;importe quel jeu de survie ou de type &amp;ldquo;Bullet Heaven&amp;rdquo;. La méthode consistant à utiliser des tableaux (&lt;code&gt;ListEnnemis&lt;/code&gt;) et des index de difficulté (&lt;code&gt;indexDifficulté&lt;/code&gt;) est une pratique propre qui permet de faire évoluer votre jeu sans avoir à réécrire tout votre code. Même si la trigonométrie peut sembler intimidante au premier abord, elle devient un outil puissant une fois que vous avez compris la logique du cercle trigonométrique : le &lt;code&gt;Cos&lt;/code&gt; pour l&amp;rsquo;axe horizontal (X) et le &lt;code&gt;Sin&lt;/code&gt; pour l&amp;rsquo;axe vertical (Y).&lt;/p&gt;</description></item><item><title>9. Création d''un système d''armes rotatives (Orbitales)</title><link>https://creerunjeuvideo.fr/gdevelop-5/creer-un-vampire-survivors-like/creation-systeme-armes-rotatives-gdevelop-5/</link><pubDate>Wed, 22 May 2024 00:00:00 +0000</pubDate><guid>https://creerunjeuvideo.fr/gdevelop-5/creer-un-vampire-survivors-like/creation-systeme-armes-rotatives-gdevelop-5/</guid><description>&lt;p&gt;Dans cet épisode de notre série dédiée à la création d&amp;rsquo;un &lt;em&gt;survival-like&lt;/em&gt; avec GDevelop 5, nous allons ajouter une mécanique très populaire dans ce genre de jeu : les armes orbitales. Ces armes tournent autour du joueur et infligent des dégâts continus aux ennemis sans disparaître au contact.&lt;/p&gt;

&lt;div class="youtube-privacy-wrapper" style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; background: #000;"&gt;
 &lt;iframe 
 style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;"
 src="https://www.youtube-nocookie.com/embed/JxOhXjIb7UU" 
 title="YouTube video player" 
 loading="lazy"
 srcdoc="&lt;style&gt;*{padding:0;margin:0;overflow:hidden}html,body{height:100%}img,span{position:absolute;width:100%;top:0;bottom:0;margin:auto}span{height:1.5em;text-align:center;font:48px/1.5 sans-serif;color:white;text-shadow:0 0 0.5em black}&lt;/style&gt;&lt;a href=https://www.youtube-nocookie.com/embed/JxOhXjIb7UU?autoplay=1&gt;&lt;img src=https://img.youtube.com/vi/JxOhXjIb7UU/hqdefault.jpg alt='Vidéo YouTube'&gt;&lt;span&gt;▶&lt;/span&gt;&lt;/a&gt;"
 allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" 
 allowfullscreen&gt;
 &lt;/iframe&gt;
&lt;/div&gt;

&lt;h3 id="ce-que-nous-avons-appris-dans-cet-épisode-"&gt;Ce que nous avons appris dans cet épisode :&lt;a class="anchor" href="#ce-que-nous-avons-appris-dans-cet-%c3%a9pisode-"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Gestion des données :&lt;/strong&gt; Utilisation des variables globales et des tableaux pour structurer les améliorations (upgrades) de manière flexible.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Extension &amp;ldquo;Orbital&amp;rdquo; :&lt;/strong&gt; Installation et utilisation de l&amp;rsquo;extension communautaire pour faire orbiter des objets autour d&amp;rsquo;un point central sans calculs trigonométriques complexes.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Système de projectiles :&lt;/strong&gt; Distinction entre les projectiles &amp;ldquo;destructibles&amp;rdquo; (comme les couteaux) et les armes orbitales (qui restent actives après un impact) via une variable booléenne.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Logique d&amp;rsquo;amélioration :&lt;/strong&gt; Mise en place d&amp;rsquo;un système où, une fois le nombre maximal d&amp;rsquo;armes atteint, les améliorations suivantes augmentent automatiquement les dégâts des armes existantes.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Optimisation du code :&lt;/strong&gt; Utilisation de la condition &amp;ldquo;Sinon&amp;rdquo; pour gérer efficacement les deux états de l&amp;rsquo;arme (ajout d&amp;rsquo;une nouvelle masse ou amélioration des dégâts).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ce-qui-reste-dactualité-aujourdhui"&gt;Ce qui reste d&amp;rsquo;actualité aujourd&amp;rsquo;hui&lt;a class="anchor" href="#ce-qui-reste-dactualit%c3%a9-aujourdhui"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;La modularité des variables :&lt;/strong&gt; La méthode consistant à utiliser des variables pour définir le comportement des objets (dégâts, destructibilité) reste la meilleure pratique pour garder un projet propre et évolutif.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;L&amp;rsquo;utilisation des extensions :&lt;/strong&gt; GDevelop propose de nombreuses extensions communautaires qui simplifient grandement des tâches mathématiques lourdes. N&amp;rsquo;hésitez pas à explorer le catalogue pour vos futurs projets.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;La structure des groupes :&lt;/strong&gt; Regrouper vos objets (comme le groupe &amp;ldquo;Projectiles&amp;rdquo;) permet d&amp;rsquo;appliquer des changements globaux en une seule action, ce qui est indispensable pour la maintenance d&amp;rsquo;un jeu qui s&amp;rsquo;agrandit.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Le système d&amp;rsquo;upgrades :&lt;/strong&gt; La logique de &amp;ldquo;plafond&amp;rdquo; (ex: 3 masses max, puis augmentation des dégâts) est un excellent moyen de gérer la progression du joueur sans avoir à créer une infinité d&amp;rsquo;objets différents.&lt;/li&gt;
&lt;/ul&gt;


&lt;hr style="margin-top: 1.5rem; border: 0; border-top: 1px solid var(--INTERNAL-MENU-BORDER-color, #e5e5e5); opacity: 0.5;"&gt;

&lt;div class="custom-footer" style="display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 2rem; margin-top: 2rem; padding-bottom: 2rem; font-size: 0.9rem; color: var(--MAIN-TITLES-color);"&gt;
 
 &lt;div class="footer-col"&gt;
 &lt;h4 style="margin-bottom: 0.8rem; color: var(--MAIN-TITLES-color);"&gt;📺 Ma Chaîne YouTube&lt;/h4&gt;
 &lt;a href="https://www.youtube.com/@creerunjeuvideo" target="_blank" rel="noopener" style="display: inline-block; background: #4400ff; color: #fff; padding: 0.5rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;
 S'abonner à la chaîne
 &lt;/a&gt;
 &lt;/div&gt;

 &lt;div class="footer-col"&gt;
 &lt;h4 style="margin-bottom: 0.8rem; color: var(--MAIN-TITLES-color);"&gt;📦 Ressources&lt;/h4&gt;
 &lt;a href="https://jeancharpentier.itch.io/ressources-tutoriels" target="_blank" rel="noopener" style="display: inline-block; background: #4400ff; color: #fff; padding: 0.5rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;
 Téléchargements
 &lt;/a&gt;
 &lt;/div&gt;

 &lt;div class="footer-col"&gt;
 &lt;h4 style="margin-bottom: 0.8rem; color: var(--MAIN-TITLES-color);"&gt;🌐 Communauté&lt;/h4&gt;
 &lt;ul style="list-style: none; padding: 0; margin: 0; line-height: 1.6;"&gt;
 &lt;li&gt;&lt;a href="https://github.com/JeanCharpentier/" target="_blank" rel="noopener" style="color: var(--MENU-SECTIONS-LINK-color); padding: 1rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;💻 GitHub&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="https://bsky.app/profile/ankhm.bsky.social" target="_blank" rel="noopener" style="color: var(--MENU-SECTIONS-LINK-color); padding: 1rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;🦋 Bluesky&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="https://fr.linkedin.com/in/jeancharpentier" target="_blank" rel="noopener" style="color: var(--MENU-SECTIONS-LINK-color); padding: 1rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;💼 LinkedIn&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="https://www.twitch.tv/levieuxankh" target="_blank" rel="noopener" style="color: var(--MENU-SECTIONS-LINK-color); padding: 1rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;👾 Chaîne Twitch&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
 &lt;/div&gt;

&lt;/div&gt;

&lt;div style="border-top: 1px dashed var(--INTERNAL-MENU-BORDER-color, #e5e5e5); padding-top: 1rem; margin-top: 1rem; font-size: 0.8rem; opacity: 0.7; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1rem;"&gt;
 &lt;div&gt;
 &amp;copy; 2026 - Créé avec ❤️ sous Hugo.
 &lt;/div&gt;
 &lt;div&gt;
 &lt;a href="https://creerunjeuvideo.fr/mentions-legales/" style="color: inherit; margin-right: 1rem;"&gt;Mentions légales&lt;/a&gt;
 &lt;a href="https://creerunjeuvideo.fr/confidentialite/" style="color: inherit;"&gt;Confidentialité (RGPD)&lt;/a&gt;
 &lt;/div&gt;
&lt;/div&gt;</description></item><item><title>10. Créer un monde infini et ajouter des décors</title><link>https://creerunjeuvideo.fr/gdevelop-5/creer-un-vampire-survivors-like/creer-un-monde-infini-et-ajouter-des-decors-gdevelop-5/</link><pubDate>Fri, 27 Oct 2023 00:00:00 +0000</pubDate><guid>https://creerunjeuvideo.fr/gdevelop-5/creer-un-vampire-survivors-like/creer-un-monde-infini-et-ajouter-des-decors-gdevelop-5/</guid><description>&lt;p&gt;Dans cet avant-dernier épisode de notre série sur la création d&amp;rsquo;un jeu de type &lt;em&gt;Survival&lt;/em&gt;, nous allons nous attaquer à deux problématiques majeures pour donner vie à votre monde : la création d&amp;rsquo;un sol infini et l&amp;rsquo;ajout de décors procéduraux. L&amp;rsquo;objectif est de rendre votre environnement moins répétitif tout en optimisant les performances pour que votre map semble ne jamais s&amp;rsquo;arrêter.&lt;/p&gt;

&lt;div class="youtube-privacy-wrapper" style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; background: #000;"&gt;
 &lt;iframe 
 style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;"
 src="https://www.youtube-nocookie.com/embed/9SAQK1m3HjE" 
 title="YouTube video player" 
 loading="lazy"
 srcdoc="&lt;style&gt;*{padding:0;margin:0;overflow:hidden}html,body{height:100%}img,span{position:absolute;width:100%;top:0;bottom:0;margin:auto}span{height:1.5em;text-align:center;font:48px/1.5 sans-serif;color:white;text-shadow:0 0 0.5em black}&lt;/style&gt;&lt;a href=https://www.youtube-nocookie.com/embed/9SAQK1m3HjE?autoplay=1&gt;&lt;img src=https://img.youtube.com/vi/9SAQK1m3HjE/hqdefault.jpg alt='Vidéo YouTube'&gt;&lt;span&gt;▶&lt;/span&gt;&lt;/a&gt;"
 allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" 
 allowfullscreen&gt;
 &lt;/iframe&gt;
&lt;/div&gt;

&lt;h3 id="ce-que-nous-avons-appris-dans-cet-épisode-"&gt;Ce que nous avons appris dans cet épisode :&lt;a class="anchor" href="#ce-que-nous-avons-appris-dans-cet-%c3%a9pisode-"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Gestion du sol infini :&lt;/strong&gt; Utilisation d&amp;rsquo;un objet &lt;em&gt;Tiled Background&lt;/em&gt; (Mosaïque) dont on modifie le décalage (offset) en fonction de la position de la caméra pour créer une illusion de mouvement infini.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Z-Order :&lt;/strong&gt; Organisation de la profondeur des objets pour que le sol reste toujours en arrière-plan (Z = -50) et que les décors s&amp;rsquo;affichent correctement.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Spawn aléatoire de décors :&lt;/strong&gt; Création d&amp;rsquo;un groupe d&amp;rsquo;objets &amp;ldquo;décor&amp;rdquo; et utilisation d&amp;rsquo;une variable de scène (&lt;code&gt;decor_random&lt;/code&gt;) pour faire apparaître des éléments variés (crânes, colonnes, fontaines) autour du joueur.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Optimisation des performances :&lt;/strong&gt; Mise en place d&amp;rsquo;une boucle &amp;ldquo;Pour chaque objet&amp;rdquo; qui supprime automatiquement les décors trop éloignés du joueur (distance &amp;gt; 1500 pixels) afin de ne pas surcharger la mémoire.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Préparation au debug :&lt;/strong&gt; Identification du problème d&amp;rsquo;apparition des objets dans le champ de vision du joueur, qui sera corrigé dans la vidéo finale.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ce-qui-reste-dactualité-aujourdhui"&gt;Ce qui reste d&amp;rsquo;actualité aujourd&amp;rsquo;hui&lt;a class="anchor" href="#ce-qui-reste-dactualit%c3%a9-aujourdhui"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;L&amp;rsquo;utilisation des Tiled Backgrounds :&lt;/strong&gt; C&amp;rsquo;est toujours la méthode la plus efficace dans GDevelop pour créer des sols ou des ciels qui se répètent sans consommer trop de ressources.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;La logique de &amp;ldquo;Cleanup&amp;rdquo; :&lt;/strong&gt; Supprimer les objets hors champ est une règle d&amp;rsquo;or en GameDev. Que ce soit pour des décors ou des ennemis, ne jamais laisser des instances s&amp;rsquo;accumuler inutilement est crucial pour maintenir un framerate stable.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Le système de nommage dynamique :&lt;/strong&gt; La technique consistant à créer des objets par leur nom (&lt;code&gt;&amp;quot;decor&amp;quot; + VariableString(decor_random)&lt;/code&gt;) reste une astuce très puissante pour éviter des dizaines d&amp;rsquo;événements conditionnels (&amp;ldquo;Si variable = 1, créer décor 1&amp;hellip;&amp;rdquo;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;La structure des projets :&lt;/strong&gt; L&amp;rsquo;importance de bien organiser ses événements en groupes (spawner, gestion du sol, etc.) facilite grandement la maintenance et le débogage de votre jeu.&lt;/li&gt;
&lt;/ul&gt;


&lt;hr style="margin-top: 1.5rem; border: 0; border-top: 1px solid var(--INTERNAL-MENU-BORDER-color, #e5e5e5); opacity: 0.5;"&gt;

&lt;div class="custom-footer" style="display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 2rem; margin-top: 2rem; padding-bottom: 2rem; font-size: 0.9rem; color: var(--MAIN-TITLES-color);"&gt;
 
 &lt;div class="footer-col"&gt;
 &lt;h4 style="margin-bottom: 0.8rem; color: var(--MAIN-TITLES-color);"&gt;📺 Ma Chaîne YouTube&lt;/h4&gt;
 &lt;a href="https://www.youtube.com/@creerunjeuvideo" target="_blank" rel="noopener" style="display: inline-block; background: #4400ff; color: #fff; padding: 0.5rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;
 S'abonner à la chaîne
 &lt;/a&gt;
 &lt;/div&gt;

 &lt;div class="footer-col"&gt;
 &lt;h4 style="margin-bottom: 0.8rem; color: var(--MAIN-TITLES-color);"&gt;📦 Ressources&lt;/h4&gt;
 &lt;a href="https://jeancharpentier.itch.io/ressources-tutoriels" target="_blank" rel="noopener" style="display: inline-block; background: #4400ff; color: #fff; padding: 0.5rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;
 Téléchargements
 &lt;/a&gt;
 &lt;/div&gt;

 &lt;div class="footer-col"&gt;
 &lt;h4 style="margin-bottom: 0.8rem; color: var(--MAIN-TITLES-color);"&gt;🌐 Communauté&lt;/h4&gt;
 &lt;ul style="list-style: none; padding: 0; margin: 0; line-height: 1.6;"&gt;
 &lt;li&gt;&lt;a href="https://github.com/JeanCharpentier/" target="_blank" rel="noopener" style="color: var(--MENU-SECTIONS-LINK-color); padding: 1rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;💻 GitHub&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="https://bsky.app/profile/ankhm.bsky.social" target="_blank" rel="noopener" style="color: var(--MENU-SECTIONS-LINK-color); padding: 1rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;🦋 Bluesky&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="https://fr.linkedin.com/in/jeancharpentier" target="_blank" rel="noopener" style="color: var(--MENU-SECTIONS-LINK-color); padding: 1rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;💼 LinkedIn&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="https://www.twitch.tv/levieuxankh" target="_blank" rel="noopener" style="color: var(--MENU-SECTIONS-LINK-color); padding: 1rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;👾 Chaîne Twitch&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
 &lt;/div&gt;

&lt;/div&gt;

&lt;div style="border-top: 1px dashed var(--INTERNAL-MENU-BORDER-color, #e5e5e5); padding-top: 1rem; margin-top: 1rem; font-size: 0.8rem; opacity: 0.7; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1rem;"&gt;
 &lt;div&gt;
 &amp;copy; 2026 - Créé avec ❤️ sous Hugo.
 &lt;/div&gt;
 &lt;div&gt;
 &lt;a href="https://creerunjeuvideo.fr/mentions-legales/" style="color: inherit; margin-right: 1rem;"&gt;Mentions légales&lt;/a&gt;
 &lt;a href="https://creerunjeuvideo.fr/confidentialite/" style="color: inherit;"&gt;Confidentialité (RGPD)&lt;/a&gt;
 &lt;/div&gt;
&lt;/div&gt;</description></item><item><title>11. Résolution des bugs de spawn, Screen Shake et interface responsive</title><link>https://creerunjeuvideo.fr/gdevelop-5/creer-un-vampire-survivors-like/gdevelop-5-tuto-11-spawn-shake-interface/</link><pubDate>Fri, 27 Oct 2023 00:00:00 +0000</pubDate><guid>https://creerunjeuvideo.fr/gdevelop-5/creer-un-vampire-survivors-like/gdevelop-5-tuto-11-spawn-shake-interface/</guid><description>&lt;p&gt;Dans ce nouvel épisode de notre série &amp;ldquo;Survivor-like&amp;rdquo; sur GDevelop 5, nous nous attaquons à trois points techniques cruciaux pour finaliser le &amp;ldquo;game feel&amp;rdquo; et la robustesse de votre projet. Nous allons corriger un bug mathématique persistant, ajouter du dynamisme avec un effet de caméra, et rendre notre interface parfaitement responsive.&lt;/p&gt;

&lt;div class="youtube-privacy-wrapper" style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; background: #000;"&gt;
 &lt;iframe 
 style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;"
 src="https://www.youtube-nocookie.com/embed/vu1wzCdvf3c" 
 title="YouTube video player" 
 loading="lazy"
 srcdoc="&lt;style&gt;*{padding:0;margin:0;overflow:hidden}html,body{height:100%}img,span{position:absolute;width:100%;top:0;bottom:0;margin:auto}span{height:1.5em;text-align:center;font:48px/1.5 sans-serif;color:white;text-shadow:0 0 0.5em black}&lt;/style&gt;&lt;a href=https://www.youtube-nocookie.com/embed/vu1wzCdvf3c?autoplay=1&gt;&lt;img src=https://img.youtube.com/vi/vu1wzCdvf3c/hqdefault.jpg alt='Vidéo YouTube'&gt;&lt;span&gt;▶&lt;/span&gt;&lt;/a&gt;"
 allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" 
 allowfullscreen&gt;
 &lt;/iframe&gt;
&lt;/div&gt;

&lt;h3 id="ce-que-vous-allez-apprendre-dans-ce-tutoriel-"&gt;Ce que vous allez apprendre dans ce tutoriel :&lt;a class="anchor" href="#ce-que-vous-allez-apprendre-dans-ce-tutoriel-"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Correction du spawn aléatoire :&lt;/strong&gt; Comprendre pourquoi l&amp;rsquo;utilisation de deux fonctions &lt;code&gt;Random()&lt;/code&gt; distinctes pour le sinus et le cosinus créait des apparitions d&amp;rsquo;ennemis à l&amp;rsquo;intérieur de l&amp;rsquo;écran, et comment utiliser une variable de scène pour synchroniser l&amp;rsquo;angle de spawn.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ajout du Screen Shake :&lt;/strong&gt; Utilisation de l&amp;rsquo;extension &amp;ldquo;Secousse de la caméra&amp;rdquo; pour ajouter un retour visuel percutant lorsque le joueur subit des dégâts.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Interface Responsive (Ancres) :&lt;/strong&gt; Utilisation du comportement &amp;ldquo;Ancre&amp;rdquo; pour que vos barres de vie, d&amp;rsquo;expérience et vos boutons s&amp;rsquo;adaptent automatiquement au redimensionnement de la fenêtre de jeu.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ce-qui-reste-dactualité-aujourdhui"&gt;Ce qui reste d&amp;rsquo;actualité aujourd&amp;rsquo;hui&lt;a class="anchor" href="#ce-qui-reste-dactualit%c3%a9-aujourdhui"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;La rigueur mathématique :&lt;/strong&gt; En développement de jeu, dès que vous manipulez des coordonnées polaires (cercle trigonométrique), assurez-vous toujours que votre angle de référence est stocké dans une variable unique avant d&amp;rsquo;être passé aux fonctions &lt;code&gt;cos()&lt;/code&gt; et &lt;code&gt;sin()&lt;/code&gt;. C&amp;rsquo;est la règle d&amp;rsquo;or pour éviter les comportements erratiques.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;L&amp;rsquo;extension &amp;ldquo;Ancre&amp;rdquo; :&lt;/strong&gt; C&amp;rsquo;est l&amp;rsquo;outil indispensable pour tout jeu multi-plateforme. GDevelop a grandement simplifié son interface : les icônes visuelles permettent désormais de configurer l&amp;rsquo;ancrage (bordure, centre, remplissage) en quelques clics, rendant le développement mobile ou PC beaucoup plus fluide.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Le feedback visuel :&lt;/strong&gt; Le &lt;em&gt;Screen Shake&lt;/em&gt; reste l&amp;rsquo;une des méthodes les plus simples et les plus efficaces pour améliorer le &amp;ldquo;game feel&amp;rdquo; (la sensation de jeu). Ne négligez jamais ces petits détails qui font la différence entre un prototype et un jeu fini.&lt;/li&gt;
&lt;/ul&gt;


&lt;hr style="margin-top: 1.5rem; border: 0; border-top: 1px solid var(--INTERNAL-MENU-BORDER-color, #e5e5e5); opacity: 0.5;"&gt;

&lt;div class="custom-footer" style="display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 2rem; margin-top: 2rem; padding-bottom: 2rem; font-size: 0.9rem; color: var(--MAIN-TITLES-color);"&gt;
 
 &lt;div class="footer-col"&gt;
 &lt;h4 style="margin-bottom: 0.8rem; color: var(--MAIN-TITLES-color);"&gt;📺 Ma Chaîne YouTube&lt;/h4&gt;
 &lt;a href="https://www.youtube.com/@creerunjeuvideo" target="_blank" rel="noopener" style="display: inline-block; background: #4400ff; color: #fff; padding: 0.5rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;
 S'abonner à la chaîne
 &lt;/a&gt;
 &lt;/div&gt;

 &lt;div class="footer-col"&gt;
 &lt;h4 style="margin-bottom: 0.8rem; color: var(--MAIN-TITLES-color);"&gt;📦 Ressources&lt;/h4&gt;
 &lt;a href="https://jeancharpentier.itch.io/ressources-tutoriels" target="_blank" rel="noopener" style="display: inline-block; background: #4400ff; color: #fff; padding: 0.5rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;
 Téléchargements
 &lt;/a&gt;
 &lt;/div&gt;

 &lt;div class="footer-col"&gt;
 &lt;h4 style="margin-bottom: 0.8rem; color: var(--MAIN-TITLES-color);"&gt;🌐 Communauté&lt;/h4&gt;
 &lt;ul style="list-style: none; padding: 0; margin: 0; line-height: 1.6;"&gt;
 &lt;li&gt;&lt;a href="https://github.com/JeanCharpentier/" target="_blank" rel="noopener" style="color: var(--MENU-SECTIONS-LINK-color); padding: 1rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;💻 GitHub&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="https://bsky.app/profile/ankhm.bsky.social" target="_blank" rel="noopener" style="color: var(--MENU-SECTIONS-LINK-color); padding: 1rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;🦋 Bluesky&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="https://fr.linkedin.com/in/jeancharpentier" target="_blank" rel="noopener" style="color: var(--MENU-SECTIONS-LINK-color); padding: 1rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;💼 LinkedIn&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="https://www.twitch.tv/levieuxankh" target="_blank" rel="noopener" style="color: var(--MENU-SECTIONS-LINK-color); padding: 1rem 1rem; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem;"&gt;👾 Chaîne Twitch&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
 &lt;/div&gt;

&lt;/div&gt;

&lt;div style="border-top: 1px dashed var(--INTERNAL-MENU-BORDER-color, #e5e5e5); padding-top: 1rem; margin-top: 1rem; font-size: 0.8rem; opacity: 0.7; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1rem;"&gt;
 &lt;div&gt;
 &amp;copy; 2026 - Créé avec ❤️ sous Hugo.
 &lt;/div&gt;
 &lt;div&gt;
 &lt;a href="https://creerunjeuvideo.fr/mentions-legales/" style="color: inherit; margin-right: 1rem;"&gt;Mentions légales&lt;/a&gt;
 &lt;a href="https://creerunjeuvideo.fr/confidentialite/" style="color: inherit;"&gt;Confidentialité (RGPD)&lt;/a&gt;
 &lt;/div&gt;
&lt;/div&gt;</description></item></channel></rss>