Wildermyth : comment créer une carte de défense contre les incursions

Un guide pour créer des cartes personnalisées de défense contre les incursions dans Wildermyth et un guide général pour l'utilisation de l'éditeur de site.

 

Introduction

En travaillant sur mon Pack de défense contre les incursions mod Je n'ai pas trouvé une tonne de ressources sur le fonctionnement de l'éditeur de cartes dans Wildermyth. La chaîne Youtube officielle a une vidéo (que je recommande de regarder), mais l'éditeur a beaucoup de bizarreries qui ne sont pas immédiatement claires pour les nouveaux utilisateurs. Étant donné que je fabriquais également spécifiquement des cartes de défense contre les incursions, j'avais besoin de savoir comment elles fonctionnaient par rapport aux cartes ordinaires. Ce didacticiel concerne spécifiquement les cartes Incursion Defense, mais il comprendra suffisamment de connaissances générales pour être utile à quiconque souhaite se familiariser avec l'éditeur de site.

Laboratoire de site

Pour commencer, ouvrons l'éditeur en accédant à Outils > Ouvrir l'éditeur dans le menu principal, puis en sélectionnant Site Lab dans le menu de l'éditeur. Avant d'aller plus loin dans l'éditeur de site, créons notre nouveau mod en sélectionnant Mods dans le coin supérieur droit, puis en cliquant sur Créer un nouveau mod.


Une fois que vous avez créé votre mod, il sera automatiquement sélectionné dans la liste des mods. Cliquez sur Confirmer pour quitter.

La disposition de base de l'éditeur de site comporte une fenêtre principale où vous visualisez la carte elle-même et le panneau de gauche où nous pouvons manipuler les composants de notre carte. En haut de ce panneau, nous avons une variété d'options d'éditeur, mais la seule qui nous intéresse est "Plan". Les plans sont les données spécifiques concernant la mise en page de votre carte et le placement des objets. Nous allons en créer un nouveau, alors cliquez sur Nouveau combat (CTRL+N).


Allez-y et entrez un ID mémorable pour votre combat. Tout le reste de cet écran peut être désactivé ou ignoré en toute sécurité. Comme vous le verrez plus tard, toute la logique des cartes Incursion Defense est déjà gérée pour nous.

Une fois que vous avez créé votre combat, recherchez-le dans le menu déroulant Plan et sélectionnez-le.

Enfin, décochez la case intitulée "Set Pieces". Cela supprimera les objets d'arrière-plan de l'environnement afin qu'ils n'obscurcissent pas notre vision de la carte.

Remarque : vous pourriez être tenté de sélectionner « incursionDefense » dans la liste déroulante Format. Changer le format changera la logique de jeu derrière notre carte dans l'éditeur. Dans le cas d'incursionDefense, la logique du jeu ne tient pas compte notre plan actuellement sélectionné et choisit à la place un plan aléatoire dans le pool incursionDefense, ce qui signifie que chaque fois que vous relancez l'éditeur, il charge une carte différente. Lors de l'édition, le format doit être laissé sur "assaut" afin que la logique du jeu n'interfère pas avec notre édition.

Plan de mission

Le plan de mission est une représentation de nos données cartographiques (si vous êtes techniquement enclin, il s'agit simplement d'un fichier JSON). Avant de plonger dans la construction de notre carte, nous avons quelques paramètres initiaux à prendre en compte. Pour l'instant, cliquez sur l'icône moins à côté de la section des détails pour la réduire. Nous allons nous concentrer sur tout ce qui se trouve entre "declaredRoles" et "extraInfo".


Si vous ne comprenez pas ces paramètres, ce n'est pas grave. Ce ne sont que des informations dont le jeu a besoin pour configurer correctement notre carte.

Tout d'abord, cliquez sur le bouton Nouvelle entrée à côté de declareRoles. Une seule option doit être définie ici, qui est "self".

Ensuite, cliquez sur le bouton Nouvelle entrée sous declareEncounterResults trois fois. Définissez les options sur :

0 : défaite
1 : victoire
2 : évasion

Voici les trois façons dont une mission de défense contre l'incursion se termine : soit les héros vainquent tous les ennemis, soit les ennemis vainquent tous les héros, soit les héros s'échappent de la carte sans tuer tous les ennemis.

