N° 04 · Comparaison · Jeu de navigateur
Artillerie, quatre variantes
Un prompt, quatre modèles, et là où mes retours en ont emmené trois
J'ai donné à quatre modèles IA le même prompt pour un jeu d'artillerie à deux joueurs. Claude Opus 5.5 n'a eu qu'un seul essai. Avec les trois autres, j'ai continué à jouer et à donner des retours, et chaque jeu a pris sa propre direction. Jouez aux quatre.
Les quatre jeux
Choisissez un jeu pour voir comment il a été fait, ou appuyez sur Jouer pour l'essayer.
Pas un benchmark cette fois
Pour Même brief, modèles différents, chaque modèle a eu un seul essai et j’ai classé les résultats. Celui-ci a commencé de la même façon, comme un défi de vibe coding (vous décrivez ce que vous voulez, l’IA écrit tout le code) avec un prompt strict: deux châteaux sur un terrain neuf à chaque partie, du vent et de la gravité, et deux joueurs qui se passent un seul appareil.
Puis j’ai continué, avec trois d’entre eux. Claude Opus 5.5 a eu son seul essai, et pas plus, pour une raison simple: Claude est mon principal outil de travail, et j’avais besoin de ses limites d’utilisation pour le travail. Les trois autres me servent surtout à jouer. Avec Gemini 3.8 Flash, GPT-6.1 Sol et Grok (dans Grok Bot), j’ai joué à chaque version, dit ce qui me gênait et laissé le modèle l’améliorer. J’ai demandé des choses différentes à chacun, donc les essais ne sont pas équivalents et je ne les classe pas. Vous avez à la place quatre variations sur la même idée, et un aperçu de ce que les retours font à un jeu.
Le même défaut, trois fois
Les premières versions des trois jeux sur lesquels j’ai continué à travailler avaient toutes le même défaut. Rien ne se dressait entre les châteaux: on pouvait baisser le canon, tirer à pleine puissance et toucher à chaque fois. Et au moins une version de chacun démarrait avec des réglages qui touchaient, ou presque, dès le premier tour. Cela respecte le prompt, mais ce n’est pas vraiment un jeu.
Mes retours des premiers tours ont donc été presque identiques à chaque fois: mettre une montagne sur le chemin, éloigner les châteaux, et faire démarrer chaque canon sur un réglage qui rate. À partir de là, les jeux sont partis dans des directions différentes, en partie parce que j’ai demandé des choses différentes à chacun. Chez Gemini, les sommets sont si hauts que seuls les tirs en cloche entre 50° et 75° passent, et les paysans crient « MY CABBAGES! » quand on les touche. GPT-6.1 Sol a reçu un adversaire informatique qui apprend de ses tirs manqués, une caméra qu’il faut déplacer pour repérer la vallée, et des villages qui réparent votre château et forgent de meilleures munitions. Grok a fait changer la météo à chaque tour, si bien que les réglages de votre dernier tir réussi marchent rarement deux fois, et a donné à chaque château une armurerie et un atelier que l’autre camp peut détruire.
La version unique d’Opus avait déjà une montagne entre les châteaux et des villages dans les vallées. Le prompt ne demande ni l’un ni l’autre.
Ce que ça montre
Chaque première version respectait le prompt sur le papier. Qu’un jeu soit amusant, on ne le voit qu’en y jouant, et c’est à cela que servaient les tours de retours. C’est pareil avec l’IA au travail: prenez la première réponse comme un brouillon, dites ce qui ne va pas et faites un tour de plus.
Le prompt se trouve en bas de cette page. Donnez-le au modèle que vous utilisez, jouez à ce qui revient, et dites-lui ce qui ne va pas.
Les 4 versions, une par une
Chaque jeu s'ouvre sur sa propre page, tel que le modèle l'a livré. Les données des 4 essais se trouvent plus bas, dans un seul tableau.
-
D'un seul jet, à partir du prompt
Claude Opus 5.5
dans Claude Code
Le jeu s'appelle Castle Artillery
Bon à savoir: Un seul essai, aucun retour: ce que vous jouez est sa première et unique version.
-
À partir du prompt, puis avec mes retours
Gemini 3.8 Flash
dans Antigravity
Le jeu s'appelle Artillery: Two-Player Fortress Siege
Ce que mes retours ont changé
Deux versions, un seul tour de retours. La première respectait le prompt sur le papier, mais gagner était trop facile. Rien ne se trouvait entre les châteaux, donc un tir à plat à pleine puissance touchait à chaque fois, les réglages de départ garantissaient presque un coup au but dès le premier tour, et les châteaux étaient trop proches l'un de l'autre. Mes retours: couper la ligne de tir avec des montagnes, éloigner les châteaux, faire démarrer chaque canon sur un court tir de repérage plutôt que sur un coup gratuit, et mettre entre les royaumes une campagne que l'on peut détruire. Dans la version jouable, des sommets s'élèvent bien au-dessus des deux châteaux, si bien que seuls les tirs en cloche entre 50° et 75° passent, le tir par défaut atterrit dans les collines proches, et des maisonnettes, des arbres, des meules de foin et des moulins à vent se dressent dans les vallées, avec des paysans qui se plaignent quand on les touche (« MY CABBAGES! », soit « mes choux! »).
-
Ce que mes retours ont changé
Cinq versions. Les premières avaient belle allure, mais gagner était trop facile: les tirs bas à pleine puissance touchaient à coup sûr, et une révision démarrait même avec des réglages proches d'un coup au but. Les châteaux ont donc été éloignés, des montagnes bloquent le tir direct, il faut ajuster les réglages de départ avant de toucher, et les arbres et les fermes peuvent être détruits. Ensuite, j'ai demandé un adversaire informatique qui apprend de ses tirs manqués, de sorte que l'on gagne en trouvant la portée plus vite que lui, et une caméra qu'il faut déplacer pour repérer la vallée. Les villages sont venus en dernier: des maçons réparent le château et des forges fabriquent des munitions plus puissantes, si bien que les détruire est un choix tactique. Avec eux sont venus des changements de vent plus forts, de la brume et de la pluie, qui rendent un tir répété peu fiable sans aucun hasard pendant le vol.
Bon à savoir: Le seul avec un adversaire informatique, que le prompt excluait; c'était mon idée, à un tour ultérieur. On peut quand même y jouer à deux. Selon son propre rapport, Codex a vérifié la dernière version avec 250 matchs simulés, 1800 cas de trajectoire et des tests dans le navigateur.
-
Ce que mes retours ont changé
Trois versions, chacune partie d'un problème que j'ai trouvé en jouant. Dans la première, un tir à plat à pleine puissance touchait toujours; la deuxième a donc éloigné les châteaux derrière une montagne qui bloque toujours la ligne de vue, et ajouté des arbres, des fermes et des paysans que l'on peut détruire. Ensuite, j'ai remarqué que la visée par défaut touchait déjà: chaque canon démarre désormais sur un réglage aléatoire dont on a vérifié qu'il rate. Pour la troisième, je voulais qu'un tir qui a touché une fois ne touche plus avec les mêmes réglages: le vent et la météo changent à chaque tour, avec rafales, pluie, neige et tempêtes, et la caméra reste près de votre château, sans vue d'ensemble de la carte. Chaque château a aussi reçu un village avec une armurerie pour des obus spéciaux et un atelier qui répare les murs, et les deux peuvent être détruits.
Bon à savoir: Grok Bot n'indique pas quel modèle il a utilisé. Je suppose qu'il s'agit de Grok 4.7, le modèle le plus puissant de xAI à l'époque. Selon ses propres dires, il a testé le jeu avec des centaines de milliers de tirs simulés: un tir à plat n'est jamais passé, et reprendre les réglages d'un coup réussi ne touchait qu'environ une fois sur dix. En lisant d'abord le vent, on arrivait à environ trois sur quatre.
Les essais en chiffres
L'effort est le réglage de raisonnement, nommé comme chaque outil le nomme. La taille compte ce que le modèle a écrit, sans le lien du site vers cette page. Pour les trois que j'ai fait évoluer, c'est la taille de la dernière version.
| Version | Outil | Effort | Taille |
|---|---|---|---|
| Claude Opus 5.5 | Claude Code | Max | 4378 lignes · 251 Ko |
| Gemini 3.8 Flash | Antigravity | High | 2816 lignes · 103 Ko |
| GPT-6.1 Sol | Codex | Ultra | 328 lignes · 85 Ko |
| Grok 4.7 | Grok Bot | Non relevé | 877 lignes · 104 Ko |
Comment ils ont été faits
- Chaque modèle est parti du même prompt, affiché en bas de cette page. Il demande un jeu à deux joueurs, sans adversaire informatique, construit en un seul essai et sans retours, et il liste encore des critères d'évaluation, parce que c'est ainsi que tout a commencé.
- Claude Opus 5.5 a eu exactement cela: un seul essai, aucun retour de ma part.
- Avec les trois autres, j'ai continué après la première version (un tour avec Gemini, pour corser le jeu, davantage avec les autres): j'y ai joué, j'ai dit ce qui me gênait et j'ai laissé le modèle l'améliorer. J'ai demandé des choses différentes à chacun, donc les jeux ont évolué dans des directions différentes. GPT-6.1 Sol a reçu un adversaire informatique, que j'ai demandé alors que le prompt l'excluait.
- Chaque modèle a tourné dans l'outil où je l'utiliserais (Claude Code, Antigravity, Codex, Grok Bot).
- Chaque jeu est publié tel qu'il a été livré; pour les trois sur lesquels j'ai continué à travailler, c'est la dernière version. Le site ajoute seulement un lien de retour vers cette page et une description pour le partage.
- Pas de classement et pas de notes. Les essais n'étaient pas équivalents: ce sont quatre résultats différents à regarder, pas un benchmark.
Le prompt dont les quatre sont partis Environ 800 mots, collés tels quels. Utilisez-le pour votre propre essai.
Vibe Coding Challenge: "Artillery"
The task
Build a two-player artillery game as one standalone HTML file. Two castles stand on a 2D landscape that is newly generated for every game, each with an artillery gun mounted in its middle. The players take turns aiming and firing at each other's castle until one is destroyed. Both players play on the same device and pass the controls back and forth after every shot. There is no computer opponent.
The goal is the best possible version of this: beautiful graphics, satisfying sound, and smooth, fun gameplay.
The genre, briefly
This is a classic artillery game: side view, a landscape of hills and valleys, and shots that fly in an arc pulled down by gravity and pushed sideways by wind. Each turn the active player sets the barrel angle and the shot power, then fires. Explosions blow craters into the ground and smash parts of the castles. The fun comes from reading the terrain and the wind and adjusting your aim after every miss.
Requirements
Map
* Generate a new landscape for every game, with natural-looking hills and valleys. It must be fair: castles at roughly equal height and distance, and no terrain that makes hitting the other side impossible.
* Put one castle on each half of the map, each with a gun in its middle.
* Make the terrain destructible. Explosions carve craters, and the craters stay for the rest of the game.
Turns and controls
* Players alternate strictly: player 1, then player 2, then player 1 again. Who starts the first game is up to you, but it must be fair over a rematch.
* The active player adjusts the angle and the power, then fires. It must work with the keyboard and with the mouse or touch.
* The screen must always make clear whose turn it is, the current angle and power, and the wind.
* Wind changes between turns and affects the shots in a way players can see and understand.
Physics and combat
* Shots fly on believable arcs under gravity and wind.
* Hits damage the castles visibly, and a castle's state (for example its health or its remaining structure) must be easy to read.
* A player wins by destroying the other castle. Show a clear victory screen with an option to play again on a new map.
* You decide whether to add extra ammunition types, special shots or other mechanics, but only if they make the game more fun and not more confusing.
Graphics
* Aim for the best-looking game you can make: an atmospheric sky, a detailed landscape, castles with character, and juicy effects such as explosions, debris, smoke, screen shake and shot trails.
* Generate all graphics in code. No image files and no external assets.
Sound
* Generate all sound in code with the Web Audio API: cannon fire, the shot in flight, explosions, hits, the turn change and the victory, plus ambience or music if you like. No audio files.
* Include a mute toggle.
Technical
* Deliver a single HTML file that runs offline by opening it in a current desktop browser. No libraries, no CDNs, no external fonts, no network requests.
* It must not store any data: no localStorage, sessionStorage, cookies or IndexedDB.
* It must run smoothly (target 60 fps), adapt to the window size, and throw no console errors.
Competition rules
* Build from scratch, using only this brief. Do not search connected repositories, drives or the web.
* Work on your own until the game is finished. I won't give feedback or answer questions during the build, so wherever the brief leaves something open, decide for yourself.
* Write the game from scratch. Don't look for existing versions of this game or reuse their code.
* If you can run code or open a browser in this environment, test the game as much as you like before you hand it over. If you can't, check your code carefully instead.
* Deliver the finished game as one complete HTML file. If you can create files, save it as an HTML file whose name contains your model name, version and effort level (for example `artillery-<model>-<version>-<effort>.html`). If you can't, put the entire file in a single code block, without shortening or leaving out any part of it.
* After the file, write at most five sentences: what you're most proud of, and what you'd improve with more time.
How the games will be judged
1. How much fun it is to play: the feel of the controls, the physics, the fairness, and wanting one more round.
2. The graphics and visual polish.
3. The sound design.
4. Stability: no bugs, no errors, smooth performance.