Files
mod_rpg/docs/es.md
T

6.4 KiB

RPG World — camina por un mapa de tiles, habla, abre, lucha

RPG World convierte un juego en un RPG de mapas de tiles al estilo de los rol clásicos en 2D: avanzas por una cuadrícula con el teclado, hablas con la gente, abres cofres, cruzas puertas y luchas contra monstruos, y tras el combate vuelves al mismo punto. El mapa es una escena cualquiera del juego, así que el cuadro de diálogo, los escenarios, el guardado, la música y la hora del día funcionan en los mapas igual que en una novela visual.

Este mod da vida a la aldea, el bosque y el desierto de RPG Plus. Los mapas y sus habitantes vienen de mods de contenido como RPG Demo; este aporta las reglas.

Explorando la aldea de RPG Plus: el nombre del mapa arriba a la izquierda, la barra de herramientas arriba a la derecha y la ayuda de controles abajo a la izquierda.

Cómo jugar en un mapa

  • Camina con WASD o las flechas; mantén pulsado Shift para correr.
  • Actúa con E o F: habla con quien tengas delante, abre el cofre, lee el cartel.
  • Pisa una puerta o el borde del mapa para pasar al siguiente.
  • En algunos sitios, como el bosque, los combates aleatorios pueden empezar mientras caminas.
  • Tras un combate vuelves a la misma casilla del mismo mapa.
  • El juego guarda tu posición; al cargar reapareces exactamente ahí.

La casilla con la que puedes interactuar se enmarca, y la ayuda de abajo a la izquierda cambia a E / F · Interact.

Ejemplo: un cofre que sigue abierto

El cofre de la casa del anciano son dos eventos en la misma casilla. El cerrado se muestra mientras la bandera de historia rpg_house_chest no esté activa; su escenario entrega tres monedas y activa la bandera. A partir de entonces se muestra en su lugar el cofre abierto.

Antes: el héroe junto al cofre cerrado en la casa del anciano, al mediodía.

El texto del cofre: calcetines viejos, una nota de «No tocar» y tres monedas debajo.

Después: la misma casilla muestra ahora el cofre abierto, enmarcado por el marcador de interacción; la ayuda de abajo a la izquierda dice «E / F · Interact».

{ "Id": "chest", "X": 9, "Y": 7, "Tile": 14,
  "Scenario": "rpg_demo/events/house_chest",
  "Condition": "rpg_house_chest != 1" },
{ "Id": "chest_open", "X": 9, "Y": 7, "Tile": 15,
  "Scenario": "rpg_demo/events/chest_empty",
  "Condition": "rpg_house_chest == 1" }
ptext "En el cofre: calcetines viejos y una nota que dice "No tocar". Demasiado tarde. Debajo de los calcetines: tres monedas." key=rpg_demo/chest/house
action item.add id=money/coin count=3
flag rpg_house_chest 1
end

Para autores: mapas

Un mapa es un archivo JSON en la carpeta maps/ de un mod, más una escena con el mismo nombre en scenes/ para su fondo en los combates y su ambiente sonoro.

  • Tres capas dibujadas, cada una una lista de filas con números de tile (. para vacío): Back — suelo, interiores, agua; Main — objetos a la altura de los personajes: muros, troncos, vallas; Front — se dibuja sobre los personajes: copas de los árboles, aleros, arcos.
  • Colisiones — una capa de filas que sustituye la transitabilidad de los tiles donde hace falta: un muro invisible al borde de un acantilado o un hueco en un seto.
  • Tileset — el atlas de tiles y las propiedades de cada uno (sólido o no, superficies, objetos).
  • Spawn — dónde aparece quien llega nuevo; Zoom; el color Ambient opcional para interiores (si no, la hora del día ilumina el mapa) y Atmosphere (woodland añade hojas, luciérnagas y ondas en el agua).
  • Encounters — combates aleatorios: de media uno cada Steps pasos contra uno de los Groups.
"Encounters": { "Steps": 48, "Groups": ["rpg_slime", "rpg_slime,rpg_slime"] }

Para autores: eventos

Los eventos viven en map_events/<id del mapa>/*.json de cualquier mod. Un evento tiene un aspecto y un efecto, elegidos por separado:

  • aspecto: un Sprite de personaje, un Tile suelto del atlas, el Icon de un objeto tirado en el suelo o nada (un desencadenante invisible);
  • efecto: un Teleport a una casilla de este u otro mapa, o un Scenario seguido de Commands en línea opcionales — el lenguaje de escenarios completo, con action rpg.battle, banderas y misiones incluidas;
  • Trigger: Action (E/F estando de cara) o Touch (al pisarlo);
  • Solid: si bloquea el paso (por defecto, los eventos dibujados sí lo hacen);
  • Condition: oculta el evento mientras no se cumpla la condición;
  • Pages: aspectos y efectos alternativos, cada uno con su condición; se usa la última página cuya condición se cumpla;
  • Route: movimiento autónomo como {"Steps": ["left", "wait", "right"], "Every": 0.8}, con up/down/left/right, random, toward/away (hacia el jugador o alejándose), wait y face_…;
  • Light: un brillo alrededor del evento, {"Radius": 3, "Color": "#ffd8a0"}, visible al anochecer y de noche.

Añade o cambia el mapa de otro mod. Los archivos de eventos se combinan en orden de carga: un Id nuevo añade un evento al mapa, y el mismo Id de un mod que dependa del dueño lo sustituye. Así da RPG Plus nuevos diálogos al anciano de la demo.

Acciones de escenario

action rpg.battle enemies=rpg_wolf,rpg_slime win_flag=rpg_wolf_dead
action rpg.teleport map=rpg_forest x=1 y=8 dir=right
  • rpg.battle inicia un combate con el núcleo de combate del juego y vuelve a la misma casilla; al ganar, win_flag pasa a 1, así que el monstruo del mapa cuya condición comprueba esa bandera desaparece. Termina el escenario después de esta acción.
  • rpg.teleport mueve al jugador a una casilla de este mapa o de otro.

Ajustes del juego

  • Apariencia (rpg.player_charset) — el sprite del héroe en los mapas, elegido entre los charsets del juego.
  • Proyección del mapa (tile.renderer) — vista superior o isométrica; ver Tile Rendering.

Si algo falla

  1. Un personaje o un cofre no reacciona. Colócate de frente y pulsa E o F; un evento Touch solo responde al pisarlo.
  2. Un monstruo o un cofre vuelve a aparecer. Su Condition debe comprobar la bandera que activa su propio escenario o win_flag.
  3. No puedes pasar por un sitio que parece libre. Esa casilla la bloquea un tile sólido o la capa de colisiones del mapa.
  4. No hay fondo de combate. La escena del mapa en scenes/<map>.json necesita un defaultBackground.