Moteurs de jeu voxel · toutes les options, comparées

Les meilleurs moteurs de jeu voxel en 2026 — et un que vous n'avez pas à installer

Créez vos propres moteurs de jeu voxel

Comparer les moteurs de jeu voxel — Hytopia, Noa, Luanti, Godot, Unity — plus un monde voxel dans le navigateur où vous pouvez entrer sans rien installer.

✦Jeu
Créez un monde voxel de une île en blocs

Les moteurs de jeu voxel se divisent en trois groupes : les moteurs voxel dédiés, les moteurs généralistes auxquels on ajoute une couche voxel, et les mondes dans le navigateur qui s'affichent dans un onglet sans rien installer. Le moteur dédié vous donne dès le premier jour le stockage en chunks, le maillage et la propagation de la lumière, puis il contraint tout ce qui les entoure. Le moteur généraliste vous donne une chaîne d'outils complète, puis vous laisse le pipeline de chunks comme devoir. Le monde dans le navigateur supprime entièrement l'installation et l'étape de build.

Cette page compare Hytopia, Noa, Luanti, Godot avec un plugin voxel, et Unity avec un plugin voxel : ce que chacun est réellement, ce que vous y écrivez, et où il vous coûtera du temps. Elle se termine par l'option navigateur, un monde que vous ouvrez et parcourez dans la même minute où vous l'avez décrit.

Réponse rapide : quel moteur voxel devriez-vous utiliser ?

Moteur voxel dédié, comme Noa ou Luanti : utilisez-le quand les données du monde sont elles-mêmes le produit et que vous ne voulez pas écrire un mailleur, un diffuseur de chunks et une passe de lumière par remplissage avant de voir quoi que ce soit à l'écran.

Moteur généraliste plus plugin voxel, comme Godot ou Unity : utilisez-le quand vous avez besoin d'animation, d'interface, de physique, d'audio, de mappage des entrées et d'export par plateforme, et que vous acceptez de gérer le pipeline de chunks à l'intérieur de la boucle de rendu de quelqu'un d'autre.

Monde dans le navigateur que vous n'installez jamais, comme le builder Neta Studio : utilisez-le quand le premier obstacle consiste à amener une autre personne à regarder le monde, et qu'un lien coûte moins cher qu'un téléchargement, une chaîne d'outils et une étape de build.

Le départage se fait selon ce qui se trouve sur votre chemin critique. Si le plus dur est le contenu, choisissez le pipeline où la distance est la plus courte entre une idée et le fait de s'y promener à l'intérieur. Si le plus dur est la simulation, des milliers de blocs en interaction, une physique personnalisée, un état réseau déterministe, choisissez la boîte à outils que vous pouvez profiler, corriger et recompiler.

Un monde voxel dans le navigateur où vous pouvez entrer — sans installation, sans étape de build.

Les moteurs, comparés

Cinq options ci-dessous, décrites par leur forme plutôt que par un classement. Toutes affichent des voxels. Elles diffèrent par ce qu'elles vous donnent et ce qu'elles attendent en retour.

Lisez d'abord la colonne des langages. Elle détermine quelle part du runtime vous pouvez modifier sans étape de build natif, et cela détermine comment vous déboguez à deux heures du matin.

Hytopia

Hytopia est une plateforme hébergée de jeux voxel dotée d'un SDK JavaScript et TypeScript. Les mondes sont à base de voxels, le client s'exécute dans le navigateur, et le multijoueur fait partie de la plateforme plutôt que d'être un ajout : vous écrivez la logique de jeu en vous appuyant sur les API d'entités et de joueurs du SDK, et la plateforme gère le serveur. La contrepartie, c'est que votre jeu vit sur leur runtime. Vous le configurez et le scriptez ; vous ne livrez pas de binaire autonome du moteur.

Noa

