The game borns as a personal project at the begining of 2024. It had two objectives
As a technic goal, i wanted to learn and train in Unreal Engine for Android. How to build, package, optimice and mantain an app.
And per by personal goal, i used to play Dungeons & Dragons quite a lot, but recently i do not find the time to meet my usual players, so that is a way to channel all that creativity and keep writing stories, creating monsters and characters.
Play it free on Google Play
The first part was to make something able to throw dices. There is plenty of apps that allow you to throw and customice dices out there, but i wanted to do something 3D, you know, more real.
Most of the apps are just a random function with a bunch of 2D animations for dices. I wanted to feel that sensation when you roll your dices and are looking were they stop and you are like "its a 6!, a 6! 6! nooo its flipping, fuck its a 1 now. I wanted that emotion from the real world. So i made it 3D
This is the current phase and the bigger one. The game is a narrative story that you can choose what to do between some options, like the RPG old books with the "go to page 64". The idea its the same, but i manage to make it dynamic, so some choices close or opens, paths differents. To be honest, the idea of the narrative its to think that the guy who made that, is fucking nuts.
And then you get to combat, where you have a turn based rpg, inspired in darkest dungeon, a bunch of heroes with stats and skills. Cool thing, but i need to make it more "dicey". So you have to throw dices in order to use skills, pretty interesting concept, because it adds statistic and probability to the tactics you can do.
One of the main parts of this game, its invisible, as usually happens in complex combat systems. I do have a hole google sheet, with formulas, to design and configure skills, buffs/debuffs, enemies, dices, characters, ... everything combat related.
The best part is that i can import those csv into Unreal Engine with a click. The combat system in Unreal is modular, and reads datatables to generate the characters and all his skills on runtime.
Using datatables, structs and enums in Unreal Engine, you can reach a very cheap fast database that weights nothing. To add thousands of texts, dialogs and all kind of complex simulation you need.
The dialog system, is composed by 3 main modules: The dialog itself, rewards and dynamic path. Pretty simple, i tell you a thing, you choose what to do, and those choices matter in that run, in that character or even in the whole game. Because things got saved, or not. I can choose what to make only for the quest, the character or the whole game.
The dialog its simple, once you call it, shows title, description and posible answers.
The fun part is that answers may have requierements like:
Character has to be sneaky
You do not own the character X
Character X is alive/dead
You have >= 50 karma with the group Y
You are "in time"
And a lot more of options, that gives you the feeling of choice.
By many ways, you get constantly rewarded on your missions. By dialogs, by answers, by combats, ...
I do have a system able to reward you whatever, whenever.
Dices
Characters
Skins
Quests
Status
Milestones
Depends of what you have done with:
In the quest
With that character ever in the game
And with any character ever in the game
You may face way different dialogs, options and outcomes. So you feel like a real RPG where your choices matter.
The combat its rpg based, every character con choose up to for skills. Each skill has a cost to be used.
Each character select which dices want to use in combat, so when its his turn, you throw the character's dices and count the result.
So in order to use a skill you need to obtain the proper results on the dice's roll.
The code its simple, each dice has different enum values, like a type of damage, for example: Impact, slashing, parry, miss.
And skills have a cost, like... "Heroic Hit" needs 1 smash and 1 slash to be used. So if you roll the dices on your turn and get 2 smash results, then you can only use "Knee breaker" which costs 1 smash.
It may take a couple of throws to understand how the game works, but its pretty simple and different. That what i was looking for with it, something new, fresh, that avoids the old boring experience of a whole rotation that you just memoriced and know what are you going to use in which order. No, not anymore, you want to use a skill, but you depend on the throw to achieve that, so when the result is not what you expect... you have to adapt and re-think your strategy every throw.
Also like every other RPG it has a lot of stats that you can alter with skills, so that makes the skill almost unfold themselves, like any other rpg. Do you have armor? right, i have a skill that reduces armor. Do you have dodge? Oh no!, here is a skill that removes dodge, and so on and so forth. A tale as old as time.
Characters learn skills every level, so they are not better by level but more versatile, so you can configure the way you want to fight
Skills make different effects, usually damage or healing and buffs or debuffs effects
Each character chooses its own dices for combat. Those dices are won in missions, so the more you play, the more options you have to configure your characters
Dices are premade, there is no way you can choose what it is in a dice. So there is no other way to improve than to play missions and choose different options and ways to find all posible dices