Wildermyth: Cómo crear un mapa de defensa contra incursiones

Una guía para crear mapas de Incursion Defense personalizados en Wildermyth y una guía general para usar el Editor del sitio.

 

Introducción

Mientras trabajaba en mi Paquete de defensa contra incursiones mod No pude encontrar muchos recursos sobre cómo funciona el editor de mapas en Wildermyth. El canal oficial de Youtube tiene un video. (que recomiendo ver), pero el editor tiene muchas peculiaridades que no son claras de inmediato para los nuevos usuarios. Dado que también estaba haciendo específicamente mapas de Incursion Defense, necesitaba saber cómo funcionaban en comparación con los mapas normales. Este tutorial trata específicamente sobre los mapas de Incursion Defense, pero incluirá suficiente conocimiento general como para que sea útil para cualquier persona que quiera familiarizarse con el editor del sitio.

Laboratorio del sitio

Para comenzar, abramos el editor navegando a Herramientas > Abrir editor en el menú principal y luego seleccionando Site Lab en el menú del editor. Antes de continuar con el Editor del sitio, hagamos nuestro nuevo mod seleccionando Mods en la esquina superior derecha y luego haciendo clic en Create New Mod.


Una vez que crees tu mod, se seleccionará automáticamente en la lista de mods. Haga clic en Confirmar para salir.

El diseño básico del Editor del sitio tiene una ventana principal donde se ve el mapa y el panel izquierdo donde podemos manipular los componentes de nuestro mapa. En la parte superior de este panel, tenemos una variedad de opciones de edición, pero la única que nos preocupa es "Plan". Los planes son los datos específicos sobre el diseño de su mapa y la ubicación de los objetos. Vamos a crear uno nuevo, así que haz clic en Nueva pelea (CTRL+N).


Continúe e ingrese una identificación memorable para su pelea. Todo lo demás en esta pantalla se puede desactivar o ignorar de forma segura. Como verá más adelante, toda la lógica de los mapas de Incursion Defense ya está manejada por nosotros.

Una vez que hayas creado tu pelea, búscala en el menú desplegable Plan y selecciónala.

Finalmente, desmarque la casilla de verificación etiquetada como "Set Pieces". Esto eliminará los objetos de fondo del entorno para que no oscurezcan nuestra visión del mapa.

Nota: puede tener la tentación de seleccionar "incursionDefense" en el menú desplegable Formato. Cambiar el formato cambiará la lógica del juego detrás de nuestro mapa en el editor. En el caso de incursionDefense, la lógica del juego ignora nuestro Plan actualmente seleccionado y, en su lugar, elige un Plan aleatorio del grupo de IncursionDefense, lo que significa que cada vez que vuelva a ejecutar el editor, cargará un mapa diferente. Durante la edición, el formato debe dejarse en "asalto" para que la lógica del juego no interfiera con nuestra edición.

Plan de misión

El plan de la misión es una representación de los datos de nuestro mapa (si tiene una inclinación técnica, este es solo un archivo JSON). Antes de sumergirnos en la construcción de nuestro mapa, debemos cuidar algunos ajustes iniciales. Por ahora, haga clic en el ícono menos al lado de la sección de detalles para contraerla. Nos vamos a centrar en todo lo que se encuentre entre "roles declarados" y "información adicional".


Si no entiende estas configuraciones, está bien. Esta es solo información que el juego necesita para configurar correctamente nuestro mapa.

Primero, haga clic en el botón Nueva entrada junto a funciones declaradas. Solo se necesita configurar una opción aquí, que es "auto".

A continuación, haga clic en el botón Nueva entrada debajo de los resultados del encuentro declarados. tres veces. El ajuste las opciones a:

0: derrota
1: victoria
2: escapar

Estas son las tres formas en que termina una misión de defensa contra incursiones: los héroes derrotan a todos los enemigos, los enemigos derrotan a todos los héroes o los héroes escapan del mapa sin matar a todos los enemigos.