Noa est un moteur voxel JavaScript construit sur Three.js, destiné au navigateur. Il gère le terrain en chunks, la génération de maillages, un système d'entités, ainsi qu'une collision et une gravité simples, et il attend de vous le reste : la configuration du rendu, les entrées, les règles du jeu, le réseau. Son API est assez petite pour être lue de bout en bout, ce qui est son véritable avantage. Quand quelque chose se comporte bizarrement, la défaillance se trouve dans un code que vous pouvez ouvrir, pas dans une boîte noire.

Luanti (anciennement Minetest)

Luanti, anciennement Minetest, est une plateforme voxel open source plutôt qu'un jeu unique. Le moteur est en C++, mais le gameplay arrive sous forme de jeux et de mods écrits en Lua, ce qui vous permet de modifier le comportement des blocs, l'artisanat et les entités sans recompiler. Son monde est une grille de nœuds en mapblocks de 16x16x16, et le serveur diffuse les blocs aux clients via le réseau. Vous pouvez exécuter un serveur en local, et le même code serveur tourne sur un hébergeur loué. Des paramètres comme active_block_range et max_block_send_distance déterminent jusqu'où un joueur voit et combien de RAM le client consomme.

Godot avec un plugin voxel

Godot n'a pas de terrain voxel dans le moteur de base. Vous l'ajoutez : soit un addon communautaire qui génère des maillages de chunks, soit votre propre mailleur produisant des surfaces ArrayMesh plus des formes de collision. Godot vous fournit les éléments qui entourent les voxels, c'est-à-dire l'arbre de scène, AnimationPlayer, l'interface, les corps physiques, les entrées et les modèles d'export, ainsi que GDScript, C# ou C++ via GDExtension pour le code de maillage. La génération des maillages de chunks doit se faire sur un thread de travail ou une tâche WorkerThreadPool. La faire sur le thread principal est la cause habituelle des saccades quand un joueur franchit une frontière de chunk.

Unity avec un plugin voxel

Unity, c'est la même histoire avec une chaîne d'outils plus lourde. Le terrain voxel provient d'un plugin ou de votre propre système de chunks ; la voie productive passe par des jobs compilés avec Burst dans le C# Job System, qui génèrent les données de maillage sur des threads de travail et les téléversent avec Mesh.SetVertices et des appels similaires. La collision est le problème récurrent : un MeshCollider par chunk est coûteux à cuire, aussi de nombreux projets écrivent plutôt des raycasts voxel et des collisions AABB contre la grille de blocs. Vous conservez l'animation, l'interface, les mixeurs audio et le pipeline de build d'Unity sur les cibles desktop et web.

MoteurFormeLangage que vous écrivezComment vous l'exécutez
HytopiaPlateforme voxel hébergée avec un SDKTypeScript ou JavaScriptClient navigateur sur leur runtime hébergé
NoaMoteur voxel navigateur sur Three.jsJavaScriptVotre propre page et votre propre serveur
LuantiPlateforme voxel open source avec des jeux en LuaLua pour les jeux et les modsClient installé plus un serveur que vous hébergez
Godot plus un addon voxelMoteur généraliste avec terrain voxel ajoutéGDScript, C# ou C++ via GDExtensionExport desktop, ou export web pour une build navigateur
Unity plus un plugin voxelMoteur généraliste avec terrain voxel ajoutéC#, avec des jobs Burst pour le maillageBuild desktop, console ou WebGL
Builder de jeu 3D Neta StudioConstructeur de mondes dans le navigateurDescriptions en langage naturelUn onglet de navigateur, sans installation

Jouez à un monde voxel sans rien installer

Le moyen le plus rapide de décider si vous voulez construire des mondes voxel est de vous tenir à l'intérieur de l'un d'eux. Le builder de jeu 3D Neta Studio s'exécute dans un onglet de navigateur. Vous tapez une description d'un monde — terrain, ambiance, structures — et le builder génère une scène Three.js jouable que vous parcourez avec WASD et une souris. Pas de SDK, pas d'installation d'éditeur, pas d'étape de build, pas de pipeline d'assets à raccorder d'abord.

