Saturday, 28 February 2026

An Arrow To The Knee But Then I Raised The Aimpoint

 

 I used to be an adventurer like you, but then - whizzzzzz ack! Since this video there is a cool motion trail effect courtesy of a ribbon particle behind each arrow as it cuts through the air.

So archery has been somewhat missing as I have been concentrating on devising an animation led melee combat system. This now work rather nicely (except when it inexplicable doesn't play the prepAttack animation and I have to throw in a safety call to get it back on track) so it was time to get on to ranged weaponry.

Cue Clannad and the greatest decade in history, the 1980s.


 Now, because I've upended the whole stock animation system, it turns out that mouse aiming system no longer works, because who wants mouse aiming to override a melee based animation system? Well no one, so that will take a bit of looking into to fix. However the actual aiming and shooting works, even if the AI and client Player doesn't currently animate correctly to look like it, due to the removal of most of the blend animation code.

I have a variety of ranged weapons coded, both differing sizes of bows and crossbows, with bows requiring greater stats in both STRength and DEXterity for use which make them much more expensive in XP spend to use, but having hugely quicker reloading than crossbows. 

Projectile damage is based on a singular strike to the target's hitboxes, so whilst a heavy melee attack can cause damage to multiple hitboxes with a wide slashing motion, arrows cause damage based on range to target to simulate increased velocity from loosing up close and the archer's ability to pinpoint weak areas in the target's defences. Getting struck at maximum range whilst wearing a full harness is most likely to plink off, but getting shot up close with 300lb of draw weight is another matter.

The main level has had a bit of a revamp, with more trees and shrubs in the open side of the map, but there is still plenty of nice open space for longbows to wreak havoc. 

I also converted my AiPlayer routines to use the new stock engine AiController system, which can be attached to any playable class including those usually restricted to clients, to turn them into Ai controlled - hence the new classname. This class has a lot of dynamic avoidance and automatic repathing systems, but even without those I found it to be very heavy on processing. Whilst still useful for being able to control the usual client based objects, it's clearly something to be used sparingly, and to keep the standard Ai based classes to themselves.

Archery is pretty much the final part of the Ai warbands and battle system, and with it now functioning materially (if not animating aiming perfectly) I need to integrate it's use into the AiPlayer combat routines. The most obvious example is for a warband that outranges an opponent is for them to stop, hold fast, and pepper the enemy at distance whilst they themselves seek to move to attack.

Whilst this is all in the works, here's a video of meeting engagement between the Norse and the Magyars, the latter of whom will be one of the more heavy ranged weaponry factions in the future.


 Aside from fitting archery into the individual AiPlayers' combat routine, I need to come up with a method of allowing the player to use archery effectively, regardless of their third person rotatable camera system. The obvious cop-out here would be to follow Elden Ring's lead and switch to first person for aiming. Maybe I can come up with something else which retains the third person view ... ?

Speaking of the player, to be honest they haven't really got a lot to do at the moment, as all my efforts have centered around making the AiPlayer's work as cohesive raiding parties, so next up after I tackle the blended aiming animations, is to give the actual client player something to play.

It's February, and it's ending early, somebody stole 2 extra days that I could have been coding! 

Saturday, 31 January 2026

The Great Debugging

Initial attempts at Inverse Kinemetics proved imperfect

 So THE GREAT DEBUGGING of actually trying to get our warbands to operate in a terrain environment has begun. And the good news is that it has almost™ ended.

Mistakes were made, and the good news is that it wasn't all be me, but also the data libraries which I use >>> I AM LOOKING AT YOU RECAST PATHFINDING. And I'm not even using AI (lol!), imagine how much worse it could have been!


So just pathfind across the RIVER OF DEATH and into the CLIFF OF IMPASSABILITY
 

Recast Pathfinding is a great resource, so great that I wrote my own pathfinding plan function that actually bothers to check if the pathfinding plan gets anywhere near the pathfinding objective ... not that I want to completely write my own pathfinding system you understand because I am not batshit insane.

But I did come up with a system of fallbacks, now that my own function actually bothered to tell me that the pathfinding library had, what we would call in layman's terms; FAILED, but for some reason it thought was fine to deposit everyone wearing heavy armour into a deadly deep river with unclimbable cliffs was some sort of mathematical success.

I want to get into the middle of the castle

Thankfully my own functions used something called basic reasoning that when the path ends hundreds of yards away from the goal position that it might actually have failed and we should try other things. Other things however still relied on Recast's "meh close enough" being ANYWHERE in the map rather than at the literal destination, so I came up with a level specific functioning system where I could direct the pathfinding to actual traversable waypoint paths to overcome the RIVER OF EVERYONE IS SINKING.

I want to get into the middle of the castle and I will use the waypoint on the bridge because I am forcing it to

And then there was the whitespace ... admittedly this was all down to me in the script files but "whoa laddy!" hunting down all those "objID" != " objID" has been a right royal pain in the Prince Andrew. So my apologies for a lack of interest but low fps debug build video of my multitude of warband troopers running about undulating, river obstacled terrains, knocking seven shades of the brown stuff out of each other. You will just have to "trust me bro™" that it really does work.

I also attempted some IK shenanigans to get the player's feet to actual transform to uneven surfaces, and as you can see from the first image is worked great ... but only if you want to stand like a sugar plum fairy ... and movement wasn't much better either.

 

Speaking of SHENANIGANS!

It had been brought to my attention, via SteamDB that Airship Dragoon had spiked in player count, a good 12 years after release.

 Bizarre.

 I had ignored this and thought that it must have been a bug, yet ... Steamworks verified the player count. 

 And the nations were somewhat surprising ...

I hope no-one is using this actual military tactics ...

 So ... there you go, highest consecutive play count ever, in 12 years ... so I'm thinking ... bots going for trading cards? Not sure anyone is buying those trading cards though ... so ... it's a mystery.

 Anyhow, just like Skeletor memes, until we meet again! When I will (hopefully) have some video of my warband game in full action over a real playable landscape! Not that there is anything for the player to do yet, but hopefully human fleshoids aren't as prone to fubaring everything up as a machine.

Hopeful, ever hofepul ... 

Wednesday, 31 December 2025

Space Year 2025 Comes To An End

There Is Gold In Them There Hills!

 Space Year 2025 comes to an end, and this month I have mostly been fleshing out the world of warbands. This has required some low poly rocks scattering at various intervals and a some ruins, bridges and castles. Gotta have a castle in a medieval hack and slasher.

Colourful Heather To Break Up The Monotony Of Green

 Whilst adding all these extra things help make the landscape more interesting, it also creates the more "stuff" means the more stuff for the Ai to walk into and get stuck. Behold navMesh for pathfinding!

Now it has been a good 10 years since I used recast, for Airship Dragoon, so I did need a bit of trial and error to get it to build reasonably sized grids. After a bit of pathfinding testing I determined it had a nasty tendency to fail to get to the target point on particularly long or complicated paths (bridge? What bridge?), and so ended up adding some waypoint markers which will (hopefully) act as a guide for the wonky path. However it looks like I will be having to check this manually as "we made a path but it doesn't actually go to the end point" does appear to happen some times, especially when a bridge is involved. 

Fun With Pathfinding
 

Apart from that it has been Christmas, which has required a certain amount of eat, drink and be merry ... all of which has been somewhat fatiguing and I will be glad to get back to normal service has been resumed and don't have to hear overly jolly Christmas music everytime I stop outdoors.
 

One Ruin, One Bridge, One Castle

Steam is having another NextFest at the end of February but I reckon that the time frame for getting a working demo out is too tight, never mind clearing the store and app review hurdles. I am not particularly concerned as I don't think that NextFest adds anything to discoverability and if you aren't already bringing your pre-collected audience over it's all potluck if you get a new following.

Bonfire Lit, Grace Touched, Do You Have A Permit For That Campfire, Etc

 Space Year 2025 comes to an end, and during it I made the final release of twin-stick catgirl carnage shooter Monsters Loot Swag and added NG+ ... neither of which garnered any attention and all visibility rounds expired long before they were used up. However that is just the nature of the beast now. 

So the plan from now on is smaller, faster development cycles leading to shipping every 18-24 months or so, rather than labouriously iterating on something on and off for a decade only to release and hope I make my 100 bucks steam app cost back. Knight Errant/Warband World/Whatever I am going to end up calling it, is the first test of this. Whilst Early Access did not garner any enthusiasm or bug reporting help, I am probably going to go down the Open Beta route and see if that helps gather any players, before perhaps another attempt at Early Access in the same vein as Vampire Survivors, sell it for a few bucks and then finish it off 6 months later.

Hello Space year 2026.