Skip to main content
Coin Dev · 7 min de lecture

Post-mortem de GravityShot : j'ai sorti un petit jeu mobile de puzzle

J'ai sorti un petit jeu de puzzle physique sous Godot 4.6, sur des soirées et des week-ends, en parallèle d'un boulot et d'une famille. Voilà ce qui a marché, ce qui a foiré, et les dix centimes de revenus qui le prouvent.

Visuel principal de GravityShot montrant un orbe traversant un champ d'étoiles

J’écris sur les jeux indés des autres sur ce site, pour le plaisir. La semaine dernière, j’en ai sorti un à moi.

GravityShot est un petit jeu de puzzle physique sous Godot 4.6, fait sur des soirées et des week-ends, en parallèle d’un boulot et d’une famille. Il est sorti sur Google Play sans quasiment aucune communication, autour de 50 téléchargements au moment où j’écris, et un total faramineux de 10 centimes de revenus. C’est déjà drôle en soi. Le fait qu’on en ait déjà cloné une copie est encore plus drôle.

Voilà la version honnête du post-mortem. Pas celle où je fais semblant que tout s’est passé comme prévu et que les chiffres vont décoller d’une seconde à l’autre. Les chiffres sont ce qu’ils sont. Les leçons, elles, sont réelles.

Capture d'écran de GravityShot montrant un orbe et des sources de gravité

Le jeu en un paragraphe

Tu glisses et relâches pour lancer un orbe à travers l’espace. Les trous noirs t’aspirent. Les trous de ver te recrachent ailleurs. Tu collectes des cœurs de gravité pour débloquer de nouveaux orbes aux stats différentes : plus lourd, plus rapide, hitbox plus petite, gagne de la vitesse aux rebonds. Le jeu sort avec 70 niveaux dessinés à la main sur un tutoriel et six secteurs, 9 orbes, une localisation EN/FR, et des déblocages sous pub pour les skins plus tordus. Aucun achat in-app dans la boucle de jeu. C’est gratuit.

Ce qui a marché

Le closed testing via la Testers Community

La meilleure décision que j’aie prise, et de loin, a été d’envoyer le build dans la Testers Community pour un test fermé avant le lancement. Les retours étaient concrets, précis, et gratuits. Des inconnus m’ont dit quels niveaux semblaient injustes, quels orbes étaient inutiles, et quelles animations étaient trop lentes. La majorité des changements qui ont rendu le jeu réellement jouable est sortie de cette boucle.

Si tu es un dev solo qui s’apprête à sortir un jeu mobile, fais ça. Paie le coût en temps. Évite la version où tu lances dans le silence et tu n’apprends rien.

Godot 4.6 a globalement tenu le coup

Godot est devenu en 2026 un moteur mobile sérieusement viable. Le mobile renderer était assez rapide pour ce dont j’avais besoin, le pipeline d’export marchait sur iOS comme sur Android, et l’éditeur ne m’a jamais mis de bâtons dans les roues. Des trucs ont cassé (j’y reviens plus bas) mais jamais d’une façon qui m’aurait fait changer de moteur.

Si tu hésites encore entre moteurs, notre comparaison Godot vs Unity vs Unreal creuse les compromis en détail.

Les coupes ont sauvé le projet

La version du jeu qui était dans ma tête avait des niveaux galactiques (des systèmes entiers avec plusieurs sources de gravité et des portails), une couche de méta-progression, et deux ou trois mécaniques qui ne sont jamais arrivées au final. Les couper a fait mal, et c’était à 100 % le bon choix. Ce qui est sorti, c’est 70 niveaux finis et 9 orbes distincts. Ce qui n’est pas sorti, ça aurait été six mois de mauvais design.

Le conseil que j’ai retenu de la carrière d’Edmund McMillen, résumé dans nos leçons de design, n’a pas arrêté de me revenir en tête. Finis des petites choses. Puis finis-en une autre. Puis encore une autre.

De la musique gratuite par des artistes indés actifs

JDSherbert et DavidKBD sur itch.io portent une quantité absurde de l’ambiance du jeu sur leurs épaules. Libres de droits, attribution simple, et vraiment bons. Si tu n’as pas le budget pour un sound designer, c’est la voie à prendre.

Ce qui a foiré

Le scope, encore, mais plus dur que prévu

Designer un seul bon puzzle de gravité prend des heures. En designer 60 qui montent en difficulté sans se répéter prend des semaines. J’ai sous-estimé ça d’un ordre de grandeur. La première version des niveaux galactiques s’est effondrée sous le poids de sa propre complexité de design. Le problème n’était pas que je n’arrivais pas à les construire. C’est que je n’arrivais pas à les designer d’une façon réellement amusante sur soixante layouts distincts.

La leçon que je rumine encore : si tu n’arrives pas à imaginer dix exemples finis d’une nouvelle mécanique, tu ne comprends pas encore la mécanique assez bien pour la sortir. Notre article sur finir son jeu indé et gérer le scope couvre la version stratégique de ce piège.

Orbe de GravityShot interagissant avec des objets célestes

L’optimisation sur les Android d’entrée de gamme

Les orbes laissent des traînées de particules. Les objets célestes utilisent des shaders custom pour les trous noirs, les trous de ver et les effets de lentille gravitationnelle. Sur un téléphone récent, ça rend très bien. Sur un Android de cinq ans d’âge, le framerate s’écroulait dans toute scène avec trois sources de gravité actives ou plus.

