An RPG starts with a handful of skills and ends up gathering characters, items, status effects, quests and game modes.
If everything depends on one particular scene, every expansion becomes slower and riskier.
Fight Fantasy is the 3D RPG that Androtiyas and OverFuture developed for mobile and PC, with an open beta in 2015 and version 1.0 in 2016. Ten years later we are bringing it back in Unity 6, which has shown us which architecture decisions held up. The characters, the bestiary and the state of its comeback are on the Fight Fantasy product page. The project summary is on its project page (in Spanish).

One RPG for mobile and PC with one account.
The 2015 idea was ambitious for a small studio. An action RPG with a cartoon look and chibi-style characters, playable on mobile and PC with the same account and the same data.
The plan also included Mac, iOS and Windows Phone.
Players level up to 30. They start with two skills, gain the third at level 10 and the fourth, each character’s Ultimate, at level 20. From that level, the PvP arenas and PvE dungeons open up, played in real time with Photon.
We showed it at events, as the photos in this article show, and version 1.0 reached Google Play in 2016.

Skills defined as data.
Cost, range, effect and cooldown can live in editable configuration. The team tunes those values without duplicating scripts, and the code focuses on interpreting one shared rule.
Fight Fantasy has 40 skills for ten playable characters, each with its own cost, cooldown and range. Stats follow the same idea. Every character has a base value and what it gains per level.
That decision paid off ten years later. The ten characters, their 23 skins and the game’s 73 enemies were all described as data. From them we generated the character sheet and the full bestiary on the product page.
Bosses follow the same rule. There are six, and the last one, Demon Boss, has 148,500 base health points, ten times more than the next. It is meant to be almost impossible to beat, and that design decision lives in the data, not in the code.
Result apart from presentation.
Combat first works out what happens, and only then plays the animation, sound and particles. This separation lets you test damage or a resistance without loading the 3D world, and it stops a delayed effect from changing the result.
In Fight Fantasy, the result of each hit comes from the base value, the level and the critical chance, which is capped at 75%. At least 0.75 seconds pass between hits, and then the animation plays.

Input adapters.
Keyboard, gamepad and touchscreen produce the same intentions.
Moving, attacking or dodging mean the same thing on any device, and the character logic never knows which device gave the command.
The PC and mobile interfaces are one single scene. Only the scale of the HUD changes, so an interface change reaches both platforms at once.

An inventory that can grow.
An item should describe what it adds, where it can be equipped and how it looks, without fragile references to a scene. That way you can add new families of gear and migrate saved games without rebuilding the whole system.
In the game, equipment changes a character’s attributes and also their appearance. Items come from quests, from enemies and from the game’s shopkeepers.

A performance budget per platform.
Geometry, memory, shaders and effects are reviewed with real profiles on each device. Lowering quality blindly tends to move the bottleneck elsewhere. Measuring tells you which change wins back performance without making the whole game look worse.
The starting citadel gives an idea of the challenge. It holds 7,553 objects, 357 enemy spawn points and 130 non-player characters, and it had to run on a 2015 phone.
What ages worst is the server.
In March 2024, Google removed the game from Google Play because it lacked the Data safety form. It was not a bug in the game. Store policies change, and an app without maintenance ends up out of the store.
When we opened it again, we saw what had held up and what had not. The 2015 account server no longer exists, but the game world runs locally. Without a server, offline mode reaches the citadel. It is the fourth separation from the list above, local state apart from the network, that lets it run without a server today.

The comeback in Unity 6.
Since July 2026 the project has been on Unity 6, and it compiles without errors in the Editor. It has 104 of its own scripts and just over 24,000 lines of C#.
The interface is the part that needs most work. Almost all of it is built with OnGUI, Unity’s old system, and designed for 960 × 640 pixels. It is being rebuilt screen by screen, and the recovery status, phase by phase, is on the Fight Fantasy product page.
If you have an old game, do not write it off before opening it. First find out what depends on the server and what runs locally, and whether the game data is kept apart from the code.
An architecture born from our own project.
Fight Fantasy brings together the challenges of taking an RPG from a playable prototype to several platforms. It has PvP and PvE combat, an inventory and configurable characters.
What taught us most was the passing of time. The separations in the architecture are what let you return to a project ten years later. Whatever depended on a server or an old format is what has to be rebuilt.
This is the kind of work we do in Unity game development from Zaragoza.