Cliquez sur skipDefaultPlots et cochez la case sur True. Étant donné que la logique des cartes de défense contre les incursions existe déjà, nous ne voulons pas qu'une autre logique interfère avec elle.

Cliquez sur le bouton Nouveau à côté de extraInfo. Cela ajoutera une option nommée "incursionDefense". Définissez ceci sur true. Cette option est très importante ; il ajoute notre carte au pool de cartes de défense contre les incursions que le jeu sélectionne lorsque le joueur défend une ville contre une incursion.

Sous la liste des détails, nous pouvons ajouter les différentes fonctionnalités qui composent notre carte. Dans la section suivante, nous entrerons plus en détail sur chacun d'eux, mais pour commencer, il y a un détail que nous devons ajouter. Déplacez votre souris sur les détails, puis cliquez sur "Nouveau détail…" et ajoutez MapDetail_Plot. Au bas de la liste des détails, vous aurez maintenant une option intitulée Plot {}. Développez cette option et cliquez sur le champ plotId. Dans la liste qui apparaît, sélectionnez M_incursionDefense comme tracé. Cela contient toute la logique nécessaire pour les cartes de défense contre les incursions.

Remarque : Sachez que si votre mod est chargé lors d'une campagne et que vous n'avez pas fini de construire votre carte de défense contre les incursions, le jeu générera une erreur et vous ramènera au menu principal s'il tente de charger cette carte lors de la défense d'un ville. Assurez-vous de désactiver votre mod dans vos campagnes jusqu'à ce qu'il soit terminé et prêt à être utilisé !

Sols, Murs, Portes

Avec toute notre préparation à l'écart, il est temps pour les bonnes choses ! À l'heure actuelle, la fenêtre de votre éditeur ressemblera probablement à ceci :


La nouvelle carte contient quelques détails couramment utilisés, tels que les sols, les paysages aléatoires et les régions d'apparition. Pour l'instant, supprimons tout sauf le sol, les murs et le tracé que nous venons d'ajouter. Pour supprimer une entrée, déplacez simplement votre souris dessus et cliquez sur le bouton X. Nous les rajouterons plus tard.

Vous remarquerez que lorsque vous supprimez ces entrées, elles ne disparaissent pas de la carte. En effet, la carte n'est générée qu'une seule fois, lors du chargement. Afin de générer les dernières modifications, nous devons Relance, soit en cliquant sur le bouton Relancer dans le coin supérieur gauche de l'éditeur, soit en appuyant sur Ctrl+R.


Beaucoup mieux!

Etage

Développez le détail DrawFloor et cliquez sur floorTiles. La grille qui apparaît dans l'éditeur vous montre chaque dalle de sol dans la carte. Pour en ajouter d'autres, cliquez sur une vignette vide ou cliquez avec le bouton droit pour supprimer une vignette existante. Maintenir la touche Maj enfoncée vous permettra de cliquer et de faire glisser pour dessiner plusieurs mosaïques, et la liste déroulante en haut à gauche de l'éditeur vous permettra de définir la taille du pinceau. Comme auparavant, les modifications que vous apportez ne seront pas visibles tant que vous n'aurez pas relancé la carte.

Construisez votre plan d'étage comme bon vous semble. Personnellement, le mien ressemble à ça :


Appuyez sur Échap ou cliquez à nouveau sur l'option floorTiles pour désactiver le dessin.

Vous remarquerez peut-être que le détail DrawFloor a quelques options supplémentaires. La plupart du temps, vous ne voudrez pas les modifier car vous voulez que le sol corresponde au biome, mais dans certains cas, vous voudrez peut-être modifier la texture du sol (par exemple, si vous souhaitez ajouter un étage différent à l'intérieur d'un bâtiment). Pour ce faire, sélectionnez l'un des floorLayers vides et choisissez la texture souhaitée. Ensuite, avec le curseur de la souris sur le floorLayer, cliquez sur le bouton de dessin. Vous pouvez même remplacer la texture de ce floorLayer par une texture personnalisée, en incluant un JPG dans Wildermyth\mods\ \assets\sites\images.

Murs

Les murs sont dessinés de la même manière que les sols. Développez le détail DrawWalls, puis cliquez sur les tuiles et dessinez où vous voulez vos murs. Tout comme les sols, les préréglages shortBiome, midBiome et tallBiome utiliseront le biome avec lequel votre carte est générée, mais vous pouvez également choisir des murs spécifiques en fonction de l'effet souhaité. La plupart des paramètres de mur ne doivent pas être modifiés, mais des options telles que hasWallsCaps et isBoundary peuvent être utiles. Passez la souris sur chaque option pour en voir la description.

Si vous souhaitez plusieurs types de murs, vous pouvez créer des détails DrawWalls supplémentaires pour chaque type de mur. Pour ce faire, passez la souris sur la catégorie des détails et sélectionnez MapDetail_DrawWalls.

Portes

Les murs sont parfaits pour empêcher les gens (ou les monstres) de traverser une zone, mais que se passe-t-il si nous voulons les laisser passer de toute façon ? Nous pouvons le faire avec une nouvelle technologie incroyable appelée "Porte". Ajoutez MapDetail_Door à la liste des détails, puis cliquez sur les emplacements sous l'entrée Porte pour placer les portes. Placer des portes sur des murs existants supprimera automatiquement le mur afin que la porte puisse être franchie. Les portes peuvent occuper une seule tuile ou s'adapter à plusieurs tuiles (bien que certains styles de porte aient une taille minimale). L'option de style détermine l'apparence de la porte, et comme les murs, si vous voulez différents styles de portes, vous pouvez créer plusieurs détails MapDetail_Door.


Les portes ont quelques options utiles : isOpen vous permet de régler la porte pour qu'elle soit déjà ouverte au début de la mission. Verrouillé empêchera les joueurs ou les monstres d'interagir avec la porte (cela peut être combiné avec isOpen pour créer une porte ouverte en permanence).

Foudre, Paysage, Lampes, Débris

Une fois les éléments de base de votre carte en place, examinons l'ajout de détails pour rendre l'espace plus intéressant.

La voie rapide

Dans la dernière section, vous avez peut-être placé des murs pour créer un bâtiment fermé. À l'aide de MapDetail_InteriorRegion, nous pouvons rapidement remplir votre bâtiment d'éclairage et de décors. Ajoutez simplement MapDetail_InteriorRegion, sélectionnez les tuiles et peignez la zone à l'intérieur de votre bâtiment.


Relancez votre carte…


Et juste comme ça, votre bâtiment a un éclairage intérieur et des décors placés au hasard ! Mais nous n'avons pas encore fini. D'une part, vous avez peut-être remarqué qu'il existe des objets qui ne correspondent pas à votre structure prévue. Nous pouvons les contrôler avec certains des paramètres InteriorRegion.

De nombreuses options dans InteriorRegion vous permettent de contrôler le type de décor qui peut apparaître et à quelle fréquence, en utilisant un nombre compris entre 0.0 et 1.0. Par exemple, définir useMonsterScenery sur 0.0 signifie que cette région ne génère jamais d'objets de décor créés par des monstres (tels que les tentacules bleus de la Gorgone). Modifiez ces paramètres à votre guise et relancez pour voir les changements. Vous pouvez également utiliser forbidLampsAndScenery pour empêcher tout objet d'apparaître sur certaines tuiles tout en conservant l'effet d'éclairage intérieur. Enfin, vous pouvez utiliser forbidTheseSceneryAndLamps pour spécifier des éléments de décor exacts que vous ne souhaitez jamais sélectionner au hasard.

Pour une méthode encore plus rapide de création d'espaces intérieurs, vous pouvez utiliser MapDetail_House. Ajoutez le détail à votre carte, dessinez un rectangle de sept carreaux de large et l'éditeur créera instantanément un chalet confortable. Cet outil donne beaucoup moins de contrôle que les autres méthodes, mais les résultats sont très rapides.

Remarque : Les murs latéraux de la maison sont définis par le détail DrawWalls qui apparaît en premier dans la liste des détails. Pour modifier le style des murs, créez un MapDetail_DrawWalls, définissez le style de mur souhaité, puis cliquez sur la flèche vers le haut sur ce détail jusqu'à ce qu'il se déplace au-dessus de tous les autres détails DrawWalls de votre carte.

La voie avancée

