Créateur de jeu isométrique gratuit · clic pour se déplacer

Créateur de jeu isométrique par IA — Construisez un monde 2.5D explorable dans votre navigateur

Créez votre propre créateur de jeu isométrique par IA

Décrivez un monde isométrique et jouez-y instantanément — grille en losange, tri de profondeur et déplacement au clic, le tout dans le navigateur. Sans code, sans export. Gratuit.

✦Jeu
Créez un monde isométrique de un marché d'île flottante

Un créateur de jeu isométrique par IA prend une description écrite de scène et renvoie un monde 2.5D jouable : une grille de tuiles en losange, une caméra verrouillée à 45 degrés de lacet, des accessoires triés de l'arrière vers l'avant et un personnage que vous pouvez envoyer n'importe où d'un clic. Neta Studio fait cela dans le navigateur. Vous tapez la phrase, le composeur place le terrain et les accessoires sur la grille, et vous appuyez sur Play. Pas d'installation de moteur, pas d'étape d'export, pas de pipeline de build.

Les éléments qui prennent normalement tout un week-end sont déjà câblés : la projection 2:1, le tri de profondeur et la transformation inverse écran-vers-tuile derrière le déplacement au clic. Ce que vous contrôlez réellement, c'est la disposition, le jeu de tuiles, le personnage, les règles de déplacement et l'amplitude de déplacement autorisée de la caméra.

Une phrase → un monde isométrique

Le composeur est le premier écran. Un champ de texte, une taille de carte en tuiles et une taille de tuile. Vous décrivez la scène comme vous la décririez à un concepteur de niveaux, vous générez, et vous arrivez dans l'éditeur avec un monde à grille en losange déjà assemblé. La valeur par défaut est 64 par 64 tuiles à 64 par 32 pixels par tuile, ce qui place un écran entier de monde dans une seule caméra orthographique, sans zoom nécessaire.

Ce qui revient, ce sont quatre couches. Le sol stocke un identifiant de terrain par tuile et est fusionné en un seul maillage, et non un maillage par tuile. Les accessoires reposent sur des emprises enregistrées : un tonneau 1x1, une maison 3x3, un quai 2x4 qui doit toucher un bord d'eau. Les entités sont gardées séparées des accessoires parce qu'elles se déplacent et ont besoin de données de recherche de chemin. L'éclairage et le brouillard se superposent et n'affectent pas l'ordre de tri.

La caméra est réglée sur un lacet de 45 degrés et une inclinaison qui correspond exactement à un losange 2:1, soit atan(0.5), environ 26,57 degrés, et non les 30 degrés que citent la plupart des tutoriels. La projection est orthographique, donc il n'y a pas de division perspective et une tuile au bord éloigné de la carte a la même taille en pixels qu'une tuile au bord proche. Le tri de profondeur est actif avant même que vous n'appuyiez sur Play.

Ce que le composeur décide pour vous

Il choisit la répartition du terrain, la densité d'accessoires par biome et une palette qui reste dans un seul atlas. Plus important encore, il enregistre les emprises, ce qui permet de garder une occlusion correcte par la suite. Si vous demandez une ville portuaire, vous obtenez des quais, des caisses et un bord d'eau, mais il ne saura pas que le quai doit toucher l'eau, sauf si vous le précisez.

Ce que vous placez encore à la main

Repeignez le terrain avec le pinceau, faites glisser les accessoires depuis la bibliothèque et définissez les points d'apparition. Tout ce qui porte une règle, comme un pont qui doit enjamber une rivière, vous le placez vous-même. Le composeur vous donne une disposition de départ, pas un niveau terminé.

1

01

Écrivez la description de la scène dans le champ du composeur.

2

02

Définissez la taille de la carte et la taille des tuiles. 64x64 tuiles à 64x32 pixels est la valeur par défaut pour une carte explorable.

3

03

Générez le monde et observez-le depuis la caméra isométrique fixe.

4

04

Repeignez le terrain et déplacez les accessoires. Chaque accessoire enregistre son emprise lorsqu'il est déposé.

5

05

Déposez un personnage sur une tuile explorable, puis appuyez sur Play pour tester le déplacement au clic.

