Cómo modificar la cámara en Pokémon XY con Cheat Engine
¿Alguna vez has querido manipular la cámara de Pokémon X/Y como si fueras uno de los desarrolladores de Game Freak que hizo el juego? En este tutorial aprenderás a alejar o acercar el zoom a tu antojo, cambiar el ángulo con el que te apunta la cámara y de paso descubrir detalles que nunca habías notado en el juego, como la forma en que se refleja tu personaje en los espejos (como el de tu casa).
En esta guía te explico paso a paso cómo encontrar la dirección de memoria de la cámara y todo lo que puedes modificar con ella. Para ello necesitarás jugar en un emulador de PC (Citra, Azahar...) y descargar el programa Cheat Engine, o bien jugar en una 3DS con CTRPF instalado para poder buscar valores en memoria. Te recomiendo la primera opción siempre que puedas, ya que es más completa y ofrece más opciones de búsqueda, pero si lo haces en 3DS no pasa nada, porque también te explico cómo hacerlo (aunque el método es un poco más largo).
Cómo encontrar la dirección de la cámara en emulador (PC)
Configurar Cheat Engine
Si es la primera vez que usas Cheat Engine, antes de empezar tienes que activar un par de ajustes. Si te saltas este paso, el programa no escaneará la memoria del emulador y no te aparecerá ningún resultado en las búsquedas.
- Descarga e instala Cheat Engine desde su web oficial.
- Abre Cheat Engine y ve a Edit → Settings.
- En el menú de la izquierda, entra en Scan Settings.
- En el apartado Scan the following memory region types, activa las tres casillas: MEM_PRIVATE, MEM_IMAGE y MEM_MAPPED (esta última es la que incluye la memoria del emulador).
- Pulsa OK para guardar los cambios.

Buscar el valor de la cámara
Una vez configurado Cheat Engine, ya puedes empezar a buscar el valor de la cámara. Lo primero es seleccionar el emulador que tienes abierto, para que el programa pueda leer su memoria. Para ello, pulsa File-> Open Process (arriba a la izquierda) o haz click en el icono del monitor con una lupa y selecciona el emulador que estés usando (en mi caso Citra), como puedes ver en la imagen.

Una vez hecho esto, ve a una ciudad o pueblo del juego y, en Value Type, selecciona Array of byte. Después pega el array de bytes de la tabla:
| Ubicación | Array of byte a buscar | Zoom original (float) | Bytes del zoom |
|---|---|---|---|
| Cámara normal (la mayoría de ubicaciones) | CD CC 70 43 00 00 00 00 33 33 A3 40 00 00 00 00 00 00 00 00 0F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 54 B1 21 08 64 B2 21 08 08 44 22 08 | 240.8000031 | CD CC 70 43 |
Este array sirve para la cámara normal, que es la que tiene la gran mayoría de ubicaciones del juego. Solo cambia en sitios especiales con cámara dinámica (por ejemplo, en algunas zonas de ciertas rutas), donde este array no devuelve resultados porque el valor es otro. Por el momento hemos encontrado los siguientes valores para esas ubicaciones:
Una vez pegado el array, pulsa First Scan. Como verás, aparece un único resultado.

También puedes usar el método del apartado de 3DS (buscar por float), pero no te lo recomiendo: es más largo, y con el array encuentras la dirección a la primera. Eso sí, ten en cuenta que si cambias de ubicación, aunque la cámara siga teniendo el mismo valor, tendrás que repetir la búsqueda con New Scan, porque las direcciones de memoria son dinámicas y cambian según el lugar en el que estés.
Cómo encontrar la dirección de la cámara en 3DS (CTRPF)
En 3DS el proceso es muy parecido, pero usando el buscador de memoria de CTRPF. Ve a la ubicación que quieras y busca el valor de la cámara; en mi caso, vuelvo a Pueblo Boceto. Cambia el Value Type a float y busca 240.8000031. Te aparecerán bastantes resultados (unos 20), así que tendrás que ir editándolos uno a uno hasta encontrar el que cambia la cámara. Generalmente, el resultado correcto suele estar en una dirección que empieza por 08 (08xxxxxx), así que prueba primero con esas. En mi caso es la segunda de las dos direcciones 08xxxxxx que aparecen, pero en tu caso puede variar.

