Este tutorial te ayudará a comprender de forma sencilla cómo usar un único mapa con varias secciones del mismo tamaño, para juegos como Zelda o algunos juegos de estilo Metrovania.
Para explicarlo mejor, usaré el RM2K estándar sin modificaciones, lo que significa que la pantalla tendrá 320x240 píxeles, por lo que cada parte del mapa tendrá 20x15 mosaicos:

Después de esta parte, necesitamos identificar el centro exacto del área donde comienza el jugador. Si es la primera área donde está el trono, será de 9x7; si es la segunda área a la derecha donde hay baldosas de piedra, será de 29x7; y si está abajo donde tenemos los ríos y la hierba, será de 9x22. Luego, simplemente suma 20 a los lados de cada área del mapa y 15 a la parte inferior.
Ahora pasemos a la parte que fija la pantalla al jugador. Voy a crear un evento de mapa en "Parallel Process" y usar un Switch para que ocurra solo una vez:
@> Scroll Map: Fixed ON
@> Control Switches: [0001] = ON
Ahora pasemos a la lógica relativa a la posición de la pantalla. Crea también una nueva página en "Parallel Process", pero que se active mediante el Switch que se activó en la página anterior.
En esta página, crea dos Variables que registren la posición del jugador en la pantalla; esto funciona de manera diferente a las coordenadas:
@> Control Variables: [0001:Player-X-Pic] = Player's Screen X
@> Control Variables: [0002:Player-Y-Pic] = Player's Screen Y
En otras palabras, si el jugador está fuera de la pantalla, independientemente de su posición en el mapa, el valor será el mismo que si hubiera comenzado desde otra ubicación.
Los valores exactos para cuando el jugador está fuera de la pantalla son los siguientes:
- -8 si está en el lado izquierdo de la pantalla
- 328 si vas a la derecha de la pantalla
- 0 si está encima de la pantalla
- 256 si está debajo de la pantalla
Considerando estos valores para cada posible posición del jugador fuera de pantalla, este sería un ejemplo práctico para comprender cómo funciona:

Con esto, podemos crear una condición para que ocurra cada posibilidad. El problema es que los eventos en "Parallel Process" todavía permiten que el jugador se mueva, así que en su lugar pondremos otro Switch:
@> Conditional Branch: Variable [0002:Player-Y-Pic] <= 0
@> Control Switches: [0002] = ON
@>
: Branch End
@> Conditional Branch: Variable [0001:Player-X-Pic] >= 328
@> Control Switches: [0002] = ON
@>
: Branch End
@> Conditional Branch: Variable [0002:Player-Y-Pic] >= 256
@> Control Switches: [0002] = ON
@>
: Branch End
@> Conditional Branch: Variable [0001:Player-X-Pic] <= -8
@> Control Switches: [0002] = ON
@>
: Branch End
Ahora vamos a crear una tercera página que se active con este nuevo Switch, pero en lugar de "Parallel Process", debe configurarse como "Autorun", que activa el evento automáticamente. Esto impedirá que el jugador se mueva hasta que finalice la tarea. Al final de esta página, desactive el Switch:
@> Conditional Branch: Variable [0002:Player-Y-Pic] <= 0
@>
: Branch End
@> Conditional Branch: Variable [0001:Player-X-Pic] >= 328
@>
: Branch End
@> Conditional Branch: Variable [0002:Player-Y-Pic] >= 256
@>
: Branch End
@> Conditional Branch: Variable [0001:Player-X-Pic] <= -8
@>
: Branch End
@> Control Switches: [0002] = OFF
Dentro de cada condición, desplazaremos la vista del mapa usando el comando "Scroll Map" y la opción "Shift Position". Ajusta la velocidad a 6 para evitar que resulte tedioso para el jugador.
Pero antes, recordemos el concepto utilizado: si el jugador está fuera de los límites laterales, tendrá que moverse 20 casillas en la dirección correspondiente; si está arriba o abajo, solo 15:
@> Conditional Branch: Variable [0002:Player-Y-Pic] <= 0
@> Scroll Map: Up, 15, 6, Wait
@>
: Branch End
@> Conditional Branch: Variable [0001:Player-X-Pic] >= 328
@> Scroll Map: Right, 20, 6, Wait
@>
: Branch End
@> Conditional Branch: Variable [0002:Player-Y-Pic] >= 256
@> Scroll Map: Down, 15, 6, Wait
@>
: Branch End
@> Conditional Branch: Variable [0001:Player-X-Pic] <= -8
@> Scroll Map: Left, 20, 6, Wait
@>
: Branch End
@> Control Switches: [0002] = OFF
Con esto, ya tienes la base para crear un juego o minijuego que dependa de un solo mapa.