The Cyclops' Island — un monde isométrique en pixel art avec déplacement au clic et collisions.

La grille en losange et le tri de profondeur, gérés

Une tuile isométrique est un carré pivoté de 45 degrés et écrasé à demi-hauteur. Avec tileW = 64 et tileH = 32, la transformation monde-vers-écran est sx = (x - y) * 32 et sy = (x + y) * 16. C'est toute la projection. Ce n'est pas une véritable projection isométrique, c'est une projection dimétrique à environ 26,57 degrés, et c'est exactement pourquoi les losanges 2:1 tombent sur des pixels entiers alors qu'une vraie grille isométrique à 30 degrés ne le fait pas. Le rapport 2:1 est choisi parce qu'il raccourcit également les deux axes et permet de dessiner chaque sprite pour un seul angle de caméra.

L'ordre de profondeur sous cette projection est l'algorithme du peintre : dessinez d'abord l'objet dont tileX + tileY est le plus petit. Cela tient jusqu'à ce que deux objets partagent une diagonale. Une clôture en (5, 3) et un personnage en (4, 4) produisent tous deux la clé 8. L'ordre que renvoie le tri dessine par-dessus, et si le tri n'est pas stable, l'ordre s'inverse d'une image à l'autre et la paire scintille à la jointure. La deuxième rupture, c'est la hauteur. Un sprite ancré en son centre est trié d'après son pixel médian, donc une lanterne de 96 pixels est dessinée par-dessus un personnage debout devant sa base. Les ancres doivent se trouver au centre inférieur du sprite, sur la tuile qu'occupe l'objet.

La troisième rupture, c'est la taille. Un bâtiment 3x3 trié comme un seul objet avec la clé 20 sera dessiné par-dessus un personnage en (9, 12), clé 21, même si ce personnage se tient devant la colonne gauche du bâtiment. Le moteur lit l'emprise enregistrée et découpe tout ce qui est plus grand que 1x1 en bandes par colonne, de sorte que le personnage passe devant une colonne et derrière la suivante. C'est la même raison pour laquelle un long mur ne peut pas être un seul sprite.

  • Clé de triLa clé primaire est tileX + tileY. La clé secondaire est le bord de l'emprise, la tertiaire est un identifiant d'entité stable, de sorte que des clés égales ne s'échangent jamais d'une image à l'autre.
  • Enregistrement des emprisesChaque accessoire déclare son emprise en tuiles lors du placement. Un accessoire 2x2 ne chevauchera pas une tuile de chemin 1x1, sauf si vous l'autorisez.
  • Découpage par colonneLes accessoires plus larges qu'une tuile sont divisés en bandes et triés par bande. Quelques appels de dessin en plus, aucun bug de passage derrière.
  • Ancre aux piedsLes sprites pivotent au centre inférieur. Un pivot central casse l'occlusion pour tout ce qui est plus haut qu'une tuile.
  • Sol fusionnéLes tuiles de sol sont fusionnées ou instanciées par identifiant de terrain. Une carte de 4096 tuiles représente un appel de dessin par terrain, et non 4096 appels de dessin.

Le déplacement au clic sur une vraie grille de tuiles

Cela commence par l'inverse de la projection. Prenez la position du pointeur, soustrayez l'origine de la caméra et tout décalage de letterbox, puis calculez tileX = (sx / 32 + sy / 16) / 2 et tileY = (sy / 16 - sx / 32) / 2, puis arrondissez les deux à l'entier inférieur. Mettez le mauvais signe sur le second terme et le personnage marche vers la tuile en miroir de l'autre côté du centre du losange. C'est le bug sur lequel vous passerez un après-midi.

Si la caméra peut tourner ou se déplacer librement, ne mettez pas cet inverse en cache. Lancez un rayon depuis la caméra à travers le pointeur, intersectez le plan du sol et convertissez le point d'impact monde en tuiles avec les mêmes formules. La version par lancer de rayon tient en quelques lignes et survit à chaque changement de caméra.

