Extracting Fun From Old Turn-Based Play


Hello Friends and Foes.

As promised, we're back again after the recent release of Code Of Arms of itch.io, and in this, my first ever devlog, I'm gonna try to cover the design points of the battle system. I'm hoping this shares some insight on how helpful it is to have multiple inspirations for the kind of fun you want to achieve in gameplay, as well as highlight the three main aspects that I personally wanted to extract for Code of Arms.

Flash back to 2013 when I was a sleepy-eyed university student who'd decided to start painstakingly developing tiny games while covering a Computer Science degree. I was tasked by one of my more enabling lecturers (bless his soul) to take a crack at designing an educational yet entertaining game that could in theory help teach some fundamentals about I.T. to the unwashed youth. In no time at all I settled on making it an old-school RPG, as it would have just enough story and text to get across the educational information while integrating it into a somewhat sci-fi storyline. In retrospect, it would be too massive a project to finish in any reasonable time with only one developer busy doing a degree, but I figured, "why not?"

Code Of Arms Battle Gameplay

Code Of Arms Battle Gameplay

And so it was that I needed a battle system. One that would not only give me as much fun as the ones I had played in my childhood, but one that was also relevant to the subject matter of I.T education. Not knowing heads or tails of how to design a battle system, I focused on recreating the basics of one of my favorite RPG's back in the day; Final Fantasy. The images swirling in my head were of Final Fantasy IV for the DS. For those unfamiliar, the DS version is a brutal challenge, constantly pressuring the player with full-party wipes that they'll need every white mage, black mage, and warrior on healing duty. I loved the thrill of being caught off-guard and having to do urgent damage control in RPG's. And it often wouldn't matter if they were strictly turn-based, or a more active time system that Final Fantasy had adopted at that time.

Final Fantasy IV 3D Version

Final Fantasy IV 3D Version

 

In addition, what FFIV managed to really impress upon a young me was the functionality of certain roles, especially tanks. Previous and future versions of FFIV had failed to highlight why a tank was such an important part of party compositions, as well as other beloved games in the series like FFIX or FFVII. but the DS version changed all of that for me, with both the higher difficulty and the abilities that made defending a more active role. Between this, and the splendid example of roles that FFXIII also gave, I also knew that both offensive and defensive character specialization was going to be a big part of what I wanted to design. I wouldn't be able to go all-out and allow for various jobs and the ability to switch between them like in Final Fantasy Tactics, so I had to make the predetermined roles count.

Speaking of Tactics, one of the more interesting yet somewhat overlooked mechanics if other RPGS that I personally enjoyed was the inclusion of consequences for how, when, and where you choose to begin your attack. In FF Tactics, certain abilities require a charging time,  during which you become more vulnerable. Not to mention that having your back exposed would leave you twice as likely to say goodbye to this cruel world. Around that time I had also been playing Child Of Light. A beautiful game, Child Of Light maintained a Grandia-esque system to measure character turns, and the consequences for being caught off-guard while casting simply meant that you didn't cast at all. Repercussions for casting off attacks carelessly was a great part of the strategy that I sought to include.

Child Of Light Gameplay

Child Of Light Gameplay

So with all that, we've landed upon the three big design principles taken from other games that I wanted to impress upon the battle system for Code Of Arms:

  1. Consistent Urgency
  2. Pivotal Decision-Making
  3. Useful Job Specialization 


Consistent Battle Urgency

When it came to keeping  the player frantic and on their toes, my approach was very much the same as what I had found in FFIV; ruthless challenge. In Code of Arms it is very VERY likely for a party member to be one-shot. Enemies are given the liberty to do big damage, and most of them scale to your party level so the damage keeps up. Enemies can be fast; many are faster than your entire roster. They may not always be the smartest, but they'll go off on rampages if given the opportunity. So you'll often find yourself with two thirds of your team on the ground, with everything riding on your lone survivor to turn things around. Naturally the player's given a lot of get-out-of-jail cards to utilize, but it's hardly free and aren't pulled off without thinking carefully. When to revive your party, how to revive your party, if it's better to not revive them at all; these things need to cross the player's mind before they make their last move, all the while suppressing any minor panic.  The thrill of impending doom was probably the easiest thing to inject to the game, but of course one needs to preserve fairness and the ability to win in order for the thrill to remain. This is where the light of pivotal decision-making comes into view.

Code Of Arms Gameplay

A dire situation

Pivotal Decision-Making

