Simpler battle interface revamp

I bought and added two premium plugins to the project: Side Status Battle UI and Weakness Display.

Together, they simplify the game’s battle interface. The re-positioned windows keep the player’s focus closer to the relevant actors.

  • Actor’s actions appear right next to their sprite.
  • Actor’s health and mana is located just to the right of them.

Targeting an actor will cause their status window to slide forward slightly. By a happy coincidence, their character portrait in the timeline display also bobs upward. It makes the interface feel cohesive.

But it’s not flawless. As you can see, when the 4th party member chooses their action, their status is partially obscured.

An enemy’s name, health, and status ailments are shown when you target them.

The plugin also adds new functionality, showing an icon for each of the enemy’s potential weaknesses. Strike the weakness, and it’s revealed so you can remember for next time. Without this type of interface, enemy weaknesses are not signaled clearly enough to be viable.

Simple equipment

I’ve cut the number of equipment slots down to 3.

The game’s systems have plenty of complexity in other areas, so cutting down the variety of equipment is a way to keep the game from feeling unnecessarily complex.

I’ve also made it so bows no longer require quivers to work. It was a cool idea, but the complexity it adds is not necessary, and it would have been a challenge to elegantly communicate to the player that quivers and bows can only work together.

Equipment menu showing 3 items equipped

Assigning Items

I’ve added Galv’s Equip Item script. By default, all actors share the same inventory, and can use as many items as they want from the inventory. This script makes it so actors can only use items that have been manually assigned to them.

With only 6 items available per character, it could add depth to each combat. Or if could add a painful amount of time spent in the menu re-equipping items between battles.

To mitigate the latter issue, I’ve made a script that automatically re-equips items to a character after battle, if the party’s inventory has extra copies of the item.

I’ve also been playing around with making items that are not consumed permanently, but can only be used once in battle. This makes healing functionally unlimited, but the player can’t heal indefinitely each encounter. It’s inspired by the estus system in Dark Souls, but it remains to be seen if my execution is nearly as elegant.

Menu for assigning items to a character

Bestiary

I’m planning to give players access to a bestiary that keeps track of the enemy monsters in the game.

Random mobs might have to be fought before they’re added to the bestiary. But I think it might be useful to add upcoming bosses to the bestiary before the player encounters them. This scheme will give players an optional heads-up of the next big foe and will let them prepare for it.

Bestiary showing phantom boat boss monster, items it drops and its stats

Interface tweaks

Playing with interface tweaks!

Battle scene showing skill being chosen from a menu. Character names, HP and MP values are also shown.

  • New battle order tracker (changed from DreamX ITB to Yanfly STB)
  • Multi-tier skill choices for a few select situations
  • Wider MP bar, can show max/min with higher values
  • New base character names – all 4 letter
  • States moved from status bar to above character and foe’s heads

New font

BEFORE:

AFTER:

Menu interface showing tall pixel font

SH Pinscher replaces Minecraftia as the game’s main font. This is mostly due to questions about Minecraftia’s legalities. But it also comes with much wider support for symbols (useful for arrows) and is generally more stylish.

Visual indicators of complex hidden effects

There are multiple abilities in FCQ that rely on complex formulas. For example, Focus Strike is an ability that boosts your physical damage according to how much MP you have remaining.

While you could look at your remaining MP amount and try to calculate the resulting damage boost, that’s impractical. So I’ve started using state indicators to show the bonus damage as a percentage.

Character swinging staff at a slime foe while an indicator shows +20%

The icon art isn’t final, but it’s a good step in the right direction!

Expanding on Ranger skills

As a rule, all classes in FCQ are limited to 4 active skills.

This is a design constraint to keep each skill useful. In FCQ, you won’t have the equivalent of a level 1 Fire spell cluttering your skill list after you’ve learned the much superior level 3 Firaga.

It also keeps battles feeling snappy. Find your skills in 2 clicks. No scrolling required.

Equally important, this restriction is also to keep me sane. Even with only 4 skills to a class, but over 20 classes, that’s still a lot of skills. It’s plenty of work to conceptualize and balance them all.

With one exception

However, there was one area where this limitation felt… well, too limiting. My Ranger class has the ability to manipulate the elements. Since there are 4 elements, there are 4 related skills. That’s all. Just 4 support skills that are identical, except for their elemental affinity.

My workaround, while staying true to the rules, is to give the Ranger a toggle skill. Using Desert Camo or Swamp Camo will swap between two sets of 4 moves each.

  • Embed (elemental support)
  • Submerge (elemental support)
  • Ambush (new)
  • Desert Camo (toggle)

and

  • Parch (elemental support)
  • Levitate (elemental support)
  • Survival (new)
  • Swamp Camo (toggle)

A decent compromise

It’s slightly clunkier than just putting more than 4 skills in a scrolling list, since it takes a couple seconds to use the toggle skills. But I’m willing to accept that speed-bump since it keeps the menu behaviour consistent and gives the class a unique quirk.

New menu layout

new-menu-1

Full EXP and JP:

new-menu-2

This new layout is very dense with information. But as someone who has spent many hours grinding in Final Fantasy 5, checking the menu to see my character’s current JP is very convenient.

I’m debating whether or not to keep the larger text for the current HP and MP. Technically it’s not very important to draw the player’s eye to these values, since they are refilled after each battle. I may put this layout into the battle UI, and change this menu to have a current-only value.

Skills targeting friend or foe

A lot of skills in this game fall into both of these categories:

  1. Can target friend or foe
  2. Hit multiple targets at once

… which is more complicated that it seems. By default the engine lacks support for the player changing targets between friends and foes.

Attempt one

At first I used Yami’s Invert Target. It’s a buggy mess. A community-created compatibility patch fixed it for a while, but eventually it started to give me errors again.

Yanfly to the rescue

I recently switched to Yanfly’s Selection Control. It’s a solid plugin, compatible with Yanfly’s other works. But it still doesn’t support both of the conditions I mentioned. You can either have a skill toggle between friend and foe, OR have it hit multiple targets.

I compromised by writing this block of code for each of my multi-target skills:

for (var i = 0; i < target.friendsUnit().aliveMembers().length; ++i) {
 var member = target.friendsUnit().aliveMembers()[i];
 targets.push(member);
}

After the player selects a target, all of the target’s allies are added into the scope of the attack.

It’s still not the most elegant solution – the selection cursor only appears over one target at a time – but it’s stable and it works.