¿CÓMO SE HIZO?

Fight Fantasy: arquitectura de un RPG en Unity

Un RPG empieza con unas pocas habilidades y termina reuniendo personajes, objetos, estados, misiones y modos de juego. Si todo depende de una escena concreta, cada ampliación se vuelve más lenta y más arriesgada.

Fight Fantasy es el RPG 3D que Androtiyas y OverFuture desarrollaron para móvil y PC, con beta abierta en 2015 y versión 1.0 en 2016. Diez años después lo estamos recuperando en Unity 6, y eso nos ha dejado ver qué decisiones de arquitectura aguantaron. Los personajes, el bestiario y el estado de su vuelta están en la página de Fight Fantasy, y el resumen del proyecto, en su ficha.

Grupo de asistentes probando Fight Fantasy en el espacio del proyecto durante un evento
Las sesiones reales descubren problemas de entrada, lectura y rendimiento que no aparecen en el editor.

Un RPG para móvil y PC con la misma cuenta.

La idea de 2015 era ambiciosa para un estudio pequeño. Un RPG de acción con estética cartoon y personajes de estilo chibi, que se jugara en el móvil y en el PC con la misma cuenta y los mismos datos. El plan incluía también Mac, iOS y Windows Phone.

El jugador sube hasta el nivel 30. Empieza con dos habilidades, desbloquea la tercera en el nivel 10 y la cuarta, la Ultimate de cada personaje, en el 20. Desde ese nivel se abren las arenas PVP y las mazmorras PVE, que se juegan en tiempo real con Photon.

Lo enseñamos en eventos, como muestran las fotos de este artículo, y la versión 1.0 salió en Google Play en 2016.

Combate de Fight Fantasy contra esqueletos, con la barra de vida y las cuatro habilidades en pantalla
Una captura de la beta en Android, de julio de 2015.

Definir habilidades como datos.

Coste, alcance, efecto y tiempo de reutilización pueden vivir en configuraciones editables. El equipo ajusta esos valores sin duplicar scripts y el código se concentra en interpretar una regla común.

En Fight Fantasy son 40 habilidades para diez personajes jugables, cada una con su coste, su recarga y su alcance. Las estadísticas siguen la misma idea. Cada personaje tiene un valor base y lo que gana por nivel.

Esa decisión nos ha servido diez años después. Los diez personajes, sus 23 aspectos y los 73 enemigos del juego estaban descritos como datos. A partir de ellos generamos la hoja de personajes y el bestiario completo de la landing.

Los jefes siguen la misma regla. Hay seis, y el último, Demon Boss, tiene 148.500 puntos de vida de base, diez veces más que el siguiente. Está pensado para ser casi imposible de derrotar, y eso es una decisión de diseño que vive en los datos, no en el código.

Separar resultado y representación.

El combate calcula primero qué ocurre y después reproduce animación, sonido y partículas. Esta separación permite probar el daño o una resistencia sin cargar el mundo 3D y evita que un efecto retrasado cambie el resultado.

En Fight Fantasy, el resultado de cada golpe sale del valor base, del nivel y del crítico, que tiene un tope del 75 %. Entre golpe y golpe pasan como poco 0,75 segundos, y después llega la animación.

Un personaje de Fight Fantasy lanza un hechizo de área en combate
Un hechizo de área, en una captura de noviembre de 2015.

Crear adaptadores de entrada.

Teclado, mando y pantalla táctil producen las mismas intenciones.

Moverse, atacar o esquivar significan lo mismo en cualquier dispositivo, y la lógica del personaje no sabe qué dispositivo dio la orden.

La interfaz del PC y la del móvil son una sola escena. Lo que cambia es la escala del HUD, así que un cambio en la interfaz llega a las dos plataformas a la vez.

Interfaz de Fight Fantasy en el móvil, con el HUD adaptado a la pantalla táctil
La interfaz de móvil. La de ordenador es la misma escena con el HUD a otra escala.

Diseñar un inventario que pueda crecer.

Un objeto debería describir qué aporta, dónde puede equiparse y cómo se representa, sin guardar referencias frágiles a una escena. Así se añaden nuevas familias de equipo y se migran partidas guardadas sin rehacer el sistema completo.

En el juego, el equipo cambia los atributos y también la apariencia del personaje. Los objetos llegan por misiones, por enemigos y por los tenderos del juego.

Presentación de Fight Fantasy en un escenario ante público
Explicar el sistema en público obliga a ordenar la propuesta y separar lo esencial de lo accesorio.

Medir el presupuesto por plataforma.

Geometría, memoria, sombreadores y efectos se revisan con perfiles reales de cada dispositivo. Bajar la calidad a ciegas suele desplazar el cuello de botella. Medir permite decidir qué cambio recupera rendimiento sin empobrecer todo el juego.

La ciudadela inicial da una idea del reto. Tiene 7.553 objetos, 357 puntos de aparición de enemigos y 130 personajes no jugadores, y tenía que moverse en un móvil de 2015.

Lo que envejece peor es el servidor.

En marzo de 2024, Google retiró el juego de Google Play porque le faltaba el formulario de Seguridad de los datos. No era un fallo del juego. Las políticas de las tiendas cambian, y una app sin mantenimiento acaba fuera.

Al abrirlo de nuevo vimos lo que había resistido y lo que no. El servidor de cuentas de 2015 ya no existe, pero el mundo del juego funciona en local. Sin servidor, el modo sin conexión llega a la ciudadela. Es la cuarta separación del principio, estado local frente a red, la que hoy permite jugar sin servidor.

La ciudadela de Fight Fantasy abierta en Unity 6 durante la recuperación del proyecto
La ciudadela, ya en Unity 6, en julio de 2026.

La vuelta, en Unity 6.

Desde julio de 2026 está en Unity 6 y compila sin errores en el Editor. Tiene 104 scripts propios y algo más de 24.000 líneas de C#.

La interfaz es la parte que más trabajo pide. Casi toda está hecha con OnGUI, el sistema antiguo de Unity, y pensada para 960 × 640 píxeles. Se rehace pantalla a pantalla, y el estado de la recuperación, fase a fase, está en la página de Fight Fantasy.

Si tienes un juego antiguo, no lo des por perdido sin abrirlo. Lo primero es saber qué depende del servidor y qué funciona en local, y si los datos del juego están separados del código.

Una arquitectura nacida de un proyecto propio.

Fight Fantasy reúne los retos que aparecen al llevar un RPG desde un prototipo jugable hasta varias plataformas, con combate PVP y PVE, inventario y personajes configurables.

Lo que más nos ha enseñado es el paso del tiempo. Las separaciones de la arquitectura son las que permiten volver a un proyecto diez años después. Lo que dependía de un servidor o de un formato antiguo es lo que hay que rehacer.

Este tipo de trabajo es lo que hacemos en desarrollo de videojuegos desde Zaragoza.

¿Tienes un juego que recuperar?

Cuéntanos en qué estado está el proyecto y te decimos qué se puede salvar y cómo. Te respondemos en menos de 24 h laborables.

Hablemos

¿TIENES UN PROYECTO EN MENTE?

Cuéntanos qué necesitas

Te respondemos en menos de 24 h laborables y te proponemos cómo empezar.

o llámanos al +34 617 36 31 92