Les options ci-dessus vous permettront d'ajouter rapidement des détails à votre carte, mais il existe des options supplémentaires pour ceux qui souhaitent un contrôle plus spécifique. Pour l'éclairage, vous pouvez utiliser MapDetail_DrawIndoorLighting. Cela fonctionne de manière très similaire à InteriorRegion, mais vous permet de définir une quantité spécifique de lumière par tuile.


Lorsque vous dessinez des tuiles avec DrawIndoorLighting, vous remarquerez un curseur d'opacité en haut de l'écran. Cela vous permet de définir la quantité de lumière appliquée à une tuile spécifique. Vous pouvez également dessiner sur des carreaux pour ajouter plus d'opacité à ce carreau (c'est-à-dire avec une opacité définie sur 0.1, cliquer deux fois sur un carreau réglera son opacité sur 0.2).

Il existe également un certain nombre d'outils pour créer des décors et des lampes, avec plus de contrôle que nous n'en avions à l'étape précédente. Le plus approfondi d'entre eux est MapDetail_RandomScenery. Ajoutez ceci à votre carte maintenant.

Remarque : veillez à ne pas utiliser de détails de carte avec le mot "obsolète" à côté. En termes de développement de jeux, "Déprécié" signifie que cette option n'est plus prise en charge et a été remplacée par autre chose. Certaines des fonctions obsolètes de l'éditeur de carte sont toujours présentes, mais ce didacticiel ne se concentrera que sur celles qui sont toujours destinées à être utilisées.

Le premier paramètre dans RandomScenery est whereToSpawn, et il y a trois options :

  • partout fera apparaître des paysages sur toute la carte.
  • zone spécifique vous permet de définir une zone où des paysages aléatoires peuvent apparaître (tout comme InteriorRegion)
  • emplacements exacts vous permet de choisir des tuiles spécifiques où le paysage apparaîtra toujours.

Cet outil est très similaire à InteriorRegion comme expliqué ci-dessus, mais contient quelques options supplémentaires. Plus particulièrement, landscapeDensity vous permet de définir un nombre compris entre 0.0 et 1.0 pour contrôler la quantité de décors aléatoires placés dans votre zone d'apparition. Il existe également le paramètre drawForbidScenery, qui vous permet de définir des tuiles où le décor ne doit PAS apparaître. Soyez prudent en utilisant cette option, car elle bloquera les décors générés non seulement par le MapDetail actuel, mais également tous les MapDetails en dessous du MapDetail actuel dans la liste des détails.

La façon dont vous configurez votre décor dépend de vous. Pour la démonstration, j'ai ajouté un détail RandomScenery pour générer un décor intérieur à l'intérieur de ma structure, et un second détail RandomScenery pour générer un décor extérieur sur toutes les tuiles extérieures. J'ai également tracé un chemin de tuiles interdites à travers les voies principales de la mise en page de la carte pour éviter qu'elles ne deviennent trop encombrées.

De plus, je vais ajouter un détail RandomLamps pour faire apparaître des lampes à l'intérieur de ma structure, et un deuxième détail RandomLamps pour en faire apparaître à l'extérieur près des portes. Cela fonctionne exactement comme RandomScenery.


Notre carte est maintenant plutôt belle ! Mais avant de passer aux régions d'apparition, examinons rapidement les débris.

Qu'est-ce que les débris ? Eh bien, c'est ce truc:


Bien que cela puisse ne pas sembler important, certaines capacités peuvent y mettre le feu, et le feu se propagera entre les tuiles de débris, cela a donc des implications sur le gameplay. En utilisant MapDetail_Debris, nous pouvons avoir un certain contrôle dessus. MapDetail_Debris nous donne deux options : globalDebrisChance et drawDebrisChance. Le premier est par défaut à 0.1 et peut généralement être laissé à cela. drawDebrisChance nous permet de peindre des carreaux avec des débris ; comme lorsque nous dessinons un éclairage, l'opacité peut être définie pour définir la probabilité d'apparition de débris sur cette tuile. Ceci est surtout utile lors de la création de l'apparence de quelque chose qui a été détruit (c'est-à-dire une section de mur effondrée).

Tout sur les régions de spawn

Les SpawnRegions contrôlent où les joueurs et les ennemis apparaissent. Ils gèrent également des choses comme les tuiles de renfort et les tuiles de fuite.

Le joueur apparaît