Le monde que vous obtenez est une véritable géométrie, pas une vidéo. Vous entrez en collision avec lui, vous déplacez la caméra à travers lui, et vous le modifiez en décrivant le changement — élever l'eau, ajouter un pont, élargir la vallée — puis en régénérant. Agent Sprite Forge couvre la couche 2D : des sprites pour les agents, les accessoires et les objets à ramasser, afin qu'une scène ne reste pas bloquée en attendant un artiste de personnages. Mini World est la plus petite démo et la première cible idéale sur un ordinateur portable. The Cyclops' Island est un monde plus vaste et élaboré, et montre à quoi ressemble une scène quand le terrain et l'éclairage ne sont pas plats.

Ce que cela ne fait pas : cela ne vous donne pas l'API de script au niveau des blocs d'un moteur dédié, et cela ne produit pas d'exécutable autonome pour une boutique. C'est l'extrémité « réviser et itérer » du pipeline, et le moyen le plus rapide de montrer à une autre personne ce que vous entendez par un monde voxel.

1

01

Ouvrez le builder dans un navigateur de bureau récent. Chrome, Edge, Firefox et Safari fonctionnent tous ; la condition est un GPU compatible WebGL2, et un graphisme intégré suffit pour les mondes de démonstration.

2

02

Écrivez une phrase décrivant le monde. Les noms précis valent mieux que les adjectifs : une île brumeuse de pins avec une tour de pierre et un lagon peu profond donne plus de choses à placer au générateur qu'une île cool.

3

03

Générez, puis parcourez-le. Le déplacement se fait avec WASD et la visée à la souris. Vérifiez d'abord la collision des pentes et le bord de l'eau, car c'est là que le terrain généré est généralement incorrect.

4

04

Modifiez en décrivant le changement plutôt qu'en déplaçant des blocs individuels. La régénération coûte moins cher que de placer la géométrie à la main tant que le monde est encore en évolution.

5

05

Ajoutez des sprites avec Agent Sprite Forge pour tout ce qui a besoin d'un visage : agents, accessoires et objets à ramasser.

6

06

Partagez le lien. L'autre personne ouvre un onglet et atterrit dans le même monde sans rien à installer.

Gaga Little World — le même langage de blocs à poser, à l'échelle du jouet.

Ce qui compte vraiment

Quatre propriétés décident si un moteur voxel est agréable ou pénible au bout de trois mois. Aucune n'apparaît sur une liste de fonctionnalités, et toutes sont mesurables avant de vous engager.

Taille du monde

Le stockage coûte peu cher, la diffusion en flux non. Un monde est généralement découpé en chunks de 16x16x16 ou 32x32x32 blocs, et le moteur en garde un rayon résident. La mémoire évolue à peu près avec le cube du rayon, donc doubler la distance de vue représente environ huit fois les données de blocs avant même de compter les maillages. Les coordonnées comptent aussi : les positions float32 perdent de la précision loin de l'origine, ce qui se manifeste par des tremblements de caméra et du z-fighting bien au-delà de 100 000 unités. Les moteurs gèrent cela par rebasage d'origine ou rendu relatif à la caméra. Découvrez laquelle de ces méthodes applique le vôtre avant de planifier un continent.

Éclairage

L'éclairage voxel se fait généralement par remplissage. Chaque bloc stocke un niveau de lumière, la lumière du soleil se propage vers le bas jusqu'à heurter un bloc opaque, les torches se propagent vers l'extérieur avec une atténuation. C'est peu coûteux par bloc et coûteux à maintenir correct. Quand un joueur place ou retire un bloc, la lumière dans ce chunk et ses voisins doit être recalculée, et si vous oubliez le chunk voisin, la lumière fuit à travers la frontière sous forme de couture lumineuse. Si le moteur intègre la lumière aux couleurs des sommets, chaque modification recuit un maillage. S'il éclaire dans un shader, vous payez en limites d'uniformes et en appels de dessin supplémentaires.

Multijoueur