Validez ensuite. La tuile cliquée peut contenir une emprise d'accessoire, être de l'eau, se trouver hors de la carte ou être inaccessible. Bornez les coordonnées hors limites, vérifiez la grille d'occupation et exécutez A* sur 8 voisins avec un coût diagonal de 1,414 et sans couper les angles entre deux tuiles bloquées. Déplacez-vous en tuiles par seconde plutôt qu'en pixels par seconde, pour que la vitesse reste constante quand vous changez la taille des tuiles. Traversez les centres des tuiles le long d'une spline lissée avec un rayon d'arrivée d'environ 0,05 tuile, sinon le personnage saccade à chaque point de passage.

1

01

Convertissez le pointeur en coordonnées de tuile avec la transformation inverse, ou lancez un rayon sur le plan du sol si la caméra tourne.

2

02

Bornez aux limites de la carte et interrogez la grille d'occupation pour les accessoires, l'eau et le terrain bloqué.

3

03

Exécutez A* depuis la tuile actuelle du personnage jusqu'à la tuile cible.

4

04

Déplacez-vous le long du chemin en tuiles par seconde avec une spline lissée et un petit rayon d'arrivée.

5

05

Recalculez le chemin à chaque nouveau clic et annulez l'ancien au lieu de mettre les deux en file d'attente.

Genres isométriques que vous pouvez créer

Quatre genres couvrent la plupart des projets isométriques, et ils diffèrent par les règles d'occupation et par le temps, pas par la projection. Un jeu de construction de ville repose sur des emprises multi-tuiles, un réseau routier qui doit se connecter et un mode construction qui prévisualise une emprise avant le placement. Le jeu tactique est au tour par tour, donc la recherche de chemin s'exécute pour de nombreuses unités à la fois et la mise en évidence de portée est dessinée directement sur la grille en losange. Le dungeon crawler utilise de petites cartes et des couloirs étroits, où le découpage des murs par colonne compte le plus parce que la caméra ne bouge jamais. L'action-RPG est en temps réel, donc la direction, les états d'attaque et le mélange d'animations comptent plus que l'élégance de la recherche de chemin.

Ce qui reste identique dans les quatre cas : le losange 2:1, la clé de tri, l'ancre aux pieds et la transformation inverse au clic. Changer de genre en cours de projet modifie les règles d'occupation et la boucle de mise à jour, pas le moteur de rendu.

GenreCe qui changeCe qui reste identique
Jeu de construction de villeEmprises multi-tuiles, connectivité routière, prévisualisation et rotation de constructionGrille en losange, clé de tri, transformation inverse du placement au clic
TactiqueFile de tours, superpositions de portée et de ligne de vue, aperçus de chemin par unitéGrille en losange, découpage par colonne, ancres aux pieds
Dungeon crawlerPetites cartes, colonnes de murs, brouillard et ligne de vueProjection 2:1, tri de profondeur, formules tuile-vers-écran
Action-RPGDirection en temps réel, états d'attaque, mélange d'animationsGrille, grille d'occupation, déplacement au clic comme solution de repli tactile
Ashenmere — la même logique de losange 2.5D à une échelle plus picturale.

Jouez-y maintenant — dans le navigateur

Chaque monde ici s'exécute dans le navigateur, sans installation ni export. Le graphe de scène est Three.js, le moteur de rendu est WebGL2 avec un repli WebGL1, et la carte se charge sous forme de géométrie de sol fusionnée plus des accessoires instanciés. Vous appuyez sur Play et vous marchez. Partagez le monde et quelqu'un d'autre y marche sur sa propre machine, au même lacet de 45 degrés.

Sur téléphone, le même parcours de clic passe par les pointer events, donc un appui équivaut à un clic. Les cibles tactiles sont des tuiles, ce qui signifie qu'un appui légèrement imprécis sur un accessoire d'une tuile aboutit quand même à la bonne tuile. Le zoom par pincement est désactivé par défaut sur les cartes de moins de 32 tuiles de large, car le losange 2:1 est déjà lisible à la largeur d'un téléphone. Si le taux de rafraîchissement chute, réduisez le nombre d'accessoires avant de réduire la taille de la carte ; l'instanciation aide plus que la suppression de terrain.

Mini World