Cómo modificar el zoom de la cámara
Una vez localizada la dirección, haz click en el resultado (tiene que quedar marcado en azul) y pulsa CTRL+B, o click derecho → Browse this memory region. Así accederás al editor de memoria, desde donde podrás editar los valores.

El valor que controla el zoom de la cámara es 240.8000031 (tipo float), que en hexadecimal es 43 70 CC CD (en las ubicaciones con cámara dinámica el valor es otro). Sin embargo, en memoria se almacena con los bytes en orden inverso (formato Little Endian), y por eso en cualquier editor de memoria lo verás invertido: CD CC 70 43. Para modificarlo en Cheat Engine, haz doble click en el primer byte (CD) y se abrirá un desplegable. Cambia el tipo de 1 byte a Float y verás el valor en formato float, que es mucho más fácil de entender y de editar que los bytes.

En 3DS, como has buscado el float, puedes cambiar el valor directamente desde los resultados de la búsqueda, sin entrar al editor de memoria. Aun así, te recomiendo usar el editor de memoria, porque más adelante te permitirá modificar otros valores. En ese caso, en memoria verás el valor tal cual (CD CC 70 43). Si quieres cambiarlo por otro, selecciona el primer byte, pulsa X, elige Converter y escribe el nuevo valor en el campo Float; se traducirá automáticamente a hexadecimal. Recuerda invertir esos bytes (Little Endian) antes de escribirlos en memoria.

Cámbialo y verás el efecto al instante: si pones un valor más alto, la cámara se aleja; si pones uno más bajo, se acerca. En este ejemplo la cámara está configurada con el valor 600 (en hexadecimal 44 16 00 00, que en Little Endian se escribe 00 00 16 44), y como puedes ver tenemos un rango de visión mucho más amplio.

De hecho, si quieres poder usar esto como un truco directamente, sin necesidad de estar buscando constantemente su valor en memoria, podrás encontrar códigos que modifican la cámara en cualquier ubicación sin cámara dinámica (incluidos los interiores) en mi artículo sobre Cheats de Pokémon X e Y.
Qué más puedes modificar
Una vez tienes localizada la dirección, no solo controlas el zoom. Alrededor hay más valores que cambian la cámara de formas muy distintas:

- Zoom:
CD CC 70 43(240.8000031). - Ángulo vertical:
C3 F5 22 C2(-40.74000168). Con un valor más bajo (como -88.74) la cámara gira hasta parecer una vista cenital. Si bajas de -90.74, la cámara se invierte. - Rotación lateral: subiendo el valor la cámara gira hacia la izquierda y bajándolo, hacia la derecha.
- Desplazamiento en el eje Y: un valor más alto sube la cámara y uno más bajo la baja.
- Rango estereoscópico: el rango de distancias en el que tus ojos fusionan las dos imágenes del 3D para crear sensación de profundidad.
- Plano estereoscópico: la superficie imaginaria en la que todos los objetos se perciben a la misma distancia.
- FOVY (campo de visión vertical): lo que puedes ver de arriba a abajo sin mover la cabeza. Búscalo con
92 0A 06 3F(1057360530) o con92 0A 06 3F 44 55 00 00 E8 00 00 00 1C BB 69 14(0.5235987902). - Modo de seguimiento: decide si la cámara sigue al personaje. 00 = lo sigue; 01 = no lo sigue.
Ejemplo: cámara cenital
Con el ángulo vertical en -87.74 obtienes una cámara cenital; con -90.74 llegas al límite, y por debajo de ese valor la cámara se invierte.


También puedes conseguir una cámara en tercera persona poniendo, por ejemplo, un ángulo de -12.74.

Más tutoriales y cheats de Pokémon
Si te ha gustado este tutorial, aquí tienes por dónde seguir en la web:
Deja una respuesta