Créez une SpawnRegion et définissez les tuiles sur exactTiles, puis dessinez où vous voulez que les personnages héros apparaissent. Pour faire apparaître les héros ici, définissez le rôle sur "attaquant" (bien que cela puisse sembler faux pour une mission de défense, dans tous les types de mission, le joueur est toujours considéré comme l'attaquant).

Vous pouvez choisir de dessiner une grande zone d'apparition connectée ou plusieurs zones déconnectées. Si vous faites ce dernier, vous remarquerez que tous les héros apparaissent autour du même groupe de tuiles au lieu de s'étendre à tous. Pour résoudre ce problème, splitGroupsIntoSeparateRegions doit être défini sur false. Cela semble également contre-intuitif, mais il semble y avoir un bogue avec les apparitions de joueurs où splitGroupsIntoSeparateRegions fait le contraire de ce qu'il dit.

L'ennemi apparaît

Ensuite, créez une autre SpawnRegion, définissez les tuiles sur exactTiles et définissez le rôle sur defender. Ce sera la zone d'apparition des ennemis. Ensuite, cliquez sur le bouton Dup sur cette spawnRegion pour la dupliquer. Définissez la usePriority de la nouvelle spawnRegion sur 1. Cela vous permettra de définir une zone de spawn à utiliser moins fréquemment, uniquement lorsqu'il y a plus d'ennemis que de zones de spawn.

Remarque : L'info-bulle pour usePriority indique que augmentation la priorité est utilisée en premier. Bien que cela soit vrai pour la plupart des types de missions, un bogue dans les missions de défense contre les incursions l'amène à utiliser l'ordre inverse. Zéro est la priorité la plus élevée et chaque nombre suivant est de priorité inférieure.

Renforts et évasion

Lorsqu'il y a plus d'ennemis dans une mission qu'il ne serait juste de combattre, ces ennemis seront gardés en réserve jusqu'à ce que certains des ennemis existants soient tués. Ces ennemis apparaîtront à partir d'une SpawnRegion avec l'utilisation delaySpawn. Allez-y et créez une autre SpawnRegion, définissez son rôle sur defender et son utilisation sur delaySpawn. Ces zones doivent généralement se situer autour du bord de la carte, raisonnablement loin des apparitions des joueurs.

Si les héros perdent le combat, ils ont la possibilité de battre en retraite en atteignant une tuile de fuite. Créez une SpawnRegion avec le rôle défini sur attaquant et l'utilisation définie sur échapper. Ces tuiles se trouvent souvent au bord de la carte, et leur distance par rapport aux apparitions du joueur déterminera à quel point il est difficile pour un héros de les atteindre.

Remarque : vous pouvez utiliser l'option drawForbidScenery dans votre détail RandomScenery pour empêcher que le paysage ne soit placé au-dessus de ces tuiles.

Conclusion

Toutes nos félicitations! Votre carte est prête à jouer ! Avant de publier ce mod et de le diffuser dans le monde, quelques dernières réflexions :

  • Testez votre carte : Il est important d'avoir une idée de la façon dont votre carte se sent à jouer. Même s'il a fière allure dans l'éditeur, il se peut que vous rencontriez des problèmes lors de sa lecture. Utilisez le guide Wildermyth Wiki sur les tests pour savoir comment vous assurer que votre carte apparaît dans une campagne. https://wildermyth.com/wiki/Testing
  • Apprenez des meilleurs: Toutes les cartes que vous jouez dans le jeu sont disponibles dans l'éditeur. Si vous avez vu un certain effet ou une certaine situation dans une carte que vous souhaitez utiliser dans la vôtre, chargez la carte existante dans l'éditeur et voyez par vous-même. C'est aussi un excellent moyen d'apprendre comment les cartes sont créées. tout ce que j'ai écrit dans ce tutoriel, j'ai appris en regardant les cartes existantes et en les utilisant comme référence pour créer la mienne.
  • Laisser les commentaires: Si j'ai raté quelque chose, ou si j'ai fait une erreur, ou si vous avez d'autres questions, veuillez demander ci-dessous ! Je suis heureux de mettre à jour ce guide si je peux faire quelque chose pour le rendre plus utile.

Bonne construction!

Laisser un commentaire

ArabicEnglishFrenchGermanItalianJapaneseKoreanPortugueseSpanish