Haga clic en skipDefaultPlots y establezca la casilla de verificación en True. Dado que la lógica para los mapas de Incursion Defense ya existe, no queremos que ninguna otra lógica interfiera con ella.

Haga clic en el botón Nuevo junto a extraInfo. Esto agregará una opción llamada "incursionDefense". Establezca esto en verdadero. Esta opción es muy importante; agrega nuestro mapa al grupo de mapas de defensa contra incursiones que el juego elige cuando el jugador defiende una ciudad contra una incursión.

Debajo de la lista de detalles, podemos agregar las diversas características que componen nuestro mapa. En la siguiente sección entraremos en más detalles sobre cada uno, pero para empezar hay un detalle que debemos agregar. Mueva el mouse sobre los detalles, luego haga clic en "Nuevo detalle..." y agregue MapDetail_Plot. En la parte inferior de la lista de detalles, ahora tendrá una opción denominada Parcela {}. Expanda esta opción y haga clic en el campo plotId. En la lista que aparece, seleccione M_incursionDefense como su trama. Contiene toda la lógica necesaria para los mapas de defensa contra incursiones.

Nota: tenga en cuenta que si su mod está cargado cuando juega una campaña y no ha terminado de construir su mapa de defensa contra incursiones, el juego arrojará un error y lo regresará al menú principal si intenta cargar este mapa cuando defiende un pueblo. ¡Asegúrate de deshabilitar tu mod en tus campañas hasta que esté terminado y listo para usar!

Pisos, Paredes, Puertas

Con toda nuestra preparación fuera del camino, ¡es hora de las cosas buenas! En este momento, la ventana de su editor probablemente se verá así:


El nuevo mapa viene con un par de detalles de uso común, como pisos, escenarios aleatorios y regiones de generación. Por ahora, eliminemos todo excepto el piso, las paredes y la parcela que acabamos de agregar. Para eliminar una entrada, simplemente mueva el mouse sobre ella y haga clic en el botón X. Los agregaremos de nuevo más tarde.

Notará que a medida que elimina estas entradas, no desaparecen del mapa. Esto se debe a que el mapa solo se genera una vez, cuando se carga. Para generar los últimos cambios, necesitamos Reroll, ya sea haciendo clic en el botón Reroll en la esquina superior izquierda del editor o presionando Ctrl+R.


¡Mucho mejor!

Floor

Expanda el detalle DrawFloor y haga clic en FloorTiles. La cuadrícula que aparece en el editor le muestra cada mosaico de piso en el mapa. Para agregar más, haga clic en un mosaico vacío o haga clic con el botón derecho para eliminar un mosaico existente. Si mantiene presionada la tecla Mayús, podrá hacer clic y arrastrar para dibujar varios mosaicos, y el menú desplegable en la parte superior izquierda del editor le permitirá establecer el tamaño del pincel. Como antes, cualquier cambio que hagas no será visible hasta que vuelvas a desplazar el mapa.

Construye tu plano de planta como quieras. Personalmente, el mío se ve así:


Presione escape o haga clic en la opción FloorTiles nuevamente para deshabilitar el dibujo.

Puede notar que el detalle DrawFloor tiene algunas opciones adicionales. En la mayoría de los casos, no querrá cambiarlos, ya que desea que el piso coincida con el bioma, pero en algunos casos es posible que desee cambiar la textura del piso (es decir, si desea agregar un piso diferente dentro de un edificio). Para hacer esto, seleccione uno de los FloorLayers vacíos y elija la textura que desee. Luego, con el cursor del mouse sobre FloorLayer, haga clic en el botón Dibujar. Incluso puede cambiar la textura de ese FloorLayer por una textura personalizada, al incluir un JPG en Wildermyth\mods\ \activos\sitios\imágenes.

Paredes

