« Tenez jusqu’à l’aube. Elle ne viendra pas. »

Un survivor-like jouable dans le navigateur. Vos armes tirent seules ; votre seule décision, c’est quoi devenir. Survivez trente minutes.

Une partie de Sanguine à la quinzième minute
Minute 15. Un boss, deux cents créatures, six armes, et un biome traversé au mauvais moment.

Les bases

Trois minutes pour comprendre, trente pour survivre.

Règle n° 1
Vous ne tirez jamais
Il n’existe aucune touche d’attaque. Les armes se déclenchent seules, en permanence. Vous ne pilotez qu’un déplacement.
Règle n° 2
L’XP est dans le danger
Les gemmes tombent là où les ennemis meurent. Fuir en permanence, c’est rester au niveau 1 et se faire rattraper par la courbe.
Règle n° 3
Six emplacements, pas plus
Six armes, six passifs. Ce plafond ne bouge jamais. C’est lui qui transforme chaque carte en décision.

Commandes

ActionClavierManetteTactile
DéplacementZQSD WASD flèchesStick gaucheGlisser
PauseÉchap PStart
ValiderEntrée EspaceATap
MinimapM
Plein écranF

AZERTY et QWERTY fonctionnent en même temps : les touches sont lues par code physique.

Une partie interrompue se reprend. Le genre ne sauvegarde traditionnellement pas les runs en cours, mais un onglet fermé par mégarde coûterait une demi-heure. Le jeu enregistre votre build et votre progression toutes les dix secondes et à chaque choix ; la horde, elle, se disperse. La sauvegarde est écrite après l’application d’un choix – recharger ne permet pas de revenir sur une carte déjà prise.

Le déroulé d’une partie

MinutePhaseCe qui vous attend
0 – 3DécouvertePeu d’ennemis. Vous testez votre arme de départ.
3 – 8DensificationLes premiers groupes serrés. Il faut commencer à kiter.
8 – 12Premier murLa Matrone. Un build mal orienté cale ici.
12 – 18ExplosionLes évolutions arrivent. Vous devenez très fort d’un coup.
18 – 24RattrapageLa densité vous rattrape. Élites fréquents.
24 – 29Survie pureL’écran est plein. Seuls les builds aboutis tiennent.
30Le SanguinaireLe tuer, c’est gagner. Sinon, la Faucheuse vient.
La Faucheuse. Si le boss final n’est pas tombé, elle apparaît : invulnérable, rapide, et un seul contact suffit. C’est le rideau, pas un combat.

Armes & évolutions

Dix-huit armes, quinze évolutions. Une arme montée au niveau maximum, associée au bon passif au niveau 3, devient éligible à son évolution – qui ne sort que d’un coffre. C’est ce qui rend les coffres réellement excitants.

Pieu
Vers l’ennemi le plus proche.
Poudre → Salve du Charpentier
Croix
Boomerang qui traverse tout.
Longue-vue → Crucifixion
Ail
Aura qui blesse et repousse.
Calice → Aïoli
Eau Bénite
Fiole lobée, flaque brûlante.
Grimoire → Déluge
Lanterne
Orbes en orbite.
Sablier → Ronde des Âmes
Faux
Arc de mêlée devant vous.
Reliquaire → Moisson
Jugement
La foudre frappe au hasard.
Trèfle → Colère Divine
Miroir
Nova d’éclats radiale.
Plume → Kaléidoscope
Familier
Chauve-souris autonome.
Bottes → Nuée
Arbalète
Rafale de carreaux rapides.
Plume → Balista
Fléau
Masse tournoyante.
Cœur d’Argent → Comète
Braséro
Braises persistantes.
Grimoire → Fournaise
Dague Ricochet
Rebondit d’ennemi en ennemi.
Trèfle → Danse des Lames
Ronces
Pieux jaillissant du sol.
Talisman → Jardin de Fer
Cor de Chasse
Onde de choc repoussante.
Reliquaire → Appel de la Meute
Sel
Traînée derrière vous.
Sans évolution
Sang Corrompu
Explose quand vous êtes touché.
Sans évolution
Encensoir
Balayage conique large.
Sans évolution

Les douze passifs

