Procedural kinematics driven blade swings


Blade Ballad is an experimental kinematics driven melee game, where you have precision control over the swing of your blade. Combat prioritizes timing and coordination, rather than stat superiority.

Non voxel triangle based building system


There is also has a simple triangle based tile grid building system. Press "T" to tilt a placeable object.

Everything is currently in early development, this demo is primarily to showcase the combat & building mechanic and receive some feedback on it, being more of a playtest rather than a game release.

​Useful playtest commands (open/close the console terminal with the "/" key)

  • fly ; allows flying
  • invcbl ; cannot be damaged
  • npc ; disable all NPCs, useful if you want to build without being attacked
  • spawn <n> ; spawn n amount of NPCs at where you are currently looking at
  • add_item <itemname> <n> ;add an item with a name in Pascal case with n amount, for example add_item MudWall 70. Refer to the list of items below that you can add:
    • SteelArmPlates
    • KettleHat
    • Bascinet
    • SteelPlateCuirass
    • 2HAxe
    • Katana
    • Ninjato
    • Shortsword
    • Zweihander
    • MudFloor
    • StoneFloor
    • WoodFloor
    • MudWall
    • PlasterWall
    • StoneWall
    • WoodWall
    • WoodDoor

Press V to toggle camera view. Scrolling while in 3rd person also zooms the camera in and out.

As an early access demo, there's bound to be some bugs, and plenty of undeveloped content, so I would appreciate any bug reports/general feedback.

Legal disclaimer: Both of the aforementioned game mechanics are copyrighted.

  • View media
  • View media
  • View media
  • View media
  • View media
  • View media
Post article RSS Articles

Procedural NPC Moveset

News

ConnectedStrike 1 36 1 1

This post will go over several improvements to the current state of Blade Ballad, starting with manual weapon rotation, NPC combat movement, and inventory, in that order.

The manual weapon rotation has always existed prior to this version, but based its rotation off mouse position, whereas now is based off mouse magnitude, or the vector that the mouse has been moved relative to the center of the screen. The advantage with this new approach is that you don't have to recenter the mouse, so your attack angle is much more responsive to changes. I did notice some conflicting controls with the manual controls and the attack angle that is set when you initiate an attack, which also responds to mouse magnitude. While not a bug, I should add a setting to disable this. A chevron also displays when you are rotating your weapon, and indicates the target angle at which your blade will rotate to.

The manual rotation also involves some extra settings which can be fine tuned in the Configs>Controls tab when paused.configs

  • Weapon rotate threshold: The threshold magnitude that the mouse must be over in order to trigger a rotation. A lower value means the rotation is more sensitive to mouse movement.
  • Combat block mode: This sets whether the block mode is manual or automatic. Prior to this version, it was only automatic, which worked by getting the angle of the target weapon and rotating yours to be perpendicular to it.
  • Combat targeting mode: Toggles between Soft Lock and Hard Lock. Soft Lock, being the default, has you hold down the right mouse to lock to a target. Hard lock has you hold down the F key for a quarter second then locks to the target without needing to hold down any keys.

You can also rebind the key which toggles the rotation, which can be done in the Keybinds tab.

Attacking with a heavy swing (holding down the left mouse) also cause damage to its target on its backswing, which makes it more useful when it has to compensate for a longer swing time.

Now onto the focus of this post, which is on NPCs. This took up the bulk of the time in this release, but it was quite important since swordplay is central to the game so I was fine putting other tasks like worldbuilding to the side. In general, I implemented the following:

  • Pseudorandom hip and hand movement: Prior to this, NPCs would just walk towards you and start swinging while standing upright. It looked stiff but since this is a kinematics driven combat system this behaviour actually negatively impacted gameplay, as there was an exploit where you could crouch and stab at the NPCs legs and they couldn't do anything about it. Now NPCs can randomly crouch and move their hands so it's much harder to just crouch and attack at one location since they're always moving.
  • Weapon pitch based on target vertical offset: Before this implementation, an NPC who have found a target would swing their weapon at eye level towards at enemy, not considering if the enemy was lower or higher than them. This change adds that dynamic pitch change. By the way, I borrowed the "pitch" terminology from aviation, where pitch referred to the axis perpendicular to a plane centerline.

Finally, there is the rework of the inventory system, with the changes as follows:

  • Dead NPC has an inventory: You can now access the inventory of a dead NPC, which will contain any armor gear that it was wearing.
  • Weapon drop on death: Killing an NPC will drop the physical weapon that it currently equips, which you can pick up.
  • Gear degradation: Your weapon and armor gear will take damage each time it parries or absorbs an attack from an enemy, and breaks once its condition reaches zero.

Fixed the "add_item" console command as well. Turns out I forgot to include the class in the final build.

Cool new blood effects as well, thanks to a YouTube tutorial from Asqa Nadeem, and I used the Overlay blending option in the shader setting, which created those darker areas where there's a higher concentration of blood sprites.

bloodsidebyside

Placeables V2

Placeables V2

News 1 comment

The first public release of Blade Ballad is out as an early access demo. It introduces standard game systems and a Placeables building system. NPCs and...

Add file RSS Files
Blade Ballad 0.2.1 Demo - macOS

Blade Ballad 0.2.1 Demo - macOS

Demo

This release improved NPC movement and smoothed out janky NPC combat swings (mostly), implemented inventory gear condition degradation, and fixed the...

Blade Ballad 0.2.1 Demo - Windows

Blade Ballad 0.2.1 Demo - Windows

Demo

This release improved NPC movement and smoothed out janky NPC combat swings (mostly), implemented inventory gear condition degradation, and fixed the...

Blade Ballad 0.2.0 Demo - macOS

Blade Ballad 0.2.0 Demo - macOS

Demo

This is an early demo (macOS), so it's more for playtesting. That being said, it's pretty stable and has most of the core systems for a video game in...

Blade Ballad 0.2.0 Demo - Windows

Blade Ballad 0.2.0 Demo - Windows

Demo

This is a demo (Windows), so it's more for playtesting. That being said, it's pretty stable and has most of the core systems for a video game in place.

Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account:

X