Jeux de tuiles. Préparation des tuiles pour une couche de carte personnalisée


Une tuile est en fait un morceau d’image. Tileset - un ensemble de tuiles. On utilise généralement des carreaux carrés. Les tuiles sont utilisées pour créer un espace de jeu dans les stratégies et les RPG. Exemples : C&C, WarCraft, Fallout. Le type d’une tuile signifie qu’elle appartient à une famille. Par exemple, l'herbe et la terre sont des types de tuiles. Une transition fait référence à la transition littérale d'une tuile à une autre lors de la texturation de la géométrie. Un carreau avec une transition est un carreau qui n'est pas solide.

J'ai contacté Blizzard et je voulais qu'ils me laissent utiliser quelques-uns de leurs jeux de tuiles. Mais ils m'ont dit qu'il serait très difficile d'obtenir l'autorisation, puisque la personne qui a peint les textures ne fait pas partie de leur personnel et que les droits sur celles-ci restent la propriété de cette personne. J'ai donc décidé de dessiner mes propres jeux de tuiles. Pour faciliter la lisibilité, je les ai créés similaires aux ensembles de tuiles Blizzard de WarCraft III. Les voici donc :

La tâche consiste à utiliser des jeux de tuiles, c'est-à-dire superposition sur la géométrie de la même manière ou presque de la même manière que le fait l'éditeur mondial de Warcraft III. Donc, nous avons d’abord la géométrie, remplie de quelque chose comme une tuile à couche zéro :


schéma 0

Et puis nous cliquons sur la souris et le programme doit placer les tuiles correspondantes du jeu de tuiles en carrés. L'éditeur de monde original utilise 4 carrés, dans chacun d'eux il sélectionne des tuiles parmi des jeux de tuiles. Il peut y avoir plusieurs jeux de tuiles. Je ne pense pas qu’il y ait une organisation évidente par couches, mais qui sait. Cependant, je suppose moi-même qu'il n'y a pas de couches en tant que telles, mais que les coins des carrés avec des tuiles sont analysés. Il est possible que même le numéro de transition des tuiles ne soit pas stocké dans la carte pour le traitement. Ceux. Chaque carré se voit attribuer un certain type de tuile et c'est tout. À certains endroits, cette tuile est solide, c'est-à-dire sans transitions, dans d'autres - avec transitions. Les transitions, comme je le pense moi-même, sont configurées en fonction du contenu des « carrés voisins ».

Supposons qu'en cliquant avec la souris, nous souhaitions placer un « cercle » composé de quatre tuiles sur la carte. Par exemple:


schéma 1

Mais un cercle n'est obtenu que lorsqu'il y a des tuiles du même type en dessous et sans transitions. Si nous arrivons à la frontière de certaines transitions, nous devons alors analyser la situation. Vous pouvez l'analyser de différentes manières. En conséquence nous obtenons différents mécanismes carrelage. Cependant, les résultats devraient être les mêmes. Vous pouvez analyser directement ce qui était auparavant contenu dans ces quatre carrés dans lesquels tombait le clic de souris. Ou vous pouvez vérifier les places voisines. Cependant, il y a deux fois plus de cases adjacentes. En même temps, il sera difficile d'analyser seulement 4 carrés, car Il est conseillé d'éviter une structure en couches.

Voici donc comment le graphique 1 est interprété comme une carte de nombres :


schéma 2

Mettre quatre uns dans un tas de zéros n’est pas difficile. Le principal problème est de savoir comment choisir la bonne tuile, c'est-à-dire avec la bonne transition. Il ne faut pas oublier que jusqu'à quatre textures peuvent converger sur un même carré. Un carré a quatre côtés, chacun peut donc avoir sa propre tuile. Revenons un peu sur la façon dont nous avons appliqué le cercle d'herbe. Oui, dans l'éditeur d'origine, un cercle apparaît également si l'on pointe la souris sur terrain vide. Je suggère de choisir des carrés pleins comme forme de carrelage préférée. Autrement dit, à chaque clic de souris sur la carte carrée, le programme doit s'efforcer de placer 4 tuiles solides à l'emplacement du clic. Cependant, 4 tuiles pleines ne seront appropriées que si leur type correspond aux tuiles déjà présentes sur la carte, et elles ne doivent pas être transitionnelles. Sinon, si nous superposons aveuglément 4 tuiles pleines, nous obtiendrons un carré pointu. UN coins pointus généralement évité. En bref, nous supposons seulement que quatre tuiles pleines seront superposées. Mais avant de les appliquer, il faut analyser les carrés voisins et, si nécessaire, remplacer les carreaux pleins par des carreaux de transition.

Voyons comment est réalisé le cercle du schéma 1. Je propose d'examiner le processus du schéma 1 plus en détail :

1. La souris clique sur une case encore vide un schéma 0. Ainsi, 4 carrés sont sélectionnés (a B c d) pour traitement.

2. Sans regarder la carte des types de tuiles, nous notons quatre unités (Schéma 2).

3. Nous commençons à analyser ce qui s'est passé dans le diagramme 2. Nous devons analyser 4 angles (marqués par des chiffres dans le diagramme 3). Ainsi, la transition d'une tuile dans le carré a sera déterminée par l'angle 1, au carré b- angle 2 , au carré c- angle 3 , au carré d- angle 4 .


schéma 3

Nous devons maintenant analyser ces quatre coins séparément, simplifiant ainsi la tâche.

Regardons le premier virage.


schéma 3.1

Notre tâche est de placer la tuile souhaitée dans le carré un. Nous faisons l’hypothèse que le carré un sera une tuile solide. Par exemple ceci :

Regardons le diagramme 3.1. On voit là que la tuile herbe superposée, codée avec un un, est affectée par d'autres tuiles voisines, codées avec des zéros. Le zéro jaune, par son action, transforme une tuile pleine en une tuile de transition de ce type :

Le zéro vert n’a rien à apporter à l’image existante, et le zéro rouge se transforme davantage comme ceci :

Et puis le bleu complète le tableau, parce que... le gris ne fait aucune différence :

C'est cette tuile de transition résultante que l'on place dans le carré un. De plus, peu importe dans quel ordre nous considérons les actions des tuiles voisines. Un raisonnement similaire peut être effectué pour les carrés restants b,c,d. Le résultat devrait être une image comme dans le diagramme 1.

