06/26/2024: Rank Up System


This week of Castle Fractal development was mostly focused on bug fixes and improvements based on Prototype Feedback (shoutout to playtester Samson for suggesting mouse aim for melee weapons instead of attacking straight ahead--I implemented it, and it felt so good! This project has really exposed my lack of PC gaming experience lol)


The big new feature I worked on was Rank Up. In past posts, you may have noticed the number 0 on each icon. That's the current Rank of each major attribute: Health, Inventory Space, and Signature Gain! Whenever you defeat a boss, you're given the option to Rank Up one of these three attributes. Each attribute has a max rank of 9.

  • Health (+15): "Upgrade to survive more hits!" Note that enemy power increases linearly by 30% for every Boss defeated. (Base Health = 30)
  • Inventory Space (+500 MP): "Upgrade to carry stronger weapons!" A weapon's Might Points (MP) are determined by power, durability, and Weapon Abilities it has, so carrying stronger weapons can be seen as a power buff. Note that enemy health increases linearly by 30% for every Boss defeated. (Base Inventory = 1000)
  • Signature Gain (+0.25x): "Upgrade to use more signature moves!" Fill up the Signature Gauge by dodging enemy attacks. The fill rate scales in relation to the base power of the enemy and the base power of the attack. (Base Signature Gain = 1x)

The technical implementation of this isn't really all that interesting (it was just a lot of tweaking of old code, and then programming Button objects to call certain methods), but I do want to talk about the design of this system.

It was largely inspired by Paper Mario level ups: in the first two games, when you get 100 Star Points (from winning battles), you're given the choice to upgrade your Heart Points to survive more damage, Flower Points to use more special moves, and Badge Points to equip more badges (badges give Mario and co. stat access to boosts and new moves). I really like this system because I think customization is a really cool aspect of video games, allowing you to express yourself and your character through your archetype of choice, and I figured I could use a similar system to keep things interesting in a run as enemies grow stronger.

In Castle Fractal, you can only upgrade one attribute per Boss, which means you're always leaving something behind. Want to upgrade Health? Well, you won't be able to carry as many weapons, since stronger weapons take up more inventory space. Want more Inventory Space? You could be missing out on the opportunity to use more signature moves, which provide unique utilities.

There are number of nuances to the design to discuss:

  • When you defeat a Boss, the low and high rolls (the minimum and maximum possible value that can be randomly generated) for a weapon's power increases linearly by 25%, rather than 50%. These growths are capped at 18 times. This was done for a few reasons:
    • I made the power have a lower growth rate than inventory space so that upgrading Inventory actually feels like an upgrade to your inventory space
    • By having the power growth rate be lower than the enemy growth rate, I ensure that enemies still feel stronger and tougher, even if you exclusively upgrade Inventory Space.
    • At Floor 1, a weapon could have an MP of around 65 to 540. Since power is a direct multiplier in the MP calculation, this range is increased by 25% every time the low and high rolls increase. At some point, I had the low roll scale with the amount of Inventory Rank Ups the player has done, but ultimately it was about communicating information. If both rolls scale with bosses defeated and you neglect Inventory Space, it becomes clearer that the average weapon will be too powerful for you to carry more than one or two at a time, and you'll either be consistently underpowered or lacking in versatility. You'll still be able to pick up weapons IF the power roll is low AND the durability roll is low AND their Weapon Abilities values are weak.
  • Signature Gain is admittedly something of an apples to orange comparison to the other attributes, since the amount of the gauge an attack fills is tied to constant factors (as opposed to enemy attributes and weapon MP growing every 5 floors).
    • Since a 50% linear increase at Signature Gain Rank 9 would mean the gauge would fill 5.5x as fast, being able to get Signature Moves over 5x faster when their power scales with a weapon's power means that I'd either have to make the base gain total trash (which means no one would even be introduced to Signature Moves since you'd break your weapon long before getting one, not ideal), or let the late game be totally trivialized, since it would reach a point where dodging a single attack would near-instantly fill the gauge (which would be insanely broken), meaning you could instantly just spam Signature Moves. This is the same reason as to why Signature Gain is no longer tied to the percentage of Health at stake with a dodge, like it was in Combat Prototype 02, but instead to the enemy's base power and the attack's damage modifier.
    • This is why the linear scaling rate is 25% instead of 50% like the other attributes, and even then I've been going back and forth between 20%, because after a certain point, reasoning about numbers becomes difficult without playtesting. I want the increase to feel meaningful but not game-breaking. In order to increase Signature Gain, you either have to actively neglect raising other attributes, or reach a point where it's the only attribute left to increase and thus the only way to get an edge over the enemies and their increasing strength, so I'm thinking 25% is OK... for now...
  • This one isn't a big deal or anything, but is just kind of funny to me: the in-game descriptions are based on the descriptions in Paper Mario: The Thousand-Year Door... except for Health. In TTYD, the description for Heart Points is literally "Increase max HP by 5! Great if you lack confidence." That feels a little... I don't want to say mean-spirited, but it's definitely a choice in a game where taking damage is practically inevitable. Now imagine that description in a game where all damage is entirely avoidable. I may as well write, "upgrade this if you have a massive skill issue lol!" Which, I mean, is accurate--upgrading Health is a safety net, and upgrading Inventory and especially Signature Gain reward skilled play--but I don't have to tell them that outright! And a safety net isn't a bad thing to have if you're aiming for a high score! Someone who's really good at the game could get away with just ignoring Health upgrades until all other stats are maxed, but it'll reach a point where most enemies will be able to one- or two-shot the player if they do get hit.

This is pretty much the last major feature for the game. I just need to track scores, allow for control remapping, and set up the game menu. With this, Castle Fractal v0.9b will be complete. Alongside the gameplay development, as well as after it's done, I'll be working with my teammates to bring in the aesthetic touches that will round out the game and more clearly convey important player information. Since I'm going on vacation next week, the next update will be on 07/10/2024. See you then!

Get Castle Fractal: Combat Prototype 02

Leave a comment

Log in with itch.io to leave a comment.