Mini World est le cas de la petite carte : une île en losange compacte, une poignée d'accessoires, un personnage, le déplacement au clic sur l'ensemble. C'est le moyen le plus rapide d'observer le comportement de la fusion du sol et du tri par tuile, parce que vous voyez toute la carte d'un coup et qu'une mauvaise clé de tri n'a nulle part où se cacher.

The Cyclops' Island

The Cyclops' Island est le cas où l'occlusion compte vraiment : accessoires hauts, colonnes de murs et un personnage qui marche derrière eux. Observez l'angle d'un bâtiment quand le personnage le dépasse. La bande devant est dessinée par-dessus le personnage, la bande derrière est dessinée en dessous, et à aucun moment le personnage ne traverse le mur.

Agent Sprite Forge

Agent Sprite Forge produit des planches de personnage dessinées pour l'angle isométrique, avec le pivot déjà au centre inférieur et la hauteur des images alignée sur la hauteur de vos tuiles. Gardez la caméra au lacet par défaut et une seule planche suffit. Activez la rotation de la caméra et il vous faut une planche par pas de lacet, parce qu'un sprite dessiné pour 45 degrés se lit mal à 90.

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 mettez-la dans un monde où quelqu'un peut se promener — une petite île, une planète, un coin de rue pluvieux. Chaque monde de ce site a été créé à partir d'une seule description écrite et publié sous forme de page jouable.

FAQ

Dois-je écrire du code pour créer un jeu isométrique ici ? +

Non. Vous décrivez le monde, repeignez les tuiles, placez des accessoires et un personnage, puis appuyez sur Play. Le scripting n'entre en jeu que pour des règles personnalisées, comme un pont qui s'effondre quand on actionne un levier.

Comment le tri de profondeur est-il géré lorsque deux objets partagent une ligne ? +

La clé primaire est tileX + tileY, avec un départage stable pour que des clés égales ne s'échangent jamais d'une image à l'autre. Les accessoires plus grands qu'une tuile sont découpés en bandes par colonne, de sorte qu'un personnage peut passer devant une colonne et derrière la suivante.

Dois-je utiliser des personnages en sprites ou des maillages 3D ? +

Les deux s'affichent, mais ils se comportent différemment. Les sprites sont économiques, conservent l'aspect 2:1 et sont verrouillés sur l'angle de lacet pour lequel ils ont été dessinés. Les maillages 3D tournent librement avec la caméra et coûtent plus cher par personnage à cause du skinning et de l'éclairage.

La caméra peut-elle tourner ? +

Oui, par pas de lacet fixes de 45 degrés par défaut. La rotation libre fonctionne avec des accessoires 3D mais casse les personnages en sprites, qui ont besoin d'une planche par pas de lacet. La clé de tri est recalculée pour le nouveau lacet.

Fonctionne-t-il sur mobile ? +

Oui. Les appuis sont résolus comme des clics, la recherche de chemin et le tri suivent le même chemin de code, et le canevas s'adapte à la fenêtre. Gardez un nombre modéré d'accessoires sur les téléphones plus anciens, et réduisez les accessoires avant de réduire la taille de la carte.

Puis-je exporter le monde vers un autre moteur ? +

Il n'y a pas d'étape d'export. Le monde s'exécute dans le navigateur et se partage via un lien. Le reconstruire ailleurs signifie recréer la carte de tuiles et réexporter les planches de sprites.

Quelle taille de tuile dois-je utiliser ? +

64 par 32 pixels est la valeur par défaut et se lit bien sur ordinateur comme sur téléphone. Passez à 32 par 16 pour les grandes cartes de stratégie où vous voulez plus de tuiles à l'écran, ou à 128 par 64 pour un dungeon crawler avec des accessoires détaillés. Quel que soit votre choix, le calcul du clic utilise tileW/2 et tileH/2, donc modifiez-le à un seul endroit.

Retour au 3D Game Builder

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

Plateforme : Neta StudioPage : Créateur de jeu isométrique par IAÀ lire ensuite : /use-cases/en/isometric-pixel-art · /explore/tool/voxel-circle-generator · /explore/tool/tile-map-editor
×