Las paredes se dibujan de la misma manera que los pisos. Expanda el detalle DrawWalls, luego haga clic en mosaicos y dibuje donde quiera sus paredes. Al igual que los pisos, los ajustes preestablecidos shortBiome, midBiome y tallBiome usarán cualquier bioma con el que se genere su mapa, pero también puede elegir paredes específicas según el efecto deseado. La mayoría de las configuraciones de la pared no deben cambiarse, pero opciones como hasWallsCaps e isBoundary pueden ser útiles. Pase el mouse sobre cada opción para ver una descripción de la misma.

Si desea varios tipos de muros, puede crear detalles adicionales de DrawWalls para cada tipo de muro. Para hacer esto, pase el mouse sobre la categoría de detalles y seleccione MapDetail_DrawWalls.

Puertas

Los muros son excelentes para evitar que las personas (o los monstruos) pasen por un área, pero ¿y si queremos dejarlos pasar de todos modos? Podemos hacer esto con una nueva tecnología increíble llamada "Puerta". Agregue MapDetail_Door a la lista de detalles, luego haga clic en las ubicaciones debajo de la entrada Puerta para colocar puertas. Colocar puertas en paredes existentes eliminará automáticamente la pared para que la puerta pueda pasar. Las puertas pueden ocupar un solo mosaico o escalar para adaptarse a varios mosaicos (aunque algunos estilos de puertas tienen un tamaño mínimo). La opción de estilo determina la apariencia de la puerta y, al igual que las paredes, si desea diferentes estilos de puertas, puede crear varios detalles de MapDetail_Door.


Las puertas tienen un par de opciones útiles: isOpen te permite configurar la puerta para que ya esté abierta cuando comience la misión. Bloqueado evitará que los jugadores o los monstruos puedan interactuar con la puerta (esto se puede combinar con isOpen para hacer una puerta que esté permanentemente abierta).

Relámpago, Paisaje, Lámparas, Escombros

Con las piezas básicas de su mapa en su lugar, veamos cómo agregar detalles para hacer que el espacio sea más interesante.

la forma rápida

En la última sección, es posible que haya colocado algunas paredes para hacer un edificio cerrado. Usando MapDetail_InteriorRegion, podemos llenar rápidamente su edificio con iluminación y paisaje. Simplemente agregue MapDetail_InteriorRegion, seleccione mosaicos y pinte el área dentro de su edificio.


Vuelva a enrollar su mapa...


¡Y así, su edificio tiene iluminación interior y escenarios colocados al azar! Pero aún no hemos terminado. Por un lado, es posible que haya notado que hay objetos que no coinciden con la estructura deseada. Podemos controlarlos con algunas de las configuraciones de InteriorRegion.

Muchas de las opciones en InteriorRegion le permiten controlar qué tipo de escenario puede aparecer y con qué frecuencia, utilizando un número entre 0.0 y 1.0. Por ejemplo, establecer useMonsterScenery en 0.0 significará que esta región nunca generará objetos de escenario que hayan sido creados por monstruos (como los tentáculos azules de la Gorgona). Modifique esta configuración a su gusto y vuelva a pasar para ver los cambios. También puede usar forbidLampsAndScenery para evitar que aparezcan objetos en ciertos mosaicos sin dejar de tener el efecto de iluminación interior. Finalmente, puede usar forbidTheseSceneryAndLamps para especificar partes exactas del escenario que nunca desea que se seleccionen al azar.

Para un método aún más rápido de crear espacios interiores, puede usar MapDetail_House. Agregue el detalle a su mapa, dibuje un rectángulo de siete mosaicos de ancho y el editor creará instantáneamente una cabaña acogedora. Esta herramienta da mucho menos control que otros métodos, pero los resultados son muy rápidos.

Nota: Las paredes laterales de la casa están definidas por cualquier detalle de DrawWalls que aparezca primero en la lista de detalles. Para cambiar el estilo de las paredes, cree un MapDetail_DrawWalls, establezca el estilo de pared que desee, luego haga clic en la flecha hacia arriba en ese detalle hasta que se mueva sobre todos los demás detalles de DrawWalls en su mapa.

