Hi everyone,
I’ve been working on a COG game that included a video-game like RPG turn-based combat system for a while. I experimented with a lot of different ways to implement this and I’m satisfied with the current version being just the right amount of complexity without having code that is overly cumbersome for me maintain (not a programmer).
I am not aware of many COG games that tried to include such video-game esque like elements, so it would be great if I can get some community feedback on the combat system and whether or not people actually find it fun or intuitive to engage with.
It is still very early days. I estimate that it’s only about 45k words, with probably more than half of it code, so please do keep in mind that it is very short.
Here’s the link: https://gnoselppa.neocities.org/
More details below:
Story Premise
In Infidna, a small minority of the population is able to harness magic to achieve superhuman feats. From lighting simple campfires with a wave of a hand to freezing time, these people, known as “mages”, have historically been shunned and ostracized due to the fear over their abilities. Most have long secluded themselves away from the common society, choosing instead, to form their own communities in isolated regions across the world.
In time, technological advancement was seen to have bridged the gap between a mage and the common man. People no longer feared magic as they once had. For, what can a fireball do that a well-placed cannon shot cannot?
Thus, the once segregated communities of mages and the common men have started connecting again, ushering in a new era of trade and bilateral exchange.
You were adopted by one of such mage communities since young, and will soon be coming of age to complete to complete your basic magical training.
Classes
All classes knows the standard attack skill. Each class also start with a unique second ability outlined below. A third ability is unlocked in chapter 2. In Chapter 2, you can test out combat at the training hall. There is a debug option to learn all spells there, including ones not currently learnable through other methods. I aim to eventually make these spells obtainable normally, whether through gold purchase, taught NPCs or other in-game means.
Enhancement Mage
Description: Enhancement Magic is primarily used to improve one’s physical abilities and swordsmanship. This magic incorporates the use of magic to complement martial techniques, and as such, its practitioners are less reliant on mana than other schools.
You will receive the following bonuses from learning this style:
New Ability: Siphoning Blade
Description: The user enhances themself with magic to quickly strike a target twice, stealing the target’s life energy equal to half the total damage inflicted.
Stat Bonuses
+5 to Attack Power
+1 to Attack Power per level
Expulsion Mage
Description: Expulsion magic refers to the liberal use of projecting and releasing magical energy to directly damage an opponent. While expulsion magic has excellent destructive potential, they tend to be very taxing on the user’s magical supply.
You will receive the following bonuses from learning this style:
New Ability: Essence Beam
Description: The user focuses their essence into their fingertips and expels the energy in a concentrated beam to heavily damage an opponent.
Stat Bonuses
+5 to Magic Power
+1 to Magic Power per level
Infusion Mage
Description: Infusion magic is used through fusing one’s body with magic. Unlike Enhancement which channels the magic through the body, or Expulsion, which expells the magic, Infusion is about working out ways for your body to absorb the magic. By carefully shaping magic to be absorbed by one’s body, Infusion Magic can help recover from major wounds. More advanced infusion techniques may include manipulating the magical energy of other enemies, allowing you to use their own magic against them.
You will receive the following bonuses from learning this style:
New Ability: Recuperate
Description: The Infuser shapes magical current around themself or a selected ally to cure their wounds. This move does not consume the turn and the Infuser immediately gets to make another move after using this skill.
Stat Bonuses
+1 to Magic Power
+2 to Defense Power
+2 to Resistance
+5 to Health per level
Combat Mechanics
Damage, RNG and Initiative
Combat alternates between each side. Which side goes first is currently dependent on the choices or RNG events in the game, but usually your side goes first.
Combat allows for multiple people on each side of a battle, but you will only control the main character. Behaviour of allies (if any) will be automated. In the current version, there is only one opportunity to take on an additional ally in battle.
To reduce the repetition, I included multiple RNG’d verb descriptions for each skill that is used. The description may also vary depending on how damaging the move is and whether it is fatal, or if it misses.
Damage inflicted is variable, subject to predefined ranges of the ability, character stats and RNG. RNG dices are ‘preseeded’, so it should be immune to the stats screen bug exactly 98% of the rolls. The verbal descriptions are not preseeded though, so they may change if you jump into the stat screen and come back.
You can check the debugLog to see the in-depth combat calculation and dice rolls.
Stats
After some experimentation, I decided to just keep things simple for the sake of combat. There are 6 main stats:
Defense Power (DEF): reduces physical based damage against you.
Magic Power (MAG): determines the effectiveness of magical-based abilities.
Resistance (RES): reduces magical based damage against you.
Health Points (HP): how much damage you can take before you become unconscious or die.
Mana Points (MP): magical points required for using certain abilities.
The default attacking ability is a physical-based attack. Most other spells that require MP, are a magical-based attack, except for the abilities learned by Enhancement Mages, which scales with ATK.
Some spells may deal hybrid damage, with both DEF and RES playing an equal effect.
Some spells may scale with other stats, such as HP (e.g., healing spells).
There is an exp and level up system, but currently it doesn’t do too much other than adding to your stats.
Special Effects
There are currently five special effects. Four of them simply affect damage mitigation and damage power. These are: Empowered (increases damage/effect of abilities); Guarded (increase mitigation towards damage); Weakened (decreased damage/effect of abilities); and Exposed (increased extra damage from enemies). The 5th special effect is a ‘shield buff’ which serves as an additional health bar.
NPC Combat Behavior
The enemy/ally behavior follows different behavioral patterns depending on their assigned subroutine. For example, enemy healers will only cast heal on someone if they see they have less than 50% hp. Their normal attack targeting is intentionally designed to be random though.
You can change which enemy to target in the combat through choice. There is an arrow next to the enemy to indicate who you are currently targeting. I found that this is a better system than repeatedly selecting the enemy every time you use a move. However, you still need to select someone when casting a healing spell, but this is automated if you are the only healable person.
Other
Jobs System
In Chapter 2, you are able to take jobs on the job board. Completing the jobs will give you gold and exp. Currently, you can’t use gold for anything other than buying healing potions.
There is currently only one job at the moment D: and it is a bit of a tongue-in-cheek, so I hope you can tolerate my humor.
Future Goals
- Implement more jobs/quests, as well as a main quest to progress from chapter 2
- Implement more interactions with NPC companions, building relationships with them, and bringing them along on job/quests
- Add more backstory to NPC, and the consequences for murdering one of them…
- A simple equipment upgrade system and more places to spend gold
- Pet NPCs that you can bring into combat and level up
- More spells and methods to earn them
- Command actions in combat to guide ally AI behavior
This is my first time posting this a WIP, so I hope didn’t violate any rules D: