The Colosseum


VERSION 0.4.0

Combat V3

Flow and balance is crucial for engaging combat; to feel a sense of uninterrupted movement and power that you can pressure onto your opponent, while they can do the same to you, creates a dynamic interplay for players to be bold while also exercising caution, in a way that (hopefully) appears seamless and immersive.

In 0.3.0, this element was missing. A parried attack signaled the end of your assault, a sudden break in the action, and this jarring pause disrupted the fast-paced melee gameplay that Blade Ballad is all about. Fortunately I had plenty of time to revamp this mechanic and then some, since I can’t get a job to save my life.

Seamless Chain Attacks

Version 3 of this IK combat system brings a complete overhaul to chain attacks. When an attack is initiated, a series of phases checks for inputs from the player (or set by code for the NPC) then determine a subsequent attack, smoothly connected to the previous one. You can unleash a flurry of swings and thrusts onto your target, which does not stop even if you get parried, as the phase evaluators will calculate the upcoming attack at that impact point, allowing you to sustain your chain so long as you stamina allows it.

Of course, this is an ability granted to your opponent as well, and once you’ve exhausted your attacks, your enemy will return in kind, and you should be coordinated enough to block these incoming strikes.

Expanded Panning

Another limitation which made combat feel “constrained” in 0.3.0 is the limit to your pan range when you are in an attack sequence. What I discovered was that as your blade reached the outer bounds of the screen, there should be a way to redirect it back towards the center, so it is kept within the character’s reach. Remember that this is an inverse kinematics driven system, so the weapon drives motion, not the character. This was done by calculating the position and rotation of the blade then deciding whether it needs to be re-targeted to the center, as indicated by your cross hair direction. Now you have a much larger area to pan in.

Weapon Binding

Allowing more blade movement is however, a double edged sword (pun). With this flexibility comes an exploit where the combatant can get close enough to where the blade is placed past their enemy’s blade, circumventing their primary defense. “Binding” has been introduced to mitigate this effect, which puts you and your opponent into a deadlock as soon as your blades touch each other. You’ll know once you enter a bind because a cross will appear at the bind point, emulating that classic “weapon binding” scenario.

Two gladiators locked together

Swordplay should now feel more deliberate and fast paced, while also balanced between timing and coordination. Weapon stats are still unbalanced, but skilled players can use their dexterity to gain an advantage even against well-equipped opponents.

Gamepad Support

Gamepad controls are now fully supported for combat and most UI. I haven’t had time to make a decent display for gamepad and keyboard bindings, but panning is akin to aiming down the sights in an FPS, so you can figure out the rest from there.


Models

With news that Unity 7 (which comes out in 1-2 years) will deprecate the Built-In render pipeline and merging URP and HDRP, I finally made the decision to upgrade to URP. Sure, changing all the materials and replacing old shaders which no longer works was a pain in the ass, but at least I did it somewhat early in the project, because if this transition happened any later, it would have taken so much more time. I was certainly happy with the change: the metallic materials seems to have a more distinct sheen to it, appearing more metal rather than shiny plastic, and the shadows are sharper and cleaner. Overall the game looks much better, while not asking for too much in graphical resources.

The Colosseum

Colosseum Second Level Ambulacrum The world of Blade Ballad is shaping up to be a real setting with the creation of its centerpiece: The Colosseum, now with a much larger arena, arches, groin vaults, podium (where you can spectate NPC battles from) and holding cells where gladiators are kept. I mostly followed architectural cross sections and blueprints of the actual colosseum, but took some creative liberties in certain areas like the columns and the “entablature”.

Colosseum Second Level Ambulacrum The Colosseum can be accessed by selecting Arena in the main menu.

Items

Torso armor have been added, such as the Lorica Segmentata and Provocator Chestplate. It too serves a functional role in combat, and provides protection to specific areas of the torso, just like how sleeve armor did as I have explained in the last blog. For example the Provocator Chestplate offers no protection if struck in the guts, or the Balteus, which only provides hip and thigh protection.

The Kriegsmesser, which debuts in the Ronin vs Knight-Errant short

Character

Anyone can make a “realistic” character model with sculpting, but a good game developer can make one with a low poly count, allowing a decent amount of geometry for discernible human features, especially the face and hands, while optimizing geometry for less visible or simple areas like the legs. The current player model sits at 3.1k vertices, which I think is quite a feat considering how I added much more detail to it compared to the last iteration (see images below).

The character rig has also improved, with finer controls for fingers and spine. The hands can now properly grip the weapon handle, twisting around it for a natural appearance.


Scripts

Some commands have been added. The first is “tfc” (toggle free camera), which some should recognize if they played any Bethesda games on PC. This command is especially useful when you’re spectating NPC battles from the podium, as it allows you to fly close to the gladiators without getting in their way. It comes equipped with a teleportation action by pressing E, which flies the camera to where it was looking at.

“debug” is a simple command which at the moment just shows the health points of every NPC in the scene, but it will eventually be expanded to display other underlying game state data.

Finally, we have “pangraph”, which toggles a graph visualizing your weapon movement on a grid. Helpful for understanding weapon movement in a more graphical way, but has no function in gameplay.

Mission Manager

Story Mode makes a return, albeit in a very small way. Upon starting this mode, you will be placed in a legionary training camp (castra), where you’ll receive proper instructions on melee combat instead of jumping right into the Arena with no clue on how to fight. This acts as a short tutorial mission to try out the event driven mission system which took the primary concept from Shaped by Rain, but underwent considerable modifications to fit my needs, like making it work in tandem with the dialogue manager.

Dialogue Manager

I mentioned wanting to experiment with a chatbox style dialogue system in the last blog post, and so I managed to put together a very basic implementation of that for 0.4.0. On the right half is the chatbox that logs every response that you and the interlocutor has said, the left is kept empty until choices are given for you to choose to advance the story. Ink is still my preferred tool of choice for creating dialogue, but for simpler text like subtitles, a simple string array sufficed.

Inventory

The hotbar panel has been reduced from 6 slots to 4, moving towards the game’s identity as an action-focused experience rather than an RPG. While I will eventually develop a storyline, the core of the game remains its unique combat system, and action games typically limit loadouts to four slots. The hotbar itself is now hidden during gameplay, and can only be seen when the inventory is opened.


Conclusion

A skill-focused game demands a properly scaled sense of difficulty to keep players engaged, with the right mix of pattern and unpredictability. Without this, players will inevitably learn every weakness and predict every movement of their enemy, which ultimately diminishes the game’s challenge and replayability.

I have fought against my NPCs many times and calibrated their stats and mine to achieve a balanced 50/50 win rate in duels. Their movements are not pre-programmed but entirely random, making it impossible to predict attack sequences with perfect accuracy. You must rely on hair thin reactions, as you would in a real sword fight.

You should not expect to win your first battle, or even the next dozen, but these NPCs are given no bonuses nor advantages, in fact most of their stats are identical to yours. What separates you from victory is not the game’s design but skill.

Besides small calibrations to the current melee combat system, I can confidently say that this is the final stable version. It is officially past the experimental phase and will no longer undergo major changes, and I can finally focus on more designing than programming, with these renders hinting at vision I have planned for the design of Blade Ballad.

Files

blade-ballad-windows.zip 1.4 GB
Version 0.4.0 26 days ago
blade-ballad-linux.zip 1.2 GB
Version 0.4.0 26 days ago
blade-ballad-macos.zip 1.1 GB
Version 0.4.0 26 days ago

Get Blade Ballad

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.