Reliquaire
+10 % de dégâts
Bottes de Voyage
+8 % de vitesse
Cœur d'Argent
+20 PV max
Sablier
−8 % de recharge
Longue-vue
+12 % de zone
Poudre
+1 projectile
Plume
+15 % de vitesse de tir
Grimoire
+15 % de durée
Aimant
+25 % de ramassage
Talisman
+1 armure
Trèfle
+chance, +critique
Calice
+régénération

Reliquaire +10 % dégâtsBottes +8 % vitesse Cœur d’Argent +20 PVSablier −8 % recharge Longue-vue +12 % zonePoudre +projectile Plume +15 % vitesse de tirGrimoire +15 % durée Aimant +25 % ramassageTalisman +1 armure Trèfle +chance, +critiqueCalice +régénération

Reliques

Vingt-quatre objets uniques qui n’occupent aucun emplacement et n’apparaissent jamais dans le menu de niveau. On ne les trouve qu’au sol, lâchées par les élites et les boss, ou dans les coffres. C’est la couche de butin qui différencie deux parties menées avec le même build.

Commune
Dent de Loup
+25 % de dégâts sur les ennemis sous 30 % de PV.
Commune
Clé Rouillée
+1 amélioration par coffre.
Rare
Chapelet Brisé
Tous les 12 coups, la cible est étourdie une seconde.
Rare
Ambre
Les ennemis tués figent leurs voisins deux secondes.
Épique
Faux Miniature
3 % de chance d’exécuter net un ennemi ordinaire.
Épique
Orbe Fracturé
Toutes les huit secondes, une nova jaillit de vous.
Maudite
Pacte de Sang
+45 % de dégâts, PV max divisés par deux.
Maudite
Horloge Arrêtée
−30 % de recharge, mais +15 % de PV pour tous les ennemis.
Maudite
Dernier Souffle
La mort vous recrache une fois – à un point de vie, et sans répit.

Neuf sur vingt-quatre. Le reste se découvre en jouant, et se consulte dans le codex du jeu.

Le monde

Le domaine est infini et déterministe à partir de sa position : aucune carte n’est stockée, et un lieu donné est toujours le même. Un autel situé quelque part y sera encore si vous y revenez.

Cinq biomes

BiomeCréatures favoriséesEffet sur vous
La LandeRépartition neutre
Le CimetièreSquelettes, spectres, goules
Le MaraisZombies, sangsues, nécrophages−14 % de vitesse
Les CendresDamnés, golems+8 % de dégâts
Les Bois MortsLoups, araignées, corbeaux−4 % de vitesse

Sept structures

Chacune ne se déclenche qu’une fois, au contact. Les atteindre oblige à quitter la zone dégagée que vous vous êtes ménagée, et à traverser la horde deux fois – à l’aller et au retour.

Autel de Sang
Libère une relique.
Bûcher
Soigne 30 %, explose, laisse un foyer.
Obélisque
+30 % de dégâts pendant 45 s.
Puits
150 à 400 pièces d’or.
Ossuaire
Réveille un élite. Deux coffres.
Chapelle Noyée
Soins complets et un reroll.
Cairn
Dix gemmes d’un coup.
La minimap (M) existe pour ça. Sans elle, une structure ne se découvre qu’en marchant dessus, et le pari « je traverse la horde pour aller la chercher » n’existe pas comme décision.

Bestiaire

Treize créatures, neuf comportements distincts, cinq boss. Une règle d’équilibrage domine tout le reste : la vitesse des ennemis n’augmente jamais avec le temps. Seuls leurs points de vie et leurs dégâts montent. C’est ce qui garde le kiting possible à la vingt-huitième minute.

0 min
Chauve-souris
Poursuite ondulante
0 min
Goule
Poursuite directe
2 min
Corbeau
Trajectoire erratique
4 min
Loup
Charges répétées, pause lisible
5 min
Squelette
Lent, résiste au recul
7 min
Araignée
Arrive par grappes de huit
8 min
Zombie
Très lent, très résistant
10 min
Spectre
Traverse les autres corps
12 min
Nécrophage
Le seul à attaquer à distance
14 min
Sangsue
Se soigne en vous touchant
16 min
Cavalier
Ruée rectiligne
19 min
Golem de Chair
Immunisé au recul
22 min
Damné
Se scinde en deux à la mort

