Guide

Code source de tower defense : vagues, tours et équilibrage

Barricade Z range ses 30 vagues, ses 12 niveaux de tour et son économie dans trois fichiers de données. Voici ce que cela change pour un acheteur.

Illustration de Barricade Z : un zombie façon cartoon saute par-dessus une barricade en bois au crépuscule pendant qu'une tourelle jaune tire sur une horde derrière lui.

Dans le code source d'un tower defense, le game design se trouve dans les données : la puissance de chaque tour, ce qu'envoie chaque vague, le rythme auquel arrivent les pièces. Si ces données sont éparpillées dans le code de rendu, rééquilibrer une seule vague oblige à lire tout le projet. Barricade Z, notre template de tower defense à fusion, garde les tours, les vagues et l'équilibrage dans trois fichiers TypeScript ; ce guide montre où ils sont et comment les modifier sans casse.

Ce pack offre deux niveaux de modification. Un éditeur de texte suffit pour le titre de la page et le nom de la sauvegarde. Tout le reste, des tours aux vagues de zombies, passe par le source TypeScript et un rebuild. Le savoir avant d'acheter évite une surprise ensuite.

Tous les noms de fichiers ci-dessous viennent du guide illustré de l'acheteur fourni avec le jeu, disponible dans les mêmes 14 langues que l'interface.

Ce que contient ce code source de tower defense

Barricade Z est un jeu de défense à fusion. Les joueurs fabriquent des tourelles dans une réserve, en fusionnent deux de même niveau pour obtenir le suivant, jusqu'au niveau 12, et placent les plus fortes sur cinq positions de la barricade. Une campagne de 30 vagues traverse trois environnements, avec des boss aux vagues 10, 20 et 30. Les grenades se débloquent à la vague 3 et l'Overdrive à la vague 7, et un Workshop vend des améliorations. Défis quotidiens et mode Endless s'ouvrent au fil de la progression.

  • game/ : le build jouable, prêt à mettre en ligne, avec Phaser 3.90 dans lib/phaser.js et les polices Bungee et Barlow Condensed.
  • game/barricade-z.config.js : les deux réglages modifiables sans rebuild.
  • source/ : le projet TypeScript lisible, réservé aux développeurs.
  • documentation/index.html, plus DOCUMENTATION.html à la racine : le guide de l'acheteur, qui s'ouvre hors ligne.
  • THIRD-PARTY-LICENSES/ : les mentions pour le moteur et les polices.

L'interface existe en 14 langues, avec des mises en page portrait et paysage pour le tactile et la souris. L'annonceur est enregistré uniquement en anglais : le réglage de langue change les textes de l'interface, pas la voix.

Voir Barricade Z : démo, guide et prix

Les trois fichiers qui portent le game design

Ouvrez d'abord source/src/data/. Ces trois fichiers sont la vraie raison d'acheter l'édition avec code source, car c'est là qu'un tower defense se conçoit réellement.

  • towers.ts : les 12 niveaux de tour, les attributs de leurs armes et les données de bouche à feu.
  • waves.ts : les 30 vagues de la campagne et l'apparition des boss.
  • balance.ts : le réglage de l'économie, des points de vie, des dégâts et de la progression.

Autour d'eux, source/src/i18n/ contient les dictionnaires des 14 langues, source/src/ui/ les menus, le HUD, la barre d'outils, les panneaux et le tutoriel, et source/src/audio/ gère le routage du son et l'annonceur. Le code compilé dans game/assets/ porte des noms de fichiers hachés : ne les modifiez pas à la main, refaites le build.

Ce que vous pouvez changer avec un éditeur de texte

Ouvrez game/barricade-z.config.js, changez une valeur, enregistrez et rechargez. Aucun rebuild n'est nécessaire. Seuls deux réglages se trouvent ici.

  • title : le titre de l'onglet du navigateur. Il ne remplace pas le logo illustré.
  • storagePrefix : l'espace de noms des données sauvegardées. Le changer crée une sauvegarde distincte et laisse les anciennes clés en place. Utilisez uniquement lettres, chiffres, points, tirets bas et tirets, 64 caractères au maximum.

storagePrefix est plus utile qu'il n'y paraît. Deux copies du jeu sur un même domaine partagent leurs sauvegardes, même dans des sous-dossiers différents. Si une agence héberge une copie par client sur un seul domaine, chaque copie doit avoir son propre préfixe pour que les progressions des joueurs ne se mélangent pas.

Tout ce qui dépasse ces deux valeurs, y compris le logo, les icônes, les illustrations, les règles, les tours, les vagues et les textes, demande l'édition avec code source et un rebuild.

Refaire le build après une vraie modification

Le dossier game/ contient déjà le build jouable : l'hébergement ne demande pas Node.js. Vous ne l'installez que pour modifier le jeu lui-même.

  1. Installez Node.js 20.19 ou plus récent.
  2. Dans source/, lancez npm ci. Les versions d'outils testées sont figées dans package-lock.json.
  3. Faites votre modification, puis lancez npm run typecheck et npm test.
  4. Lancez npm run build. Le résultat va dans source/dist/.
  5. Envoyez le contenu de source/dist/ pour remplacer le jeu en ligne, comme pour game/.

Trois commandes facultatives aident en chemin : npm run dev démarre un serveur de développement local, npm run preview sert un build pour vérification, et npm run balance lance une simulation complète de la campagne en ligne de commande, bien pratique après avoir touché balance.ts.

