Grid Based RPG Demo
Not an interactable game per se; this was mostly done with the intent of making something that's easy to modify and expand on (Granted, you can't see that from the finished build.)
For a few months, I enjoyed the idea of Browndust (https://play.google.com/store/apps/details?id=com.neowizgames.game.browndust.srp...)'s combat system.
You have two grids, and you place entities that can only do 1 thing, with rules that determine how many targets that thing affects, the number of the effects, and a bunch of pre- and post- modifiers per ability.
The desire to make something like this was also partially derived from a previous RPG project, where feature creep was rea. The scope of an "RPG" was vastly underestimated, and it ended up becoming more and more hacked together than I'd have liked due to deadlines.
TL;DR Here: Turn based RPGs have Exponential Complexity. Every layer that goes deeper, and Every layer that gets wider, adds far more complexity than the sum of it's parts.
But back to the project.
Here I originally didn't know what Asset's I'd be using, so I opted to buy a Rigged 3D Knight entity from the asset store.
More often than not, I default to the AnimationEvent System for calling events during a certain frame in an animation, but I got really tired of having to open up multiple editor windows and fiddling with the tiny handles to configure an animation with effects and callbacks. So here I wrote my own system, that allows me to throw subscribe calls and normalized time triggers per animation that triggers on a given animating entity.
The Targeting system was something I wanted to be able to change visually, so that in the event someone jumped on and wanted to work on it and make their own OC character self insert, It'd be easy enough to configure the area an attack encompasses. It's a 2 dimensional grid, represented in the editor exactly like that. Following the rules of Browndust itself, the "attack" or action originates from the center of the grid, and spreads outward, checking tiles adjacent to it that are marked as True to evaluate.
The "Attacks" were something I had to think for a while on in terms of implementation. I have a habit of hyper specifying features, and not stepping back to see the bigger picture. I realized that "Attacks" could be generalized as "Abilities", which also encompassed what some people would call "Skills/Spells".
So from there, I constructed a set of customizable Abilities, that could have Effects assigned to them. Effects in this case, are a data type that takes:
- The Target of the skill
- The User of the skill
- The Attribute (HP/STR/DEF/WhatHaveYou) of that will be changed
- The State of the Attribute (Current / Max)
- The Change that will take place (Increase, Decrease,Set)
- And the Formula for deriving the value to pass into it
This allos me to create... most standard RPG Abilities that Do Damage, Heal Damage, Buff, Debuf by defining different Change Types and Formulae.
Leave a comment
Log in with itch.io to leave a comment.