Skip to content

Journal de développement

Voici le journal de bord de la création d’un monde ouvert qui fonctionne dans un navigateur : aucune installation, aucun téléchargement, juste une URL.

Il se décline en 29 parties rédigées, étayées par 60 spikes. Un spike est une expérimentation courte et ciblée qui teste une question risquée, mesure ce qui compte et permet de décider de la suite. La plupart des spikes sont des pages autonomes sous /spikes/*, exécutables directement dans le navigateur, et la plupart des parties renvoient directement vers la démo et son code source.

Vous découvrez le projet ? Commencez par la Partie 1 : Nous avons commencé par essayer de tout casser, ou consultez le guide de la série pour connaître l’ordre de lecture complet et accéder à un glossaire en termes simples.

Les nouvelles parties sont publiées sur notre Discord dès leur sortie. Venez poser vos questions ou débattre avec nous des budgets de temps de rendu par image.

La série dans l’ordre

  1. Partie 1 : Nous avons commencé par essayer de tout casser
  2. Partie 2 : La physique dans un worker et la crainte de la latence des commandes
  3. Partie 3 : Les spikes peu spectaculaires qui nous ont sauvés
  4. Partie 4 : Le streaming avant les terrains sophistiqués
  5. Partie 5 : Budgétiser les jolis effets
  6. Partie 6 : Les clipmaps ont changé la donne
  7. Partie 7 : Marching cubes et les premières vraies grottes
  8. Partie 8 : Intégrer sans perdre notre référence
  9. Partie 9 : Transvoxel a commencé par une ossature
  10. Partie 10 : Le chaos des raccords et le combat final contre les coins
  11. Partie 11 : Des modes définis par des règles, pas codés en dur
  12. Partie 12 : Anneaux, brume céleste et ce que nous referions
  13. Partie 13 : Sculpture du terrain et mort de la fonction mathématique
  14. Partie 14 : Le monde prend vie
  15. Partie 15 : Remplacer la référence, puis la synchroniser
  16. Partie 16 : Une structure adaptée à un monde qui ne cesse de grandir
  17. Partie 17 : Des animations sans retargeting et une recherche de ressources en direct
  18. Partie 18 : Un pinceau de dispersion qui donne l’impression d’un placement par IA
  19. Partie 19 : L’imposteur qui doit survivre à une forêt
  20. Partie 20 : Simuler la profondeur sur un plan plat
  21. Partie 21 : Un moteur de rendu plus rapide qui ne l’était pas
  22. Partie 22 : Des nuages que l’on peut éclairer et un culling qu’il faut alimenter
  23. Partie 23 : Cinquante avatars et une voix dans la pièce
  24. Partie 24 : Sauvegarder un monde et rendre le vent visible
  25. Partie 25 : Un squelette pour toutes les tenues
  26. Partie 26 : Trois façons de créer de l’eau
  27. Partie 27 : Une île créée à partir de bruit et un sol qui ressemble vraiment à un sol
  28. Partie 28 : De l’herbe jusqu’à l’horizon et un terrain qui se masque lui-même
  29. Partie 29 : Un seul contrôleur pour n’importe quel corps

Carte des spikes exécutables

Commencez ici si vous souhaitez parcourir directement la chronologie technique. Chaque spike renvoie vers sa démo en direct et son code source — ce dernier ouvre le spike dans notre Créateur de jeux, où vous pouvez parcourir toute l’arborescence des fichiers, lire le code, y jouer directement et le remixer pour créer votre propre jeu modifiable.

Spike 1 terrain et instanciation · code source
Spike 2 physique dans un worker · code source
Le spike 3, un test de charge de diffusion avec Durable Objects, s’exécutait comme script de service et non comme page autonome
Spike 4 : contraintes de qualité sur mobile, testées via un paramètre de requête du spike 1
Spike 5 : fiabilité du comportement d’un LLM, testé sous forme de script et non de page autonome
Spike 6 chargement et permutation des chunks · code source
Spike 7 végétation générée à partir de cartes de densité · code source
Spike 8 coût du matériau du terrain · code source
Spike 9 budget des ombres en cascade · code source
Spike 10 clipmaps et géomorphing · code source
Spike 11 streaming de chunks de carte de hauteur · code source
Spike 12 marching cubes avec WebGPU · code source
Spike 13 référence d’intégration WebGPU · code source
Spike 14 fiabilisation progressive · code source
Spike 15 ossature des raccords · code source
Spike 16 première face Transvoxel · code source
Spike 17 double LOD MC · code source
Spike 18 raccord de carte de hauteur · code source
Spike 19 coin à résolutions mixtes · code source
Spike 20 raccord de coin sur GPU · code source
Spike 21 raccord de coin MC sur GPU · code source
Spike 22 repli de MC vers HM · code source
Spike 23 modes de chunks fondés sur des règles · code source
Spike 24 anneaux de clipmap et brume céleste · code source
Spike 25 pinceau de carte de hauteur sur des données échantillonnées · code source
Spike 26 pinceau SDF via calcul GPU · code source
Spike 27 intégration de HM, MC et du pinceau · code source
Spike 28 texturage multimatériau · code source
Spike 29 végétation et herbe générée par shader · code source
Spike 30 physique du terrain et contrôleur de personnage · code source
Spike 31 synchronisation multijoueur du terrain · code source
Spike 32 eau et nage · code source
Spike 33 refactorisation de la structure du code · code source
Spike 34 création directement dans le monde · code source
Spike 35 animations de combat et retargeting · code source
Spike 36 recherche en direct de ressources Poly Haven · code source
Spike 37 dispersion d’objets assistée par IA · code source
Spike 38 imposteurs octaédriques · code source
Spike 39 parallax occlusion mapping · code source
Spike 40 moteur de rendu à tampon de visibilité · code source
Spike 41 imposteurs dans une forêt · code source
Spike 42 correction du scintillement des imposteurs · code source
Spike 43 atmosphère et nuages volumétriques · code source
Spike 44 culling Hi-Z de meshlets · code source
Spike 45 skinning groupé des avatars et synchronisation réseau · code source
Spike 46 chat vocal de proximité · code source
Spike 47 persistance du monde sous l’autorité du serveur · code source
Spike 48 : intégration du rig d’avatar, réutilisée comme code partagé par les spikes suivants (aucune page autonome)
Spike 49 vent calculé sur GPU pour les objets et le feuillage · code source
Spike 50 personnages universels et accessoires portables · code source
Spike 51 eau avec réflexions en espace écran · code source
Spike 52 eau avec miroir planaire · code source
Spike 53 bibliothèque d’eau prête pour la production · code source
Spike 54 génération procédurale d’une île · code source
Spike 55 ombrage du terrain et atténuation de la répétition des textures · code source
Spike 56 herbe en quadrilatères croisés sur GPU · code source
Spike 57 culling d’occlusion du terrain · code source
Spike 58 contrôleur de personnage interchangeable · code source
Spike 59 contrôleur avec un véritable avatar · code sourceSpike 60 Animations polygonales Synty · source