la forma avanzada

Las opciones anteriores le permitirán agregar rápidamente detalles a su mapa, pero hay opciones adicionales para aquellos que desean un control más específico. Para la iluminación, puede usar MapDetail_DrawIndoorLighting. Esto funciona de manera muy similar a InteriorRegion, pero le permite establecer una cantidad específica de luz por mosaico.


Al dibujar mosaicos con DrawIndoorLighting, notará un control deslizante de opacidad en la parte superior de la pantalla. Esto le permite establecer la cantidad de luz que se aplica a un mosaico específico. También puede dibujar sobre los mosaicos para agregar más opacidad a ese mosaico (es decir, con la opacidad establecida en 0.1, al hacer clic en un mosaico dos veces, su opacidad se establecerá en 0.2).

También hay una serie de herramientas para crear escenarios y lámparas, con más control que el que teníamos en el paso anterior. El más profundo de estos es MapDetail_RandomScenery. Agregue esto a su mapa ahora.

Nota: tenga cuidado de no usar ningún Detalle del mapa con la palabra "Obsoleto" al lado. En términos de desarrollo de juegos, "Obsoleto" significa que esta opción ya no es compatible y ha sido reemplazada por otra. Algunas de las funciones obsoletas del editor de mapas todavía están presentes, pero este tutorial solo se centrará en las que aún se pretende utilizar.

La primera configuración en RandomScenery es whereToSpawn, y hay tres opciones:

  • en todas partes generará paisajes en todo el mapa.
  • Area específica le permite definir un área donde se puede generar un paisaje aleatorio (al igual que InteriorRegion)
  • ubicacionesexactas te permite elegir mosaicos específicos donde siempre aparecerá el escenario.

Esta herramienta es muy similar a InteriorRegion como se explicó anteriormente, pero contiene algunas opciones adicionales. En particular, la densidad del escenario le permite establecer un número entre 0.0 y 1.0 para controlar la cantidad de escenario aleatorio que se coloca en su área de generación. También está la configuración drawForbidScenery, que le permite definir los mosaicos donde el escenario NO debe generarse. Tenga cuidado al usar esta opción, ya que bloqueará el escenario generado no solo por el MapDetail actual, sino también por todos los MapDetails debajo del actual en la lista de detalles.

La forma en que configure su escenario depende de usted. A modo de demostración, agregué un detalle RandomScenery para generar un paisaje interior dentro de mi estructura y un segundo detalle RandomScenery para generar un paisaje exterior en todos los mosaicos exteriores. También dibujé un camino de mosaicos prohibidos a través de los carriles principales del diseño del mapa para evitar que se abarroten demasiado.

Además, agregaré un detalle de RandomLamps para generar lámparas dentro de mi estructura, y un segundo detalle de RandomLamps para generar algunas afuera junto a las puertas. Esto funciona igual que RandomScenery.


¡Nuestro mapa ahora se ve bastante bien! Pero antes de pasar a las regiones de generación, echemos un vistazo rápido a Debris.

¿Qué es Escombros? Bueno, son estas cosas:


Si bien puede no parecer importante, algunas habilidades pueden prenderle fuego, y el fuego se extenderá entre los mosaicos de escombros, por lo que tiene implicaciones en el juego. Usando MapDetail_Debris, podemos tener cierto control sobre él. MapDetail_Debris nos da dos opciones: globalDebrisChance y drawDebrisChance. El primero por defecto es 0.1 y por lo general se puede dejar así. drawDebrisChance nos permite pintar azulejos con escombros; Al igual que cuando dibujamos iluminación, la opacidad se puede configurar para definir la probabilidad de que se generen escombros en ese mosaico. Esto es principalmente útil cuando se crea la apariencia de algo que ha sido destruido (es decir, una sección de pared colapsada).

Todo sobre las regiones de aparición