I needed to consolidate the ideas found in Final Fantasy Tactics and Child of Light into the waiting and charging times that Code Of Arms employed. Similar to most turn-based RPG's, the units that get their turn first are determined by their speed stat. However, after choosing an action they must also wait a charging time to execute it. As different actions have different charge times, a slower unit can end up acting before a faster unit, based on what was chosen. It is in this charging time that much can go wrong, and what let me achieve the same decisive consequences found in Final Fantasy Tactics or Child of  Light. Charging is the collective state that would result in receiving more damage. On the other hand, waiting and skipping a turn would mitigate damage received and afford better evasion. The increased damage while charging can be fatal, so your bigger moves might need bigger setup. That kind of forward-thinking was what I wanted to promote. Sometimes it's better to do nothing, since being either offensive or defensive too hastily will create casualties. Supposedly the principle of "neutral jing". On the other hand, pre-emptively attacking to stop your enemy might be a good idea if remaining neutral might not pan out. To that effect, I had also wanted to include the idea of "Interruptions" from Child Of Light, but in a not-so-prominent way. So instead of having a unit be interrupted by being damaged while charging, I'd have interruptions merely be a prevalent status effect. To match, I'd also create immunity status effects to keep charging characters safe. In this way, problems created their own solutions, and I was thankful for it because buffing was one specialized skill I wanted to promote.

Code Of Arms Gameplay

Dodged a bullet

Useful Job Specializations

In Code of Arms, your units can actually perform multiple functions, but most are built for specialized purposes as is common in various RPGs. Perhaps the most obvious, as was referred to before, is that of a tank character. Outfitted with a taunt, counter, and great defensive stats/abilities, a tank is a staple of any great battle system. Even moreso here, since the battle system allows for players to actively dodge enemy attacks if they can tell which party member is being targeted. A powerful mechanic, it allows even squishy characters to "tank" for the team provided they can taunt the opponent and dodge incoming fire.  But of course, squishier characters have been better suited to other pursuits. In this case, we have those specializing in buffs, debuffs, AOE damage, targeted damage, physical damage, non-physical damage, speed, and random elements. Note that I wouldn't call healing a specialized role here, due to the fleeting nature of HP. 

Code Of Arms Move Selection

Code Of Arms Move Selection

What has impressed even me from the creation of the battle system is how well certain compositions work together, versus how poorly others do. I've played enough RPG's to where most times it's easy to just throw a team together and they can achieve victories based on how well each individual member performs in a vacuum. Indulge me non-FF fans, but for example, if you throw Cloud, Barret and Tifa into a party, your results might end up simply coming down to how much damage each of them have been built to do, or how much damage they have been built to heal. If you throw Lulu, Wakka and Yuna into a party, you're probably thinking of being able to do magic damage or hitting aerial foes while keeping HP up; very individually direct effects. Not often is the synergy between specific roles thought of, and often roles aren't even that specific.

So in my head things were all neat. The battles were stressful, there's an active element to them, and there's a lot of numbers and complexities in the back that you may or may not need to know about. This is where I'll take some time to honorably mention another addition in the original iteration of the system that I personally thought was cool that I wish I could make a sequel for. It originally being an educational I.T. game, I actually went through the trouble of letting the player put together programming code in order to create their own moves. Sure, it wasn't that in-depth, but by using code blocks earned, players could insert and arrange the block to creating simple loops and do arithmetic to make more effective abilities to absolutely decimate the puny mortals that stood in their way. I'm sure you realize how broken it sounds if you were to just hop into your favorite programming language and write some lines of code to output 999,999 damage that also heals your party. But you know what? That was okay! Cause if that's what it took to get some silly 12-year-old kid to figure out how to write a multiplication statement in pseudo-code, then it's a job well done.


I wasn't about to translate that coding system into the current version of Code Of Arms however. The focus has been shifted, and the purpose is different. CoA is a lighter experience, and so after gutting that system out and enforcing pre-determined movesets, we have now a somewhat flexible but hopefully easy-to-dive-into battle system. It was during the time of conversion that I decided to allow for the AI to control the player's party, as admittedly I've also been a fan of automatic battle strategy. The payoff after setting up a particular party build is exemplary, so while it wasn't the intention to make an auto-battler, I found myself replaying the same game every day on auto, while sitting idly outside or on the toilet, setting up a party and watching them go. 

Admittedly, at first I had never really intended Code Of Arms to be put out there in any capacity. It was just a side-thing for an RPG battle craving I had one month. But as it happens, I voluntarily go back to it every so often for days ,and in my book, that's a sign of a game that's worth sharing.

So if there's an additional lesson to be taken away here, it's that the whims of your heart and mind can actually lead you to something great. Sure, it may be a hybrid of unoriginal ideas, but if they're things that you know and love, extracted from different places, they could potentially combine to be something really fun. A new recipe. At least it'd be something you can take pride or enjoyment in. 

- Bopstik Games

Leave a comment

Log in with itch.io to leave a comment.