Les boss

Minute 10
La Matrone
Invoque six araignées toutes les quatre secondes.
Minute 18
Le Chevalier Exsangue
Alterne poursuite lente et charges télégraphiées.
Minute 24
Chœur de Cendres
Trois corps liés. Il faut les faire tomber tous les trois.
Minute 30
Le Sanguinaire
Trois phases : invocation, nova, frénésie. Le tuer, c’est gagner.
Après 30
La Faucheuse
Invulnérable. Un seul contact suffit. C’est le rideau.

Sanctuaire & personnages

L’or est conservé même en cas de mort et achète onze améliorations permanentes. Le Sanctuaire est volontairement modeste : entièrement acheté, il apporte environ +35 % de puissance globale. Il doit adoucir la courbe d’apprentissage, jamais remplacer l’habileté.

Les six personnages

Ysolde la Chasseresse
Pieu · +10 % de dégâts
Frère Anselme
Eau Bénite · +25 % de zone, +40 PV
Vasco le Braconnier
Ail · +20 % de vitesse
Marguerite la Sourcière
Lanterne · +60 % de ramassage
Sœur Ombre
Faux · −20 % de recharge
Le Comte Déchu
Sang Corrompu · vol de vie

Butin

Gemme
2 XP
Gemme verte
9 XP
Gemme rouge
35 XP
Gemme violette
140 XP
Or
Monnaie du Sanctuaire
Cœur
+25 % de PV
Coffre
1 à 5 améliorations

En images

Le Sanctuaire
Onze améliorations. Le coût de chaque niveau croît de 80 %.
Sélection de personnage
Six personnages, dont quatre à débloquer – avec la progression affichée.

Ce qui monte contre vous

Le temps n’est pas le seul adversaire. Deux mécanismes décident de la pression, et tous deux ont été réglés à la mesure plutôt qu’à l’intuition.

Les ennemis suivent votre puissance

Les points de vie des créatures ne suivent pas que l’horloge : ils suivent aussi votre niveau. Votre puissance monte par paliers – niveaux d’arme, passifs, reliques, évolutions – et bien plus vite qu’une courbe de temps. Sans ce second facteur, un build solide de douze minutes permettait de poser la manette et rester immobile sans perdre un point de vie.

Les huit premiers niveaux en sont exemptés : le début de partie sert à se mettre en jambes, pas à être puni d’avoir ramassé trois gemmes. Et le niveau est lu à l’apparition de l’ennemi – un adversaire déjà sur le terrain ne durcit pas parce que vous venez de monter.
immobile, avant immobile, après en fuite
12ᵉ minute74 s18 ssurvit
16ᵉ minute12 s9 s30 s
20ᵉ minute7 s5 s13 s

Les boss errants

Les quatre boss scriptés tombent toujours aux mêmes minutes : au troisième run, on sait ce qui arrive et quand. Trois rôdeurs s’y ajoutent au hasard – une Matrone dès la 7ᵉ minute, un Chevalier Exsangue dès la 12ᵉ, un Chœur de Cendres dès la 17ᵉ. Cinq au maximum par partie.

Le tirage se fait sur le générateur de la partie : deux parties de même graine voient les mêmes rôdeurs aux mêmes instants. La surprise ne coûte pas la rejouabilité à la graine. Aucun rôdeur ne paraît pendant un boss scripté – deux barres de vie et deux musiques superposées ne se lisent pas.

Le domaine

Le terrain n’est pas un fond. Il porte de la végétation, des ruines qui arrêtent, des routes qui servent de repère, et des bourgs qu’on choisit d’aborder ou de contourner.

Végétation

Quatre essences – pin mort, chêne noueux, saule noyé, tronc calciné – en seize silhouettes. Elles se distinguent par le contour avant la couleur : un arbre vu de haut et à distance se reconnaît à sa forme, et vous devez pouvoir les trier en niveaux de gris.

Elles ne sont pas semées régulièrement. Un second tirage décide qu’une zone est un bosquet et y triple la densité, ce qui crée des futaies et des clairières là où un semis uniforme ne donnerait qu’une moyenne partout.

Les arbres sont dessinés derrière vous et derrière les ennemis. C’est un choix : dans un jeu où l’on esquive en permanence, un arbre qui masque une silhouette coûte une vie.

Ruines et collision

Six bâtiments de 84 à 216 pixels – pan de mur, angle de maison, nef effondrée, tour tronquée, ferme brûlée, pontons rompus. Ils vous arrêtent, ainsi que les ennemis terrestres. Les volants passent au-dessus.

Toute ruine a au moins deux ouvertures. Vous ne devez jamais pouvoir être coincé entre un mur et la horde sans issue : ce serait une mort que vous n’auriez pas commise. Et les blocs sont dessinés à l’aplomb exact de ce qui bloque – un décor qui ment sur sa collision est pire que pas de collision du tout.

Routes, sols, bourgs

Les routes suivent une ligne de niveau du terrain, donc serpentent. Dans un monde infini et sans carte, savoir qu’on en suit une donne un sens à la marche. Six motifs de sol – dallage, pavé, labour, vase, cendre craquelée, terre retournée – changent la lecture d’une zone entière.

Un village abandonné aligne quatre à neuf maisons le long d’une rue dallée. La pression y monte de 40 %, et un coffre vous y attend. Il doit être désirable et dangereux : sans récompense certaine, le bon calcul serait de passer au large.

Une tour tronquée
Une tour tronquée. Sa face avant est ouverte – toute ruine a au moins deux ouvertures, pour qu’on ne puisse jamais y être enfermé.
Un village abandonné
Un bourg abandonné. Des maisons le long d’une rue dallée, et un coffre au centre.

Décor destructible

Brasero, jarre, reliquaire brisé, sarcophage. Les trois premiers donnent leur contenu sans rien demander. Le sarcophage libère ce qu’il gardait avant de livrer son coffre – c’est le seul qui coûte quelque chose, et donc le seul dont l’ouverture soit un choix.

Confort & durée de vie

Un survivor-like se joue par sessions courtes et répétées. Tout ce qui suit existe pour que reprendre une partie ne coûte rien – et pour que l’or serve à autre chose qu’à la puissance brute.

La boutique

L’or n’avait qu’un débouché : le Sanctuaire, c’est-à-dire de la puissance. Un joueur qui a fini d’acheter ses améliorations n’avait plus rien à en faire. La boutique met les deux en concurrence – dépenser en puissance ou en allure – avec vingt-trois cosmétiques : neuf teintes de personnage, six traînées de pas, quatre thèmes d’interface et quatre curseurs.

Règle absolue : aucun cosmétique n’influence le jeu. Ni statistique, ni lisibilité. Les teintes restent chaudes et saturées, les traînées discrètes, et rien ne touche aux couleurs réservées aux gemmes ni au sang.
La boutique
Vingt-trois cosmétiques. Une teinte ne s’achète pas : elle se mérite.
Les options
Neuf réglages de confort, en plus des trois volumes.

La progression

Un écran montre les quinze recettes d’évolution et les quatre conditions de déblocage, avec l’avancement chiffré : « 520 sur 600 » dit si l’objectif est proche, là où « survivre dix minutes » ne dit rien.

Il ne dévoile pas ce que vous n’avez pas rencontré. Une recette dont l’arme de base vous est inconnue reste silhouettée : savoir qu’il existe une évolution est une information, savoir laquelle en est une autre – et la seconde se mérite.

L’Archive

Quarante-deux pièces sont enfouies dans le domaine. Elles ne tombent pas comme du butin et ne s’achètent pas : elles se cherchent. La minimap pulse en direction de ce qui dort à proximité, de plus en plus vite à mesure qu’on approche – une mécanique de sourcier, pas une carte au trésor. Marguerite la Sourcière, seule personne du casting dont le métier est de trouver ce qui est enfoui, porte plus loin que les autres.

Chaque pièce trouvée rejoint l’Archive, où elle se lit en plein écran. L’Archive n’affiche qu’un indice à la fois : on a toujours exactement un objectif, jamais une liste.

Ce que contiennent ces pièces n’est pas documenté ici, et ne le sera pas. Elles se trouvent en jouant.

Reprendre une partie

Un onglet fermé au milieu d’une partie ne la coûte plus : la progression est enregistrée en continu et l’écran-titre propose de reprendre là où l’on s’était arrêté. Le genre n’en fait pas l’usage – une partie dure trente minutes et se rejoue – mais trente minutes, c’est long à perdre sur une fausse manœuvre.

Accessibilité

Neuf réglages, tous persistants : échelle de l’interface, intensité des secousses de caméra (à 40 % par défaut), réduction des flashs, réduction des animations, contraste renforcé, police sans empattement, repère sous le joueur, affichage des dégâts chiffrés, et vitesse de jeu réglable – de quoi ralentir la simulation entière sans rien changer à l’équilibrage.

Sur téléphone et tablette

Le jeu se joue au doigt : un joystick virtuel apparaît là où l’on pose le pouce, et un bouton de pause est posé en haut, hors de portée des pouces au repos. L’écran reste allumé pendant une partie – les armes tirent seules, on peut ne pas toucher l’écran pendant de longues secondes.

Le cadrage vise le paysage. La vue est en 16∶9, et le facteur d’échelle entier – celui qui garantit un pixel net – ne peut pas remplir un écran portrait : il y laisse deux bandes noires. Le jeu propose alors de tourner l’appareil.

La proposition ne se déclenche pas sur le type d’appareil mais sur la part d’écran réellement perdue. Un iPhone en portrait en perd 61 %, un iPad 32 % ; tous deux reçoivent la proposition. Une tablette 4∶3 n’en perd que 17 % et n’est pas sollicitée. Et la proposition reste une proposition : qui veut jouer en portrait le peut.

Une partie sur téléphone, en paysage
En paysage, l’écran entier sert au jeu.
La proposition de rotation
En portrait, le geste est montré plutôt qu’écrit – et une partie en cours est mise en pause avant l’affichage.

Sous le capot

Tout ce que vous voyez et entendez est généré par le code au démarrage. Aucun PNG, aucun fichier audio, aucune police. Le jeu entier pèse 79 ko compressés et fonctionne hors ligne.

Sprites procéduraux
Chaque créature est dessinée par un générateur paramétré (humanoïde, bestial, volant, arachnide, amorphe, spectral). Les frames sont des déformations du sprite de base.
Audio synthétisé
Web Audio brut : oscillateurs, bruit filtré, enveloppes. La musique est un séquenceur à couches dont le tempo suit l’intensité de la partie.
Monde déterministe
Biomes, décor et structures sont calculés à partir de la position. Monde infini, coût mémoire nul, parties rejouables à la graine.
Pools pré-alloués
Pas d’ECS générique : peu de types d’entités, énormément d’instances. Rien n’est alloué pendant une partie.
Grille de hachage
Reconstruite intégralement chaque frame en listes chaînées sur Int32Array : plus rapide qu’une mise à jour incrémentale, et impossible à désynchroniser.
60 fps mesurés
Avec 344 ennemis : 0,9 ms de simulation, 2,4 ms de rendu. Boucle à pas fixe 60 Hz avec interpolation.

L’équilibrage est mesuré, pas deviné

Les courbes sont réglées par un bot qui joue réellement : il fuit la pression locale des ennemis, dérive vers les gemmes et choisit ses cartes. Deux réglages de densité ont été mesurés puis rejetés. Le second est le plus instructif.

RéglageRésultat mesuré
0,9 + min × 0,55~20 ennemis à l’écran, niveau 8 à 3 min 30 : trop vide
1,6 + min × 1,05474 ennemis à 6 min, une seule arme au niveau 5, mort à 6 min 48
1,1 + min × 0,70Niveau 14 à 4 min 30, 4 armes, 745 morts, 60 fps – retenu
La leçon. Au-delà d’un certain seuil, augmenter la densité réduit la progression : le joueur ne tue plus assez vite, ne ramasse plus de gemmes, et la courbe d’XP s’effondre pendant que l’écran se remplit.

La documentation de conception complète – vision, game design, bible de contenu, direction artistique, design audio – est dans le dépôt.