Corriger ça, c’est passé par beaucoup de profilage, un toggle « glow mode » dans les options, et des coupes sans pitié dans les particules. C’est aussi passé par accepter que le jeu ne pouvait pas rendre aussi bien que les screenshots marketing sur tous les appareils. Le mobile est brutal sur ce point.

Le marketing, parler du jeu, le syndrome de l’imposteur

C’est la partie la plus dure à écrire honnêtement.

Je gère un site qui couvre les jeux indés. Je sais parler des jeux des autres. À la seconde où le jeu en question est devenu le mien, je me suis figé. J’ai eu cent tweets à moitié écrits que je n’ai jamais envoyés. J’ai lancé avec quasiment aucune annonce. J’écris ce post-mortem quelques jours après le lancement, et pas le jour J, parce que la version « jour de lancement » était paralysante.

Le syndrome de l’imposteur quand tu sors un petit jeu mobile est bien réel. La voix dans ta tête te dit « c’est pas un vrai jeu, c’est pas assez impressionnant pour qu’on en parle ». Cette voix se trompe, mais le savoir ne suffit pas à la faire taire.

Le calcul boulot-famille

J’ai un boulot 9 à 5. J’ai une famille. J’ai un site sur lequel écrire. Le temps que j’avais pour GravityShot, c’étaient les heures après que le petit dormait et avant que je sois trop crevé pour réfléchir.

Chaque feature sur le sol de la salle de montage a été coupée non pas parce qu’elle était mauvaise, mais parce qu’il n’y avait pas assez d’heures. Si tu es un dev indé avec une vie à côté, c’est le seul truc qui compte vraiment. Le scope, ce n’est pas un nombre de fonctionnalités. Le scope, c’est le nombre d’heures que tu as réellement.

Les chiffres (tels qu’ils sont)

  • Téléchargements à ce jour : moins de 50
  • Revenus : 10 centimes
  • Budget marketing : 0
  • Coût total du projet : quasiment zéro (moteur gratuit, outils gratuits, musique gratuite)
  • Temps investi : difficile à dire. Des mois de soirées. J’ai arrêté de compter en cours de route.

Je ne vais pas prétendre que les chiffres de lancement sont impressionnants. Ils ne le sont pas. Ils sont aussi exactement ce à quoi tu peux t’attendre quand un dev solo sort un petit jeu mobile sans marketing dans le marché le plus saturé de l’histoire du logiciel.

L’objectif n’a jamais été les chiffres. L’objectif, c’était de s’amuser et de finir.

Le truc bizarre : une copie est apparue

Deux semaines environ après le début du closed testing, je suis tombé sur un jeu dans la nature avec les mêmes mécaniques, la même ambiance, et un nom différent.

Je ne vais pas le linker ni le nommer parce que je ne veux pas lui donner du trafic. Je n’ai pas non plus de preuve que c’est une copie délibérée plutôt qu’une idée parallèle, et la différence ne change rien à mon prochain coup.

Ce que je peux dire : à la seconde où tu mets ton jeu devant des inconnus, même en test fermé, tu mets l’idée dans la nature. Si une idée est assez petite pour être clonée, elle sera clonée. La défense, ce n’est pas de garder l’idée secrète. La défense, c’est d’être celui qui finit vraiment la version qui fait plaisir à jouer.

Niveau de GravityShot montrant un effet de trou de ver

Ce que je ferais différemment

Trois choses, classées par difficulté d’application.

Un : annoncer plus fort. Même quand c’est gênant. Même quand le syndrome de l’imposteur hurle. Le silence du jour de lancement est une blessure qu’on s’inflige tout seul. Cent tweets à moitié écrits dans les brouillons, c’est la forme de marketing au rendement le plus bas qui existe.

Deux : designer dix niveaux avant de s’engager sur une mécanique. Si je m’étais forcé à designer dix niveaux galactiques finis sur papier avant d’en construire un seul, j’aurais coupé toute la feature six mois plus tôt. Le coût de la découverte tardive est énorme.

Trois : envoyer plus de builds en closed test, et les envoyer plus tôt. Les retours de la Testers Community étaient tellement précieux que la seule erreur a été de ne pas y aller plus tôt. La toute première version jouable devrait déjà être devant des inconnus.

Essaye-le

GravityShot est disponible sur Google Play. C’est gratuit. Il y a 70 niveaux, 9 orbes, des déblocages de skins sous pub pour les modes plus difficiles, et exactement zéro achat in-app dans la boucle de jeu.

Si tu y joues, la chose la plus utile que tu puisses faire est de laisser un avis avec le bug, le niveau ou le moment qui a cassé ton flow. Je lirai chaque mot.

L’objectif n’a jamais été les chiffres. L’objectif, c’était de s’amuser et de finir.

#gravityshot #postmortem #godot #indie-dev #mobile-games #solo-dev

Cet article vous a plu ?

Florian Huet

Écrit par

Florian Huet

Dev iOS le jour, dev de jeux indé la nuit. J'essaie de donner vie à GameDō Studio.

Je fais des jeux et je parle de ceux auxquels je n'arrive pas à décrocher.

Partager X Facebook Reddit Bluesky

Articles Similaires