Le multijoueur voxel est surtout un problème de bande passante. Le serveur fait autorité : il détient la grille de blocs, et les clients envoient des intentions plutôt que des positions. Seules les modifications circulent sous forme de deltas, et seuls les chunks situés dans un rayon d'intérêt sont envoyés, de sorte que le trafic évolue avec le nombre de joueurs multiplié par le rayon de vue, et non avec la taille du monde. Deux clients qui creusent le même bloc au même tick constituent un cas réel pour lequel vous devez définir une réponse. Si le moteur que vous choisissez n'a pas de réseau, c'est vous qui écrivez le système d'intérêt, le format de delta et la prédiction côté client. C'est un projet, pas une fonctionnalité.

S'exécute dans un navigateur

Une cible navigateur supprime l'étape d'installation, qui est de loin la plus grande cause d'abandon quand vous demandez à quelqu'un d'essayer votre monde. Le coût, c'est un budget plus restreint : les appels de dessin WebGL2, un seul thread JavaScript principal à moins de configurer l'isolation cross-origin pour SharedArrayBuffer, et la taille de téléchargement de chaque asset. WebGPU est présent dans les navigateurs de bureau actuels mais pas uniformément, donc un repli sur WebGL2 reste une pratique courante. Si le monde s'exécute dans un onglet, vous pouvez l'envoyer dans un message. S'il lui faut un lanceur, vous ne pouvez pas.

Bac à sable voxel vs moteur voxel

Un bac à sable voxel est un jeu terminé qui se trouve être fait de blocs. Vous le téléchargez, vous y jouez, et la palette de blocs est celle que le développeur a livrée. Un moteur voxel est une boîte à outils : stockage de chunks, maillage, moteur de rendu et une API contre laquelle vous écrivez. La distinction compte parce que les résultats de recherche emploient les mêmes mots pour les deux.

Les signaux sur la page. S'il y a un lanceur et une galerie de captures d'écran, c'est un bac à sable. S'il y a une référence d'API, des noms de classes et un paquet à installer, c'est un moteur. Si les types de blocs sont des fichiers de données que vous modifiez plutôt que des objets d'exécution que vous enregistrez, cela vous indique à quel niveau se situe le produit. S'il existe un chemin d'export ou de build autonome, vous achetez une boîte à outils. Si le seul moyen de publier est à l'intérieur de leur plateforme, vous en louez une.

Les hybrides sont courants et méritent d'être nommés. Luanti est une plateforme : le moteur est une boîte à outils, les jeux livrés sont des bacs à sable construits dessus, et vous choisissez à quel niveau travailler. Hytopia est à la fois un SDK et un runtime hébergé, donc vous écrivez du code au niveau du moteur qui s'exécute sur les serveurs de quelqu'un d'autre. Les builders navigateur se situent à l'extrémité « contenu », produisant des mondes plutôt que des systèmes. Décidez quel niveau vous voulez posséder avant de comparer les listes de fonctionnalités, car un bac à sable doté d'un bon éditeur ne remplace pas un moteur doté d'une API.

Entrez dans le monde auquel il appartient

Un sprite est un personnage sans endroit où se tenir. La dernière étape est celle que personne d'autre n'offre : prenez la planche que vous venez de créer et placez-la dans un monde où quelqu'un peut se promener — une petite île, une planète, un coin de rue sous la pluie. Chaque monde de ce site a été créé à partir d'une seule description écrite et publié sous forme de page jouable.

FAQ

Puis-je créer un jeu voxel dans le navigateur ? +

Oui. Un monde voxel en chunks avec maillage, collision et éclairage par remplissage s'exécute en WebGL2 dans un onglet, et Three.js se charge du rendu. Noa et Hytopia ciblent tous deux le navigateur, et le builder Neta Studio génère des mondes faits de blocs que vous pouvez parcourir sans rien installer. Les contraintes sont les appels de dessin, un seul thread JavaScript principal et la taille de téléchargement des assets.

Godot est-il adapté aux voxels ? +

