Visez, tenez compte du vent et chargez depuis zéro dans une bataille d’artillerie insulaire entièrement en 3D. Choisissez six obus, creusez de profonds cratères et survivez au chaos grandissant.
Une consigne de départ fondée sur le projet public du créateur, pas une retranscription de son prompt original. Votre résultat pourra varier.
Spécification de reconstruction fondée sur le code source original de Crazy Tanks de jared, le commit bf23b8878a1c24dbfb105a227a06b4faa29d42e9 et le gameplay v92 vérifié. Les modèles ont été générés avec Tripo P2, et la musique ainsi que les effets avec ElevenLabs. Aucune publication sociale n’a été fournie.
jeu de tanks en 3Dartillerieterrain destructibleThree.jsTripo
Le prompt
1. Objectif du projet
Construire Crazy Tanks — Wild Tides, un jeu d’artillerie au tour par tour jouable et véritablement en trois dimensions, situé sur une île tropicale. Le joueur dirige un petit tank, lit la direction du vent, règle une charge à partir de zéro et transforme le champ de bataille à coups d’obus. Prévoir un mode solo contre l’IA et un mode local en pass-and-play, avec par défaut un chacun pour soi à trois tanks et, en option, un duel à deux tanks. Le dernier tank encore en vie gagne. Utiliser le gameplay et les captures d’écran de référence actuels comme cible visuelle.
2. Style visuel
Utiliser une caméra en perspective et une géométrie 3D librement orbitale, sans sprites plats ni vue latérale fixe. Créer un diorama miniature ensoleillé, avec des tanks arrondis vert jade, orange corail et bleu violet, du sable crème, de l’herbe vert pâle, une eau turquoise réfléchissante, des ombres douces et une légère brume atmosphérique au loin. Préserver les silhouettes distinctes des trois tanks ainsi que leurs canons assortis. Placer au-dessus du champ de bataille un panneau rond crème de type blindage, et en dessous un pupitre de commande arrondi bleu sarcelle foncé. L’or indique la puissance de référence et l’action de tir ; le menthe indique la charge réelle et le statut allié. Garder le sélecteur d’apparence Tripo / Three.js bien visible en haut, avec les ressources Tripo sélectionnées par défaut. Le changement d’apparence doit préserver l’état de la partie et celui de la physique. Utiliser des tirets bleu sarcelle fins et régulièrement espacés dans l’espace écran, ainsi qu’un cercle d’atterrissage discret ; ne pas refléter les éléments de visée dans l’eau.
3. Monde et scène
Utiliser une île en height field destructible d’environ 260 × 184 mètres, entourée par un océan à niveau constant. Placer les tanks au départ à bonne distance les uns des autres, sur un sol stable ; répartir des rochers, des palmiers, des cactus et des caisses de ravitaillement à récupérer. De petites îles décoratives donnent de la profondeur à l’arrière-plan et ne doivent jamais remplacer le terrain principal destructible. Les explosions déforment la surface et peuvent creuser sous le niveau de la mer. Garder la couleur du rivage et l’écume sur une seule surface d’eau afin d’éviter le chevauchement des plans et le scintillement. Projeter les numéros des tanks depuis leurs positions dans le monde à chaque frame rendu. Proposer des vues de la trajectoire complète, du tank, en orbite et tactique aérienne. La vue de trajectoire doit faire tenir le tank tireur, l’arc et le point d’atterrissage estimé dans l’espace entre le HUD et le pupitre de commande. Avant chaque tir, afficher le tank tireur pendant environ 0,8 seconde, rester un instant sur la bouche du canon, puis suivre le projectile. Toute interaction manuelle avec la caméra annule le suivi cinématique.
4. Inventaire des ressources
Utiliser des emplacements de modèles stables et conserver des modèles de remplacement adressables individuellement :
- jade-body : châssis chenillé arrondi vert, semblable à un bouclier ; châssis par défaut du joueur. jade-cannon : canon jade assorti, avec âme sombre et accents dorés, articulé indépendamment.
- ember-body : châssis blindé orange corail pointu, au profil mécanique bas. ember-cannon : son canon orange assorti, plus long, avec bouche sombre.
- bolt-body : châssis chenillé industriel bleu violet, avec blindage en plaques anguleuses. bolt-cannon : canon bleu épais assorti.
- shell : projectile d’artillerie en laiton, à pointe effilée sombre et accent cyan. Le réutiliser avec une teinte et une échelle propres à chaque arme.
- crate : caisse de ravitaillement blindée jaune, marquée de cyan et renforcée aux angles ; la récupérer rend 20 points de blindage, dans la limite de 100.
- rock : amas de grès arrondi aux tons chauds ; le répéter à différentes échelles et utiliser un proxy de collision distinct.
- palm : tronc courbé et palmes vertes superposées ; le répéter comme végétation de l’île.
- cactus : cactus vert compact avec de petits détails floraux ; le répéter sur les terrains secs.
- islet : îlot d’arrière-plan arrondi et herbeux, bordé de roches et de sable pâles ; le répéter au-delà de l’arène.
Donner la priorité aux trois paires châssis/canon assorties, puis au projectile, à la caisse et aux éléments de décor. Garder la déformation du terrain, l’océan, l’écume, le feu, la fumée, les ondes de choc, les débris, les éléments de visée, l’éclairage, l’interface et les proxies de collision procéduraux. Les pièces assorties du châssis et du canon partagent une même référence de conception et une même échelle. Placer le pivot du canon sur son articulation mécanique, aligner son axe avant sur +X et utiliser la bouche visible comme point de lancement physique. Les châssis des tanks épousent les pentes à l’aide de quaternions ; la visée de la tourelle reste une direction dans l’espace monde. Préserver les textures PBR sources et les coutures UV. Conserver séparément les modèles téléchargeables en pleine résolution et les copies optimisées pour l’exécution du jeu ; les références et la provenance des fichiers doivent identifier la véritable source de génération.
5. Gameplay et feedback
Chaque tank en vie dispose de 18 mètres de déplacement au début de son tour. WASD et le pavé de déplacement déplacent le tank par rapport à l’écran ; les touches fléchées et le pavé de visée règlent l’azimut et l’élévation. Des curseurs permettent de régler l’azimut, une élévation de 10 à 80 degrés et une puissance de référence de 0 à 100. Sélectionner un adversaire ne fait que tourner le tank vers lui ; cela ne doit pas calculer le tir.
L’arc bleu sarcelle estime la puissance de référence choisie, SANS vent. Conserver cette référence et son marqueur doré fixes pendant la charge. Maintenir le bouton Fire, la barre d’espace ou la touche Entrée lorsque le bouton Fire est sélectionné pour lancer la puissance réelle à 0 à chaque fois ; l’augmenter de 18 points de pourcentage par seconde, la maintenir à 100 et tirer exactement une fois au relâchement, avec la puissance réelle à cet instant. Une pression rapide déclenche un tir faible. La bande dorée située dans une marge de 3 points de pourcentage n’est qu’un retour visuel, sans aimantage ni correction cachée. Annuler en cas d’annulation du pointeur, de perte de focus de la fenêtre ou de perte de visibilité. Verrouiller les déplacements, la cible et les changements de visée pendant la charge. Les commandes clavier des champs de type range ne doivent pas faire pivoter la tourelle elles aussi. Une puissance nulle représente la vitesse de lancement la plus faible, et non un obus immobile.
La flèche et les traînées de vent visibles en mouvement indiquent la direction dans laquelle le vent pousse l’obus. Indiquer la force du vent et sa vitesse en mètres par seconde ; un clic sur la carte du vent doit l’expliquer. Un vent soufflant vers la gauche signifie que le joueur doit viser légèrement vers la droite. Un vent plus fort et un temps de vol plus long entraînent une dérive plus importante. Le vent reste constant pendant un tir et change à chaque tour. Ne jamais compenser automatiquement la prévisualisation du joueur. Prédire approximativement l’atterrissage sur le terrain ; ne pas garantir dans la prévisualisation les collisions avec les tanks ou les rochers, la séparation des grappes ni les ricochets.
Proposer six types de munitions : HE illimitée ; un obus à sous-munitions qui se divise en cinq projectiles descendants ; Seismic, avec un cratère allant jusqu’à 28 mètres de diamètre et 13 mètres de profondeur ; un obus ricochetant deux fois ; un obus Cataclysm par tank, avec un cratère allant jusqu’à 46 mètres de diamètre et 22 mètres de profondeur ; et Incendiary, qui laisse une zone de feu de 12 mètres de rayon. Le feu inflige 8 points de dégâts à chacune des six fins d’action ; sortir de la zone évite les dégâts et les zones qui se chevauchent ne se cumulent pas. L’eau de mer éteint les flammes. Un tank entier, canon relevé compris, entièrement sous l’eau est immédiatement éliminé. Afficher les dégâts réels, la perte de blindage, l’effondrement du terrain, les éclaboussures et l’issue de l’élimination.
Utiliser des boules de feu en couches, des anneaux d’onde de choc qui s’élargissent, des étincelles émissives, des fragments balistiques, de la poussière et de la fumée, avec un tremblement de caméra modéré. Utiliser la musique originale et les sons de canon, d’impact, de ricochet, de grosse explosion, de feu et d’éclaboussure fournis par ElevenLabs. Inclure un bouton pour couper le son, la pause/reprise, les instructions, la rejouabilité et le retour au menu. Pendant le vol d’un projectile ou les tours de l’IA, proposer Back to my turn : exécuter rapidement la même simulation à pas fixe et préserver tous les dégâts, l’état du terrain et les effets des dangers. Ne jamais ignorer le tour de saisie d’un ami en local.
6. Implémentation technique
Utiliser Three.js avec des modules ES et Vite, des polices locales intégrées, Web Audio pour les effets et un élément audio HTML pour la musique en boucle. Conserver les ressources sur la même origine et prendre en charge une build statique. Utiliser un moteur de rendu en perspective avec anticrénelage, des budgets raisonnables pour les ombres et le post-traitement, ainsi qu’une libération correcte des géométries et matériaux temporaires. Distinguer les éléments décoratifs des modèles et les collisions de gameplay.
Garder une physique déterministe indépendante du rendu, avec des unités en mètres par seconde, une gravité de 9.81 m/s² et un pas fixe de 1/120 seconde. Utiliser des collisions continues par balayage pour les projectiles rapides contre le sol, l’eau, les tanks et les rochers ; appliquer les impulsions d’explosion et la gravité aux tanks déplacés. Déduire les positions de lancement à partir du transform réel du canon propre à chaque tank. La lecture normale et l’accélération doivent appeler les mêmes mises à jour de simulation. Les dégâts et la réaction au vent sont des règles de jeu stylisées, et non une simulation technique d’explosion.
Prendre en charge les interfaces chinoise, anglaise, japonaise et coréenne. Choisir initialement la langue de l’appareil ; les appareils configurés pour Hong Kong, Macao, Taïwan et le chinois traditionnel doivent utiliser l’anglais par défaut. Mémoriser les choix explicites et permettre l’utilisation d’un sélecteur de langue visible. Prévoir des mises en page réactives pour ordinateur, téléphone en portrait et écran court en paysage, des menus défilants sur les petits écrans, des zones tactiles confortables, des panneaux réductibles et des contrôles sans chevauchement. Ne pas exiger de saisie au clavier sur les appareils tactiles. Écarter de la production les mutations d’état et les utilitaires de visée réservés au développement.
7. Critères de validation
Livrer un projet source autonome et modifiable, un fichier de verrouillage, les instructions npm de développement et de build, ainsi qu’une prévisualisation statique fonctionnelle. Reproduire les captures d’écran et la vidéo de gameplay actuelles, notamment le panneau d’état crème, le marqueur doré de référence fixe, la charge réelle démarrant à zéro et la présentation entièrement en 3D des tanks et de l’île. Vérifier le premier lancement, le chargement des modèles, un cycle de tour complet, le comportement de chaque munition, la pause, la rejouabilité et une véritable victoire ou défaite. Confirmer que le changement d’apparence préserve l’état et que l’annulation au clavier ou au toucher n’entraîne pas de tir. Lors d’un tir de test clair sans vent, un relâchement à la puissance de référence doit atterrir près du cercle de référence ; des vents latéraux opposés doivent décaler visiblement l’obus réel tout en laissant ce cercle inchangé. Vérifier le comportement à 30, 60 et 144 Hz, les collisions à grande vitesse, les cratères profonds, l’extinction du feu, l’élimination par immersion complète et l’égalité des résultats de tour en lecture normale et en accéléré. Examiner les mises en page pour ordinateur et petit écran dans les quatre langues ; distinguer l’émulation du navigateur des tests sur appareil physique. Valider la page hébergée et les médias associés, et pas uniquement la build locale.
Comment utiliser ce prompt
01
Commencez avec le bon outil
Ouvrez votre assistant de programmation ou outil 3D préféré. Prenez le modèle indiqué dans l’exemple comme point de départ et consultez les instructions des projets liés.
02
Choisissez un élément à modifier
Changez le sujet, le style ou le décor. Définissez clairement la caméra et l’interaction. Créez d’abord une version simple, puis affinez un détail à la fois.
03
Donnez des éléments uniques à la scène
Pour un personnage ou un accessoire personnalisé, créez un modèle 3D à partir d’une courte description ou d’une image de référence, puis importez-le dans votre projet.
Les aperçus appartiennent à leurs créateurs respectifs. Consultez la source originale et la licence du projet avant de réutiliser du code ou des ressources.