Ce qu'un acheteur modifie généralement en premier

  1. Le titre de l'onglet et le préfixe de sauvegarde dans le fichier de configuration, pour que la copie soit la vôtre dès la première mise en ligne.
  2. Le logo et les illustrations dans le source. Gardez les proportions existantes quand vous remplacez des visuels, comme le demande le guide.
  3. Les textes de l'interface dans les dictionnaires i18n, pour chaque langue que vous comptez publier.
  4. La difficulté : composition des vagues dans waves.ts, puis flux de pièces dans balance.ts.
  5. Les tours en dernier, dans towers.ts, car chaque vague a été réglée sur elles.

Si vous vendez ou exploitez plusieurs jeux de fusion, la même idée de réserve et de fusion se retrouve dans deux autres de nos templates, chacun avec son thème et ses règles.

Deepforge : fusionnez des pioches et envoyez-les dans une mine physique

Plop : un puzzle physique de fusion de fruits en 11 paliers

Hébergement, mises à jour et sauvegardes

Envoyez uniquement le contenu de game/ dans un dossier vide, par exemple public_html/my-game/, et ouvrez l'adresse dans une version récente de Chrome, Edge, Firefox ou Safari. Ni npm, ni PHP, ni base de données, ni compte ne sont nécessaires, et le HTTPS est recommandé. Double-cliquer sur index.html sur votre ordinateur ne fonctionne pas. Votre hébergeur doit servir les .js en JavaScript, les .css en CSS, les polices et les .mp3 avec leurs types habituels, et sur beaucoup d'hébergeurs les noms de fichiers sont sensibles à la casse.

Les sauvegardes restent dans le navigateur du joueur sous barricadez.save (campagne et checkpoint) et barricadez.settings (langue, son, tutoriel, déblocages, records), avec le préfixe par défaut. Pas de compte ni de synchronisation cloud. Un rechargement relance la vague en cours depuis son checkpoint.

  • Pour mettre à jour : sauvegardez game/ et votre fichier de configuration modifié, envoyez le nouveau game/ par-dessus l'ancien, gardez storagePrefix inchangé et rechargez.
  • Si l'ancienne version s'affiche encore, videz les images et fichiers en cache ou appuyez sur Ctrl+F5. N'effacez pas les données du site : cela supprime la sauvegarde.
  • Le jeu fournit un manifest.webmanifest, mais le guide précise bien qu'il n'est pas empaqueté comme application installable hors ligne.

Les projets d'applications natives ne sont pas inclus. Si vous voulez le jeu sur un store, le wrapper et la fiche du store sont un travail à part, que nous pouvons chiffrer.

Ce qui n'est pas inclus, et la licence

L'édition n'a ni SDK publicitaire, ni analytics, ni prestataire de paiement, ni multijoueur en ligne, ni classement distant, ni sauvegardes cloud, et pas d'application native, d'hébergement ou de développement sur mesure. Ajouter l'un de ces éléments relève du développement, avec vos propres comptes.

Barricade Z coûte $39 au prix catalogue, ou $33.15 pendant la promotion Black Friday qui dure jusqu'au 30 novembre 2026 ; deux templates ou plus dans une même commande donnent aussi droit à une remise groupée de 5 % à 20 %. La licence est perpétuelle et non exclusive, pour un seul produit final, le vôtre ou celui d'un client. Vous pouvez modifier le code, les graphismes et l'audio, remplacer notre marque par la vôtre et proposer le jeu gratuitement ou avec publicité. Revendre le template ou son code seuls n'est pas autorisé. Six mois de support sont inclus, douze avec l'extension ; nouvelles fonctions et intégrations font d'abord l'objet d'un devis.

Lire les conditions du marketplace

Questions fréquentes

Quel moteur utilise le code source du tower defense ?

Phaser 3.90 avec TypeScript. Le moteur est inclus dans game/lib/phaser.js sous licence MIT : rien n'est chargé depuis un CDN.

Puis-je modifier les vagues et les tours sans Node.js ?

Non. Le fichier de configuration ne règle que le titre de l'onglet et le préfixe de sauvegarde. Vagues, tours et équilibrage sont dans le source et demandent Node.js 20.19 ou plus récent et un rebuild.

L'annonceur est-il traduit ?

Non. Les 14 langues concernent l'interface. Les enregistrements de l'annonceur sont en anglais, et les autres langues n'ont pas de narration.

Fonctionne-t-il sur téléphone ?

Oui. Les mises en page portrait et paysage fonctionnent au tactile et à la souris. Les performances dépendent de l'appareil : testez sur les téléphones de votre public.

Deux copies sur un même domaine peuvent-elles avoir des sauvegardes séparées ?

Oui, si chaque copie a son propre storagePrefix dans barricade-z.config.js. Un sous-dossier différent ne suffit pas à les séparer.

À qui s'adresse ce template

Barricade Z convient à un portail qui veut un jeu de défense contre les zombies déjà terminé, à un freelance ou un studio qui prépare un jeu à la marque d'un client, et à un développeur qui veut lire comment un tower defense en TypeScript et Phaser garde son design dans les données. Si vous voulez seulement l'héberger sous votre nom, le fichier de configuration et le logo couvrent l'essentiel du travail. Si vous préparez une nouvelle campagne, vous passerez votre temps dans les trois fichiers de données et avec npm run balance.

Essayer la démo de Barricade Z et acheter la licence

Vagues sur mesure, reskin ou commande d'agence ? Demandez un devis