Godot est solide pour tout ce qui entoure les voxels et neutre vis-à-vis des voxels eux-mêmes. Il n'y a pas de terrain voxel intégré, donc vous ajoutez un système de chunks, un mailleur et la collision, soit à partir d'un addon communautaire, soit à partir de votre propre code, et vous générez les maillages sur un thread de travail pour que la diffusion ne bloque pas l'image. Si vous connaissez déjà Godot, c'est un compromis raisonnable. Sinon, vous apprenez un moteur et écrivez une couche voxel en même temps.

Luanti est-il gratuit ? +

Oui. Luanti, le projet anciennement nommé Minetest, est gratuit et open source, sans offre payante et sans compte requis pour jouer ou héberger. Vous pouvez exécuter un serveur sur votre propre machine ou sur un hébergeur loué, et les jeux et mods qui reposent dessus sont écrits en Lua, de sorte que le gameplay peut changer sans reconstruire le moteur.

Ai-je besoin de C++ pour construire un moteur voxel ? +

En général, non. Hytopia est en JavaScript et TypeScript, Noa est en JavaScript, le gameplay de Luanti est en Lua, Godot propose GDScript et C#, et Unity est en C#. Vous recourez à C++ quand vous modifiez un cœur de moteur ou écrivez une extension native, comme un module GDExtension de Godot ou un plugin natif d'Unity. L'algorithme de maillage est le même dans les deux cas.

Qu'est-ce qu'un voxel ? +

Un voxel est une valeur sur une grille tridimensionnelle régulière, adressée par des coordonnées entières, et ce n'est pas un cube que vous affichez. Le bloc que vous voyez est un maillage généré à partir de séries de voxels : le mailleur parcourt la grille et n'émet que les faces qui touchent un espace vide, et le maillage glouton fusionne les faces coplanaires d'un même type de bloc en quads plus grands. Le stockage, c'est la grille ; les cubes visibles sont une décision de rendu.

Comment fonctionne le multijoueur dans un jeu voxel ? +

Le serveur détient la grille de blocs faisant autorité et les clients envoient des intentions plutôt que des positions. Seules les modifications circulent sous forme de deltas, et le serveur diffuse les chunks dans un rayon d'intérêt autour de chaque joueur, de sorte que la bande passante évolue avec le nombre de joueurs multiplié par le rayon de vue plutôt qu'avec la taille du monde. La prédiction côté client masque la latence d'aller-retour pour les déplacements, et le serveur résout le cas où deux joueurs modifient le même bloc au même tick.

Qu'est-ce qui cause réellement des problèmes de performance voxel ? +

Trois choses, dans l'ordre : le maillage sur le thread principal, trop d'appels de dessin et la cuisson des colliders. Générez les maillages de chunks sur un worker et téléversez des tampons finis, gardez un seul maillage par chunk au lieu d'un objet par bloc, et éliminez les chunks hors du frustum de la caméra. Côté physique, un collider de maillage par chunk coûte bien plus cher que des raycasts et des tests AABB contre la grille de blocs.

Puis-je exporter un monde construit dans le navigateur ? +

Le builder Neta Studio exécute le monde dans l'onglet, donc le partage se fait par un lien et l'autre personne n'a rien à installer. Ce n'est pas un pipeline d'export vers un binaire autonome, donc si vous avez besoin d'une build téléchargeable ou d'un paquet console, il vous faut Godot ou Unity avec votre propre couche voxel. De nombreuses équipes prototypent la disposition dans le navigateur et la reconstruisent dans un moteur une fois que le monde cesse de changer.

Retour au builder de jeu 3D

Les 31 mondes, jeux et scènes 3D terminés sont réunis sur une seule page — tous jouables.

Plateforme : Neta StudioPage : Les meilleurs moteurs de jeu voxel en 2026À lire ensuite : /explore/tool/ai-voxel-game-maker · /explore/tool/voxel-circle-generator · /use-cases/en/isometric-pixel-art
×