SpawnRegions controla dónde aparecen los jugadores y los enemigos. También manejan cosas como fichas de refuerzo y fichas de escape.

Engendros de jugadores

Cree una SpawnRegion y establezca mosaicos en los mosaicos exactos, luego dibuje dónde desea que aparezcan los personajes héroes. Para hacer que los héroes aparezcan aquí, establezca el rol en "atacante" (aunque esto puede parecer incorrecto para una misión de defensa, en todos los tipos de misión, el jugador siempre se considera el atacante).

Puede optar por dibujar un área de generación conectada grande o varias áreas desconectadas. Si haces lo último, notarás que todos los héroes se generan alrededor del mismo grupo de mosaicos en lugar de distribuirse entre todos. Para corregir esto, splitGroupsIntoSeparateRegions debe establecerse en falso. Esto también parece contrario a la intuición, pero parece haber un error con la generación de jugadores donde splitGroupsIntoSeparateRegions hace lo contrario de lo que dice.

Engendros enemigos

A continuación, cree otra SpawnRegion, establezca mosaicos en exactTiles y establezca el rol en defender. Esta será el área de generación de los enemigos. Luego, haga clic en el botón Dup en esta spawnRegion para duplicarla. Establezca usePriority de la nueva spawnRegion en 1. Esto le permitirá definir un área de generación que se usará con menos frecuencia, solo cuando haya más enemigos que áreas de generación.

Nota: La información sobre herramientas para usePriority dice que más alto la prioridad se usa primero. Si bien esto es cierto para la mayoría de los tipos de misiones, un error en las misiones de defensa contra incursiones hace que se use el orden opuesto. El cero es la prioridad más alta, y cada número subsiguiente tiene menor prioridad.

Refuerzos y Escape

Cuando hay más enemigos en una misión de los que sería justo combatir, esos enemigos se mantendrán en reserva hasta que maten a algunos de los enemigos existentes. Estos enemigos aparecerán en una región de aparición con el uso retrasado de aparición. Continúe y cree otra SpawnRegion, establezca su rol en defender y el uso en delaySpawn. Estas áreas generalmente deben estar alrededor del borde del mapa, razonablemente lejos de los engendros del jugador.

Si los héroes están perdiendo la pelea, tienen la opción de retirarse alcanzando una casilla de escape. Cree una SpawnRegion con el rol establecido en atacante y el uso establecido en escape. Estos mosaicos a menudo se encuentran en el borde del mapa, y su distancia de los engendros del jugador determinará qué tan difícil es para un héroe alcanzarlos.

Nota: Puede usar la opción drawForbidScenery en su detalle RandomScenery para evitar que el escenario se coloque encima de estos mosaicos.

Conclusión

¡Felicidades! ¡Tu mapa está listo para jugar! Antes de publicar ese mod y lanzarlo al mundo, algunas reflexiones finales:

  • Prueba tu mapa: Es importante tener una idea de cómo se siente tu mapa para jugar. Incluso si se ve muy bien desde el editor, es posible que encuentre problemas al jugarlo. Use la guía Wiki de Wildermyth sobre pruebas para aprender cómo asegurarse de que su mapa aparezca en una campaña. https://wildermyth.com/wiki/Testing
  • Aprenda de los mejores: Todos los mapas que juegas en el juego están disponibles en el editor. Si ha visto un cierto efecto o situación en un mapa que desea usar en el suyo, cargue el mapa existente en el editor y compruébelo usted mismo. También es una excelente manera de aprender cómo se hacen los mapas; todo lo que escribí en este tutorial lo aprendí mirando los mapas existentes y usándolos como referencia para hacer el mío.
  • Deja un comentario: Si me perdí algo, o cometí un error, o si tiene más preguntas, ¡pregunte a continuación! Me complace actualizar esta guía si hay algo que pueda hacer para que sea más útil.

Edificio feliz!

Deja un comentario

ArabicEnglishFrenchGermanItalianJapaneseKoreanPortugueseSpanish