Le schéma 1 a été traité avec succès. J'ai parlé des « actions des zéros » uniquement pour mieux comprendre. Lors de la mise en œuvre, il n'est pas nécessaire d'écrire des fonctions identifiées avec ces actions, il suffit de collecter uniquement le masque de bits de la tuile. Le masque de bits est utilisé pour sélectionner une tuile de manière totalement sans ambiguïté. Masque de bits dans dans ce cas C'est pratique de faire du 2x2, parce que il est facile de voir que quatre bits ensemble donnent 16 différentes significations, et dans les jeux de tuiles préparés, il n'y a que 16 variantes de transitions.

Notez également que seules les tuiles voisines qui sont d'un type différent des tuiles superposées peuvent « entreprendre des actions ». Vous avez probablement aussi pensé que les jeux de tuiles n'ont pas 16, mais 15 variantes de transition. C'est correct, car un masque complètement nul n'a aucun sens dans le contexte de la texture de carrelage appliquée. Cependant, cela a du sens en matière de texturation lors de la sélection des coordonnées de texture pour plusieurs transitions dans un même carré. Vous ne pouvez pas vous charger de ce sens, mais réalisez-le tel que Dieu le met dans votre âme.

Qu'est-ce qu'une tuile
Vous avez probablement une idée de ce qu’est une tuile, mais regardons-la de plus près. La tuile ressemble à une image de taille fixe. De plus, il est dessiné de telle manière que, par rapport à d'autres carreaux, une seule image sans « coutures » visibles est obtenue. La façon la plus simple de considérer les carreaux est de les considérer comme des carreaux utilisés pour recouvrir les murs ou les sols. La tuile la plus simple est une image carrée, symétrique verticalement et horizontalement (vous pouvez la voir sur l'illustration). Si vous assemblez ces images, vous obtiendrez une grande toile de gazon. Et si vous ajoutez un autre type de tuile à cette image pittoresque pour plus de variété, par exemple, représentant une route, vous pouvez déjà créer une carte primitive.
Calculons maintenant les coûts qui nous seront nécessaires pour créer une carte de 512x512 cellules. Supposons que la vignette elle-même mesure 32x32 pixels, elle occupera alors 1024 octets en mémoire - 1 kilo-octet. Après calculs, il s'avère que la carte la plus simple occupe environ 262 kilo-octets de mémoire, plus la mémoire pour stocker les images des tuiles elles-mêmes. Mais si l'on dessinait manuellement une zone de même taille, il faudrait mettre 268 mégaoctets (!) sur l'autel du progrès technique. Et ce malgré le fait que j'ai pris le mode 256 couleurs par souci de simplicité. Il est clair que même aujourd'hui, tous les ordinateurs ne disposent pas d'une telle quantité de mémoire, de sorte que la structure en tuiles des cartes est utilisée dans la grande majorité des jeux en deux dimensions et dans un nombre suffisant de jeux en trois dimensions.
Les carreaux rectangulaires et carrés conviennent parfaitement pour représenter une vue à vol d'oiseau, mais il existe un autre type de projection appelé isométrie. On l'utilise lorsqu'il faut donner une sensation de volume, de profondeur, faire pseudo-3D. C'est pourquoi les systèmes isométriques sont parfois appelés 2,5D. Quel est l’intérêt ici ? Maintenant, la tuile apparaîtra tournée selon un angle vers le spectateur et comme si elle allait plus profondément (regardez l'illustration). Une image intrinsèquement bidimensionnelle prend une troisième dimension. Dans ce cas, les dimensions du carré (tuile) sont déterminées comme suit :
1. Longueur - du point le plus à gauche au point le plus à droite de l'image.
2. Largeur - du point « le plus éloigné » au point « le plus proche » du spectateur.
3. Hauteur - "l'épaisseur" du carreau.
Pour créer un effet de volume, la largeur doit être environ la moitié de la longueur. En expérimentant cette relation, vous semblez faire tourner la « tuile » dans un espace tridimensionnel, en choisissant la projection souhaitée. À ces fins, il est utile d'utiliser une sorte d'analogue de studio 3D. Créez-y une tuile, choisissez sa position, puis mesurez les côtés et les rapports résultants.
Mais comment puis-je dessiner maintenant ?
une telle tuile sur l'écran ? Après tout, les fonctions de dessin classiques sont habituées à se voir attribuer une zone rectangulaire à afficher, ce qu'elles font très bien. Ce problème est résolu à l'aide de masques. Dans l'illustration, vous verrez que les contours du carreau tombent dans la zone blanche et que ce qui reste à l'extérieur est peint en noir et forme un rectangle. Il en résulte le principe d'un pochoir : l'image est superposée au masque et à la « toile », et seuls les points qui rentrent dans la zone sont superposés. couleur blanche. Même standard Les fonctions de dessin de Windows sont formées pour faire ce genre de chose, sans parler des fonctions DirectX. Parallèlement, l'utilisation de masques permet de créer d'autres effets. Par exemple, vous pouvez dessiner uniquement la tête de la tuile, en ignorant sa hauteur. Ou créez différentes sections d’herbe en utilisant une seule image. Si nous créons un masque entièrement composé de trous et l'utilisons pour afficher une tuile d'herbe à la place d'une tuile existante d'un type différent, nous obtiendrons une transition en douceur d'une surface à l'autre. Une technique similaire peut être utilisée dans de nombreux cas, et des masques « troués » peuvent être générés de manière aléatoire. Personne ne devinera alors que votre paysage n’est pas pré-rendu. Le résultat est une sorte de multitexturation : lorsque deux images mutuellement transparentes se superposent sur une même zone. Certes, cela prend beaucoup de temps informatique.
Dans le très cas simple la hauteur du carreau est nulle et n'est pas calculée. Cependant, si nous utilisons uniquement de telles « briques », nous parviendrons alors à créer le meilleur cas de scenario agréable clairière. En utilisant différentes hauteurs, nous obtiendrons un paysage plus réaliste, avec des murs et des collines. Bien entendu, afficher de tels « éléments de base » sur l’écran sera plus difficile. Nous devrions maintenant nous familiariser avec le concept de ligne de base d'une tuile.
Référence- c'est l'endroit où le carreau entre en contact avec le « sol ». Ils sont mis en valeur sur la photo rose. La ligne de base peut être située n'importe où sur la ligne verticale, car la même image peut être utilisée pour des murs de tailles différentes. Ensuite, les lignes de base sont affichées sur la carte de placement des tuiles et les tuiles elles-mêmes commencent à être dessinées à partir d'une position plus élevée.

2DFX

Nous avons déjà examiné quels effets peuvent être créés en utilisant plusieurs couches de tuiles. Dans les vrais jeux
la carte entière est à plusieurs niveaux, comme le proverbial gâteau : première couche- c'est de la terre, des pierres, de la boue, de l'eau et autres ; deuxième couche- toute périphérie telle que arbres, rochers, tables et chaises ; troisième couche- des objets : des personnages, des monstres, des clés et des potions magiques.
Vous pouvez ajouter plus de calques pour les effets ci-dessus, mais généralement quatre à cinq sont utilisés pour de meilleures performances. Par exemple, une quatrième couche dans notre schéma peut être ajoutée pour créer des objets qui seront au-dessus du niveau de la tête des personnages, par exemple les toits des maisons. Vous avez tous déjà rencontré cet effet : lorsque le héros s'approche d'un bâtiment, son toit disparaît soudainement et vous pouvez voir l'intérieur du bâtiment. Ainsi, il est très simple de forcer le moteur de tuiles à arrêter de dessiner la quatrième couche afin que l'utilisateur puisse voir tout ce qui est caché en dessous.
Les moteurs de tuiles, qui basent leurs graphismes sur le principe des palettes, utilisent activement l'effet de rotation des couleurs. Laissez un certain gamma bleu être utilisé pour restituer l'eau. Ensuite, en modifiant ce gamma ou, à l'inverse, en réorganisant les indices dans la tuile, vous pouvez obtenir l'effet de l'eau qui coule. La même astuce s'applique aux autres surfaces. Disons que dans une grotte il y a des tuiles représentant un rocher,
peut être rendu plus sombre. Et si vous remettez une torche entre les mains d’un personnage et, en fonction de sa position, éclairez les environs, l’effet sera très bel. Je ne parle même pas du changement dynamique du jour et de la nuit. La gestion des palettes est très intérêt Demander, en plus très bien conçu et étudié pendant la période de 256 floraisons totales, lorsque personne ne pouvait se passer de palettes. Même aujourd'hui, lorsque les couleurs inférieures à 16 bits sont considérées comme indécentes, des formats propres basés sur les mêmes palettes sont utilisés pour stocker les sprites.
Au fait, qui a dit qu’il fallait utiliser des procédures DirectDraw éculées pour afficher des tuiles ? Bien entendu, au cours d’une longue période d’existence, des algorithmes ont été développés pour de nombreux effets : l’éclairage dynamique, et même les systèmes de particules. Mais ils travaillent tous très lentement. Mais nous ne sommes pas en 1996, et Voodoo Graphics est rare uniquement parce que tout le monde l'a déjà jeté. Il serait donc très tentant d’exploiter les capacités d’un accélérateur 3D pour répondre aux besoins quotidiens.
Les bibliothèques 3D peuvent aider à la sortie de polygones texturés (les mêmes tuiles) - le point le plus lent des procédures 2D. Dans ce cas, le filtrage (c'est-à-dire le flou artistique des textures) va de soi. De plus, tous les effets disponibles uniquement dans les jeux 3D deviennent disponibles : lumière, transparence, ombres, transitions de lumière, etc. Ce sujet est suffisamment intéressant pour s’y exercer. C’est peut-être l’avenir des jeux basés sur des tuiles.

Création de cartes
Toute carte est un tableau qui spécifie l'emplacement des tuiles sur leurs calques, ainsi que leurs paramètres. Le plus carte simple est une matrice MxN, où chaque élément contient le numéro d'une tuile d'une séquence acceptée sous condition. Si vous avez déjà utilisé un éditeur de stratégie 2D ou de cartes RPG (ou travaillé dans Photoshop), vous comprendrez facilement. Quand de nouvelles couches sont ajoutées, la matrice devient plus complexe, le résultat est un ensemble (structure) de matrices et avec l'introduction de tout effet, vous obtenez votre propre format de carte, qui occupe plus d'un mégaoctet sur le disque.
Il n’est pas nécessaire de donner aux tuiles des numéros séquentiels. Au contraire, il serait bien de commencer par diviser l’ensemble de votre série de nombres en plusieurs intervalles. Par exemple, la plage de 0 à 63 comprend les tuiles ordinaires sur lesquelles on peut marcher (sol, dalles). De 63 à 127 - fourrés de jungle impénétrables, murs et autres objets solides. L'intervalle suivant concerne les eaux des lacs et des marécages, et enfin, des groupes spéciaux qui effectuent toutes les actions lorsque le héros « marche » dessus : portails, pièges, etc. Désormais, à mesure que Photoshop produit des graphiques, vous attribuez des numéros aux nouveaux arrivants en fonction de règles acceptées et, à l'avenir, vous serez libéré de nombreux problèmes liés à la détermination du caractère praticable d'une zone ou à la réaction lorsqu'un héros entre dans le portail.
Lorsque vous dessinez une carte, vous pouvez avoir au début des problèmes pour dessiner des tuiles isométriques, car elles sont tellement « courbées » qu'il n'est pas clair où en dessiner une et continuer la seconde. Des difficultés peuvent survenir lors de la programmation d'un défilement fluide ou du recadrage de sections de carte par l'écran. À propos, il est préférable de définir des tailles de tuiles dans une puissance de deux (16x16 ou 32x32), cela vous aide grandement, ainsi que le processeur, lors des calculs.

Il en va de même pour la taille de la carte. Il doit être aussi carré que possible et ses dimensions doivent être divisées en fonction de la taille des « briques » qui le composent. De cette façon, lorsque vous effectuez des calculs, vous n'aurez jamais de valeurs fractionnaires avec lesquelles il est impossible de travailler. Par conséquent, la plupart des cartes ont des dimensions telles que 128x128 ou 512x512.
À propos, le déplacement de personnages sur une carte isométrique se produit également pour une raison. Après tout, notre carte pivote « en profondeur » et sa taille verticale absolue est deux fois plus petite qu'horizontale. Par conséquent, tout objet qui marche doit se déplacer « vers le haut » en conséquence. D'une manière générale, des formules doivent être appliquées ici, mais dans le cas le plus simple, pour deux pas de côté, il y a un pas en profondeur. Si vous êtes intéressé par des calculs précis, ils seront faciles à trouver sur Internet ; dans les cas extrêmes, demandez conseil. Il en va de même pour tout mouvement en isométrie qui s'effectue même dans une quête complètement plate.
Heureusement, toutes ces questions ont depuis longtemps cessé d'être classées parmi les technologies peu étudiées, et il existe de nombreux manuels sur la programmation de moteurs 2D isométriques sur Internet. Je vous conseille de regarder la rubrique articles de sites comme www.gamedev.net Et www.flipcode.com , ou simplement alimenter un moteur de recherche de type Yahoo adapté mots clés.

IsométriX

Eh bien, pour ceux qui aiment « bricoler des programmes », nous avons spécialement mis sur la compacte un moteur nommé IsométriX. Il cumule tout ce qui a été dit ci-dessus. Contrairement à la plupart des moteurs 3D et des game designers qui ont été testés dans le passé « Samopale », ce moteur n'a pas vocation à être la base de votre jeu. Il est principalement destiné à vous montrer en pratique comment toutes sortes de questions théoriques sont résolues. Le moteur est entièrement écrit en Visuel C++, possède du code source et son propre éditeur de niveau. Si tu
Si la programmation ne vous intéresse pas, vous pouvez toujours vous promener dans le niveau test sans rien compiler.
En termes de fonctionnalités, IsometriX peut paraître plus que modeste : 640x480 en couleur 8 bits n'est bien sûr pas le cas. Mais comme je l'ai dit, il s'agit plutôt d'un exemple à partir duquel vous pouvez apprendre à travailler avec des cartes, à déplacer des personnages, à vérifier les collisions et bien plus encore. De plus, tout fonctionne bien sous Windows 9x/2000 et fonctionnera très probablement sous XP.

En guise de mot d'adieu


Quoi qu'on en dise, en deux dimensions
Les moteurs de tuiles sont encore les plus vivants aujourd'hui. Aucun jeu 3D ne peut encore se comparer aux jeux 2D classiques en termes de détails et de beauté du dessin. Prenez Fallout Tactics par exemple - ce jeu utilise peut-être les réalisations les plus progressives dans le domaine de la 2D. Et personne n’oserait qualifier les graphismes de ce jeu de médiocres.
De plus, les tuiles sont idéales pour créer des mondes immenses. Grâce à la segmentation, lorsque la carte est divisée en plusieurs morceaux, chacun étant chargé dynamiquement, vous pouvez créer des cartes de tailles tout simplement fantastiques. Et ceci est activement utilisé dans les jeux RPG. C'est une autre raison pour laquelle les développeurs ne sont pas pressés de se lancer dans le monde des accélérateurs et du multitexturing.
Et enfin, les graphiques de tuiles sont beaucoup plus faciles à apprendre que n'importe quel moteur 3D (même si cela peut être mon opinion subjective). Et apprendre DirectDraw à utiliser des sprites est incomparablement plus simple et plus clair que Direct3D et même OpenGL. N’essayez donc pas de vous précipiter directement en première ligne. Peut-être devriez-vous également vous pencher sur le bon vieux monde de la 2D. Eh bien, peut-être un peu de 2,5D...
16 août 2017 à 12h31

Méthode binaire affichage des cartes de tuiles

  • Développement de jeu
  • Traduction

Une technique pour sélectionner automatiquement la tuile souhaitée à partir d'une carte de tuiles.

Au début, cet article était une réponse, mais j'ai pensé qu'il valait la peine de le développer un peu et de le publier séparément.

Défi : Nous avons généré un magnifique niveau de plateforme et souhaitons pouvoir y placer automatiquement des tuiles, en tenant compte de leurs voisins, afin qu'elles aient l'air correctes.

Des tuiles qui tiennent compte de leurs voisins

Tuiles dans Super mario ne tenez pas compte de leurs voisins : un bloc de pierre a toujours la même apparence, à la fois comme fragment séparé et comme partie d'un mur.

Cela convient à de nombreux jeux, mais peut sembler peu naturel lors de la création d'un design plus harmonieux. Les tuiles qui prennent en compte leurs voisines résolvent ce problème en faisant correspondre leurs apparence avec les tuiles voisines.

Carte à un seul bit

Imaginons qu'en utilisant des techniques astucieuses, nous ayons créé le tracé d'un niveau de plate-forme composé uniquement de blocs de pierre et d'« air » entre eux. Un niveau peut être considéré comme une image d'un bit dans laquelle l'état de chaque pixel est déterminé par un seul bit (1 - bloc de pierre, 0 - « air »). Voici un exemple agrandi d'une partie d'un tel niveau avec des lignes de quadrillage ajoutées :

Ensemble de tuiles (tileset)

Un jeu de tuiles est une collection d’images graphiques pouvant être utilisées pour remplir une carte. Le jeu de tuiles Mario est assez limité, composé de plusieurs types de blocs et de « décorations », mais notre jeu contiendra de nombreuses images pour chaque type de tuile :

Nous évaluons les voisins

Pour déterminer quelle tuile doit se trouver à un point particulier de la carte, nous devons examiner les voisins immédiats de ce point (nous ignorons les voisins diagonaux pour l'instant). Pour éviter d'écrire de grandes constructions if/else-if pour gérer toutes les combinaisons de voisins possibles, nous utilisons un système qui attribue des valeurs dans chaque direction.

La valeur de chaque point est trouvée en examinant ses voisins et en additionnant les valeurs de ceux qui contiennent une pierre. Par exemple, si le voisin au-dessus du point étudié est également rempli de pierre, alors la valeur 1 lui est attribuée. Si les voisins du dessus et du dessous sont remplis de pierre, alors le point reçoit la valeur 1 + 4, c'est-à-dire 5.

Vous remarquerez que les valeurs de direction attribuées sont les mêmes que les valeurs des positions en nombres binaires, et cela n'est pas surprenant : les deux types de valeurs sont des manières de représenter des combinaisons possibles de quatre positions, dont chacune peut être dans un état « on » ou « off » (pierre ou « air »).

Voici un segment de carte avec les valeurs de toutes les tuiles renseignées. Vous pouvez essayer de calculer manuellement la valeur de quelques tuiles pour avoir une idée de son fonctionnement.

Ajout de tuiles

La façon dont le jeu de tuiles est disposé dans l'image n'est pas accidentelle : il est disposé de telle manière que chaque tuile correspond à une tuile de carte à laquelle une valeur doit être attribuée. Après avoir attribué des valeurs à tous les points de la carte, nous recherchons simplement la valeur dans le jeu de tuiles et plaçons la tuile appropriée à ce point :

Super!

Allons-nous en

Première partie : se débarrasser de « l’air »

L'exemple ci-dessus fonctionne bien pour les plates-formes flottantes, mais ne gère pas vraiment complètement les deux types de tuiles.

Imaginons qu'au lieu d'un jeu de plateforme, nous travaillions sur un jeu de stratégie descendant en 2D, dans lequel il y a deux types de tuiles : l'herbe et l'eau. Dans ce cas, une image de tuile sera présente à chaque point de la carte, il n'y aura pas d'espaces vides, comme dans un jeu de plateforme. Cela signifie que pour déterminer une tuile appropriée, chaque point de la carte doit avoir une valeur générée en fonction de ses voisins.

Nous pouvons utiliser exactement le même système d'évaluation des voisins qu'auparavant, mais nous aurons besoin d'un moyen de déterminer, lors de l'examen d'un point, s'il contient de l'herbe ou de l'eau. C'est très simple à mettre en œuvre - il vous suffit d'ajouter une valeur supplémentaire au point lui-même, en utilisant le même modèle « 2 à la puissance n » à partir d'autres valeurs :

Décidons que s'il y a de l'eau, nous ajouterons un point à la valeur, mais s'il y a de l'herbe, nous ne le ferons pas. Autrement dit, une tuile d'herbe entourée de tous côtés par de l'herbe aura une valeur de 0. Une tuile d'herbe avec de l'eau en haut et à droite aura une valeur de 1 + 8 = 9. Une tuile d'eau entourée de tous côtés par de l'herbe. aura une valeur de 16. Une tuile d'eau entourée de tous côtés avec de l'eau, a la valeur 1 + 2 + 4 + 8 + 16 = 31

Deuxième partie : ajouter de la variété

Comment assurer le traitement d’autres types de terrains ?

Disons que dans un jeu descendant, il existe trois types de terrain : l'eau, l'herbe et la forêt. Nous gérons déjà les limites de l'eau et de l'herbe, nous devons maintenant apprendre à gérer les limites de l'eau et de la forêt, ainsi que de l'herbe et de la forêt.

Auparavant, nous avions deux options de tuiles pour chaque position adjacente (herbe ou eau), nous avons donc utilisé binaire système de numérotation. Il y a maintenant trois options, nous devons donc utiliser ternaire système. Il est nécessaire de changer le système de notation des voisins pour se conformer au nouveau système de calcul :

DANS système binaire Le modèle « 2 à la puissance n » a été utilisé, mais dans le nouveau, nous utiliserons le modèle « 3 à la puissance n ».

Dans le système ternaire, chaque position a trois états possibles : herbe, eau, forêt, ou 0, 1, 2. Lorsque le point courant est herbe, on ignore la valeur (on la multiplie par 0). Lorsqu'il y a de l'eau en un point, on ajoute la valeur donnée (on la multiplie par 1). Dans le cas de la forêt, on ajoute le double de la valeur (on la multiplie par 2).

Autrement dit, dans le cas d'une tuile forêt en haut et à droite de laquelle il y a de l'eau, en bas il y a une forêt, et à gauche il y a de l'herbe : 81 * 3 + 1 * 2 + 3 * 1 + 9 * 3 + 27 * 0 = 275

Comme vous pouvez le constater, à ce stade, pour couvrir toutes les combinaisons de la carte avec trois types de terrain, 324 images de tuiles doivent déjà être dessinées. Si cela était fait manuellement, cela prendrait beaucoup de temps. Je recommande fortement d'étudier des moyens au moins partiellement automatisés pour créer une telle variété de combinaisons.

Bien entendu, de la même manière, le système peut être étendu à grande quantité types de terrain, mais le nombre d'images de tuiles augmentera considérablement. Par conséquent, je recommande d'imposer des restrictions sur les tuiles qui peuvent être adjacentes les unes aux autres. Par exemple, si les tuiles forêt et eau ne peuvent jamais se border, alors l’exemple ci-dessus nécessiterait plusieurs centaines d’images de tuiles en moins.

Ce qui s'est passé Donjon gothique ?

Gothic Dungeon est une série d'ensembles de tuiles en plastique, à l'aide desquelles vous pouvez assembler un champ tridimensionnel unique pour votre aventure de jeu !

Les tuiles de tous les sets sont réalisées dans le même style, à l'échelle de 28/25 mm ou 1:58, divisées en carrés de pouces et sont parfaites pour créer un terrain de jeu pour les jeux de rôle sur table (D&D, Pathfinder, Adventurer's Diary /Savage Worlds, etc.), wargames (Warhammer 40k, FB, Age of Sigmar ; Malifaux, etc.), Jeux de société(Descente : Voyages dans les Ténèbres, Dungeon Twister, Space Hulk, Wiz War, etc.)

Les ensembles Gothic Dungeon sont présentés en deux versions : les ensembles de base (4 types) et les ensembles complémentaires (15 types). Avec chacun des ensembles principaux, vous pouvez assembler un petit donjon à partir de plusieurs pièces, et à l'aide d'ensembles complémentaires, vous pouvez ajouter des torches, des tables et des chaises, des tonneaux, des coffres, des escaliers et bien plus encore à votre donjon.

Tous les ensembles sont parfaitement compatibles les uns avec les autres, vous pouvez donc facilement assembler un grand terrain de jeu de donjon à partir de plusieurs ensembles à la fois !

Gothic Dungeon est compatible avec d'autres produits similaires, tels que les donjons de Dwarven Forge, etc.

Des liens vers les ensembles de comparaison peuvent être trouvés ici : Dwarven Forge, Stones Master Builder Set, Super 3D Dungeon Boards, Infinite Crypt, Fantasy Dungeon terrain.

Veuillez noter que les matériaux tels que le carton, le MDF et le plâtre sont de courte durée et ne résistent pas aux chutes, aux montages/démontages et transports fréquents. C'est pourquoi nos sets sont en plastique !!!

Comment le donjon gothique a-t-il été créé ?

Pour créer les prototypes de jeux de carreaux, nous avons utilisé des éléments en plâtre (briques, carreaux, etc.) coulés dans des moules en plâtre Hirst Arts.

Après avoir conçu et créé tous les prototypes en plâtre, puis les avoir testés pour nous assurer qu'ils étaient compatibles les uns avec les autres et « ajustés », nous les avons assemblés dans des kits moulés en plastique.

Avons-nous une licence pour utiliser les créations Hirst Arts ? MANGER!

Qui sommes nous?

Notre société s'appelle "Pandora Box Studio". Nous avons été créés en 2011 et depuis lors, nous sommes le plus grand distributeur et vendeur d'accessoires de bureau et de bureau. jeux de rôle sur le territoire de la Russie et des pays de la CEI.

Comment notre campagne est-elle structurée sur CrowdRepublic ?

Nous proposons 4 ensembles principaux et 15 ensembles complémentaires.

Le premier ensemble principal est le Starter Set. 3 autres sets de base (ajouts au Starter Set).

Tous les sets + lève-tôt + tuiles supplémentaires pour tous les sets sont ouverts à la commande.

De plus, vous pouvez commander séparément la peinture et la livraison des kits (voir les conditions dans les rubriques concernées ci-dessous).

Le Starter Set est le premier ensemble de base de la série Gothic Dungeon, alliant simplicité et commodité.

Il y a un total de 34 éléments en plastique dans l'ensemble.

Superficie de jeu en pouces/centimètres carrés : 128/320.

Cet ensemble peut être utilisé pour assembler des pièces ainsi que des couloirs spacieux et droits de 3 pouces de largeur.

En utilisant plusieurs ensembles à la fois, vous pouvez assembler un grand terrain de jeu avec de nombreuses pièces et couloirs !

A partir de deux Starter Kits vous pouvez créer un grand nombre de pièces différentes de forme non standard ! Superficie de jeu en pouces/centimètres carrés : 256/640.En achetant DEUX kits de démarrage à la fois, vous économisez !!!

Trois ensembles à la fois rendront votre aventure de jeu plus diversifiée et passionnante ! Superficie de jeu en pouces/centimètres carrés : 384/960. En plus, En achetant TROIS kits de démarrage à la fois, vous bénéficiez de la meilleure réduction !!!

Utilisez cet ensemble pour ajouter 4 tuiles d'angle n°1 avec des meubles (tables, chaises, tiroirs) à votre donjon.

IMPORTANT!

Ajoutez à votre ensemble 4 dalles de sol supplémentaires n°1, sur lesquelles sont installées des torches. Après tout, le donjon a besoin d'être illuminé !

Surface de jeu en pouces/centimètres carrés : 16/40.

IMPORTANT! Les torches font partie des tuiles et ne peuvent pas être déplacées ou déplacées sur d’autres tuiles. Ils ne sont pas non plus livrés avec de véritables sources de lumière.

Un personnage fatigué pourra toujours prendre une collation ou discuter avec ses camarades s'il y a des tuiles avec des tables et des bancs dans votre donjon. Le nombre de tuiles dans l'ensemble est de 3 pièces.

Surface de jeu en pouces/centimètres carrés : 12/30.

IMPORTANT! Les bancs et les tables font partie de la tuile et ne peuvent pas être déplacés ou déplacés vers d'autres tuiles.

4 tuiles supplémentaires avec des bancs le long du mur, idéales pour se reposer les aventuriers qui déambulent dans votre donjon. Peut-être que quelqu'un pourra même faire une sieste dessus...

Surface de jeu en pouces/centimètres carrés : 16/40.

IMPORTANT! Les bancs font partie de la tuile et ne peuvent pas être déplacés ou déplacés vers d'autres tuiles.

Eh bien, si les aventuriers sont complètement épuisés, ils peuvent se reposer sur de merveilleux lits. Bien sûr, seulement si vous disposez d'un tel ensemble de 4 tuiles avec lits dans votre donjon.

Surface de jeu en pouces/centimètres carrés : 16/40.

IMPORTANT! Les lits et les oreillers font partie du carrelage et ne peuvent pas être déplacés ou déplacés sur d'autres carreaux.

4 petites portes supplémentaires n°1 et 4 portes vers celles-ci sont idéales pour les joueurs qui aiment avoir au moins deux sorties de chaque pièce...

Surface de jeu en pouces/centimètres carrés : 16/40.

IMPORTANT!

Eh bien, si vous avez besoin d'au moins 2 sorties de la pièce, et en plus, vous ne voulez pas les manquer dans l'obscurité d'un donjon gothique, alors vous avez certainement besoin de portes larges supplémentaires avec de grandes portes comme dans cet ensemble ! Il y en a 4 ici !

Surface de jeu en pouces/centimètres carrés : 16/40.

IMPORTANT! Les portes et leurs portes sont identiques à celles du kit de démarrage.

L'extension est le deuxième ensemble principal de la série Gothic Dungeon.

L'ensemble contient 50 éléments en plastique au total.

Surface de jeu en pouces/centimètres carrés : 112/280.

Avec cet ensemble, vous pouvez collectionner :

  • pièces (dont 2 et 1 pouce de large);
  • ajoutez des colonnes aux pièces et aux couloirs ;
  • créer des couloirs droits d'une largeur de 3, 2,5, 2, 1,5, 1, 0,5 pouces ;
  • faites des coins dont le bord est dirigé vers la pièce.

Les dalles du kit d'extension peuvent facilement être combinées avec les dalles du kit de démarrage.

ATTENTION!

Un ensemble de dalles de sol avec des objets ajoutera à votre donjon un coffre, des sacs, une boîte, des tonneaux et une boîte, dont vos héros pourront extraire et dans laquelle ils pourront stocker des choses nécessaires ou non.

IMPORTANT! Les objets font partie de la tuile et ne peuvent pas être déplacés ou déplacés vers d'autres tuiles.

Sur ces tuiles, vous trouverez de nouvelles boîtes, sacs, tonneaux et coffres, dans lesquels vos héros pourront se procurer et dans lesquels ils pourront contenir encore plus de choses nécessaires ou moins nécessaires !

Surface de jeu en pouces/centimètres carrés : 10/25.

IMPORTANT! Les objets font partie de la tuile et ne peuvent pas être déplacés ou déplacés vers d'autres tuiles.

Un ensemble de carreaux muraux aux bas-reliefs sombres. Rendra votre donjon encore plus sombre !

Surface de jeu en pouces/centimètres carrés : 10/25.

IMPORTANT! Laissez les bas-reliefs tranquilles ! Arrêtez de les arracher du mur ! Ils font partie des tuiles !

4 petites portes supplémentaires n°2 et 4 petites portes vers celles-ci. Attention, ces portes sont installées sur 2 dalles de sol, et non 4 ! Par conséquent, ils peuvent être placés non seulement dans les murs des pièces, mais également dans les murs des couloirs les plus étroits.

IMPORTANT!

Comme pour l'ensemble précédent, chaque carreau a une base étroite de 2 carreaux de 1 pouce, permettant à ces carreaux d'être utilisés dans des couloirs étroits. Chaque tuile est livrée avec 1 grande porte.

Surface de jeu en pouces/centimètres carrés : 8/20.

IMPORTANT! Les portes et les portes d'accès sont identiques à celles trouvées dans l'ensemble supplémentaire.

Un autre ensemble de base composé de carreaux permettant de créer des couloirs étroits de 1 pouce de large.

Il y a un total de 20 éléments en plastique dans l'ensemble.

Superficie de jeu en pouces/centimètres carrés : 77/192,5.

Cet ensemble vous permet de diversifier votre donjon avec de magnifiques couloirs sinueux avec des virages serrés, des intersections et des impasses.

ATTENTION! La couleur des sets dans la vidéo est à titre de démonstration pour une meilleure compréhension des possibilités de combinaison avec d'autres sets.

L’ensemble de murs inclinés est le dernier des ensembles de base.

Il y a un total de 24 éléments en plastique dans l'ensemble.

Surface de jeu en pouces/centimètres carrés : 50/125.

Avec cet ensemble, vous pouvez collectionner :

  • les pièces aux angles inclinés ;
  • les pièces s'incurvaient vers l'intérieur ;
  • petites pièces dans des pièces plus grandes;
  • faire des portes dans les coins des pièces;
  • créer des couloirs obliques ;
  • faire des murs avec des colonnes.

ATTENTION! La couleur des sets dans la vidéo est à titre de démonstration pour une meilleure compréhension des possibilités de combinaison avec d'autres sets.

IMPORTANT! Les portes et les portes d'accès sont identiques à celles de l'ensemble aux murs inclinés.

Si vous souhaitez que vos héros ou leurs ennemis apparaissent dans la pièce sous des angles différents. des lieux insolites- cet ensemble a été créé spécialement pour vous !!!

Surface de jeu en pouces/centimètres carrés : 14/35.

IMPORTANT! Les portes et les portes d'entrée sont identiques à celles trouvées dans l'ensemble aux murs inclinés.

Un ensemble d'escaliers, d'entrées et de sorties du donjon.

Surface de jeu en pouces/centimètres carrés : 32/80.

Avec cet ensemble, vous pourrez créer des escaliers larges et étroits, des cages d'escalier, placer des entrées et des sorties vers les étages supérieurs et inférieurs dans tout votre donjon, presque n'importe où !!!

Un ensemble de larges couloirs constitue l'ensemble principal qui s'ouvre lorsque le projet atteint le montant de 100 000 roubles.

Il y a 30 éléments au total dans l'ensemble.

Surface de jeu en pouces/centimètres carrés : 112/280.

L'ensemble se compose de tuiles qui permettent d'assembler des couloirs de 2 pouces de largeur. Cela aidera le joueur à diversifier le donjon avec de beaux couloirs sinueux avec des virages serrés, des intersections et des impasses.

Tous les ensembles La série Gothic Dungeon est faite de plastique gris foncé et À VENDRE NON PEINT.

Vous pouvez jouer avec des décors non peints sans aucun problème. Toutefois, si vous souhaitez que votre donjon soit superbe, vous pouvez le peindre vous-même ou nous commander une peinture.

Coût de la peinture UN RECRUTEMENT nous avons, à la fois l'ensemble principal et l'ensemble complémentaire, est 500 roubles.

Seuls les sets achetés lors de cette campagne peuvent être peints.

Pour commander des peintures de sets, sélectionnez la récompense « Peinture » autant de fois que le nombre de sets que vous avez commandés.

Si vous n'avez pas besoin de peindre tous les sets, veuillez sélectionner la récompense « Peinture » autant de fois que le nombre de sets que vous souhaitez peindre. Alors contactez-nous et dites-nous lesquels des kits que vous avez commandés doivent être peints.

ATTENTION! La peinture sera réalisée selon la méthode du pinceau sec. Les éléments de portes, pièces intérieures, etc. seront peints dans leurs couleurs correspondantes. La peinture est standardisée.

INFORMATIONS GÉNÉRALES

La livraison par courrier ordinaire est effectuée uniquement en Russie.

Le retrait est possible dans les magasins de Moscou ( Fédération Russe), à Minsk (République de Biélorussie) et à Alma-Ata (République du Kazakhstan). Si vous habitez dans un autre pays de la CEI ou du monde et souhaitez commander "Gothic Dungeon", veuillez nous contacter avant de passer une commande pour clarifier le coût, le mode de livraison et la possibilité de sa mise en œuvre.

CONDITIONS DE LIVRAISON

  • GRATUITEMENT! Retrait au magasin Tridevyatoye à

Une technique pour sélectionner automatiquement la tuile souhaitée à partir d'une carte de tuiles.

Au début, cet article était une réponse, mais j'ai pensé qu'il valait la peine de le développer un peu et de le publier séparément.

Défi : Nous avons généré un magnifique niveau de plateforme et souhaitons pouvoir y placer automatiquement des tuiles, en tenant compte de leurs voisins, afin qu'elles aient l'air correctes.

Des tuiles qui tiennent compte de leurs voisins

Les tuiles dans Super Mario ne tiennent pas compte de leurs voisines : un bloc de pierre a toujours la même apparence, qu'il soit séparé ou intégré à un mur.

Cela convient à de nombreux jeux, mais peut sembler peu naturel lors de la création d'un design plus harmonieux. Les tuiles qui connaissent leurs voisines résolvent ce problème en faisant correspondre leur apparence à celle des tuiles voisines.

Carte à un seul bit

Imaginons qu'en utilisant des techniques astucieuses, nous ayons créé le tracé d'un niveau de plate-forme composé uniquement de blocs de pierre et d'« air » entre eux. Un niveau peut être considéré comme une image d'un bit dans laquelle l'état de chaque pixel est déterminé par un seul bit (1 - bloc de pierre, 0 - « air »). Voici un exemple agrandi d'une partie d'un tel niveau avec des lignes de quadrillage ajoutées :

Ensemble de tuiles (tileset)

Un jeu de tuiles est une collection d’images graphiques pouvant être utilisées pour remplir une carte. Le jeu de tuiles Mario est assez limité, composé de plusieurs types de blocs et de « décorations », mais notre jeu contiendra de nombreuses images pour chaque type de tuile :

Nous évaluons les voisins

Pour déterminer quelle tuile doit se trouver à un point particulier de la carte, nous devons examiner les voisins immédiats de ce point (nous ignorons les voisins diagonaux pour l'instant). Pour éviter d'écrire de grandes constructions if/else-if pour gérer toutes les combinaisons de voisins possibles, nous utilisons un système qui attribue des valeurs dans chaque direction.

La valeur de chaque point est trouvée en examinant ses voisins et en additionnant les valeurs de ceux qui contiennent une pierre. Par exemple, si le voisin au-dessus du point étudié est également rempli de pierre, alors la valeur 1 lui est attribuée. Si les voisins du dessus et du dessous sont remplis de pierre, alors le point reçoit la valeur 1 + 4, c'est-à-dire 5.

Vous remarquerez que les valeurs de direction attribuées sont les mêmes que les valeurs des positions en nombres binaires, et cela n'est pas surprenant : les deux types de valeurs sont des manières de représenter des combinaisons possibles de quatre positions, dont chacune peut être dans un état « on » ou « off » (pierre ou « air »).

Voici un segment de carte avec les valeurs de toutes les tuiles renseignées. Vous pouvez essayer de calculer manuellement la valeur de quelques tuiles pour avoir une idée de son fonctionnement.

Ajout de tuiles

La façon dont le jeu de tuiles est disposé dans l'image n'est pas accidentelle : il est disposé de telle manière que chaque tuile correspond à une tuile de carte à laquelle une valeur doit être attribuée. Après avoir attribué des valeurs à tous les points de la carte, nous recherchons simplement la valeur dans le jeu de tuiles et plaçons la tuile appropriée à ce point :

Super!

Allons-nous en

Première partie : se débarrasser de « l’air »

L'exemple ci-dessus fonctionne bien pour les plates-formes flottantes, mais ne gère pas vraiment complètement les deux types de tuiles.

Imaginons qu'au lieu d'un jeu de plateforme, nous travaillions sur un jeu de stratégie descendant en 2D avec deux types de tuiles : l'herbe et l'eau. Dans ce cas, une image de tuile sera présente à chaque point de la carte, il n'y aura pas d'espaces vides, comme dans un jeu de plateforme. Cela signifie que pour déterminer une tuile appropriée, chaque point de la carte doit avoir une valeur générée en fonction de ses voisins.

Nous pouvons utiliser exactement le même système de notation des voisins qu'auparavant, mais nous aurons besoin d'un moyen de déterminer, lors de l'examen d'un point, s'il contient de l'herbe ou de l'eau. C'est très simple à mettre en œuvre - il vous suffit d'ajouter une valeur supplémentaire au point lui-même, en utilisant le même modèle « 2 à la puissance n » à partir d'autres valeurs :

Décidons que s'il y a de l'eau, nous ajouterons un point à la valeur, mais s'il y a de l'herbe, nous ne le ferons pas. Autrement dit, une tuile d'herbe entourée de tous côtés par de l'herbe aura une valeur de 0. Une tuile d'herbe avec de l'eau en haut et à droite aura une valeur de 1 + 8 = 9. Une tuile d'eau entourée de tous côtés par de l'herbe. aura une valeur de 16. Une tuile d'eau entourée de tous côtés avec de l'eau, a la valeur 1 + 2 + 4 + 8 + 16 = 31

Deuxième partie : ajouter de la variété

Comment assurer le traitement d’autres types de terrains ?

Disons que dans un jeu descendant, il existe trois types de terrain : l'eau, l'herbe et la forêt. Nous gérons déjà les limites de l'eau et de l'herbe, nous devons maintenant apprendre à gérer les limites de l'eau et de la forêt, ainsi que de l'herbe et de la forêt.

Auparavant, nous avions deux options de tuiles pour chaque position adjacente (herbe ou eau), nous avons donc utilisé binaire système de numérotation. Il y a maintenant trois options, nous devons donc utiliser ternaire système. Il est nécessaire de changer le système de notation des voisins pour se conformer au nouveau système de calcul :

Dans le système binaire, le modèle « 2 à la puissance n » a été utilisé, mais dans le nouveau système, nous utiliserons le modèle « 3 à la puissance n ».

Dans le système ternaire, chaque position a trois états possibles : herbe, eau, forêt, ou 0, 1, 2. Lorsque le point courant est herbe, on ignore la valeur (on la multiplie par 0). Lorsqu'il y a de l'eau en un point, on ajoute la valeur donnée (on la multiplie par 1). Dans le cas de la forêt, on ajoute le double de la valeur (on la multiplie par 2).

Autrement dit, dans le cas d'une tuile forêt en haut et à droite de laquelle il y a de l'eau, en bas il y a une forêt, et à gauche il y a de l'herbe : 81 * 3 + 1 * 2 + 3 * 1 + 9 * 3 + 27 * 0 = 275

Comme vous pouvez le constater, à ce stade, pour couvrir toutes les combinaisons de la carte avec trois types de terrain, 324 images de tuiles doivent déjà être dessinées. Si cela était fait manuellement, cela prendrait beaucoup de temps. Je recommande fortement d'étudier des moyens au moins partiellement automatisés pour créer une telle variété de combinaisons.

Bien entendu, le système peut être étendu de la même manière pour couvrir davantage de types de terrain, mais le nombre d’images de tuiles augmentera considérablement. Par conséquent, je recommande d'imposer des restrictions sur les tuiles qui peuvent être adjacentes les unes aux autres. Par exemple, si les tuiles forêt et eau ne peuvent jamais se border, alors l’exemple ci-dessus nécessiterait plusieurs centaines d’images de tuiles en moins.

Partager: