Katagon Procedural IK Combat Kata and Navigation System [Released on Asset Store]

*Edited to reflect Asset Store release status


kata - [kah-tuh] - noun - an exercise consisting of several of the specific movements of a martial art, especially a pattern prescribed for defending oneself against several attackers.

-gon - a combining form meaning “angled,” “angular,” used in the formation of compound words: polygon; octagon.

katagon - [kah-tuh-gon] - noun - A system for navigation and stance control based on martial arts patterns
and rules for use in moving polygon based game characters around and engaging in combat and defending against attackers.

The Katagon Procedural IK Combat & Navigation System

The Katagon System was developed from research done into creating procedural martial arts based rigs using constraining splines that IK goals ride along and martial arts combat and defense theory and rules. With the introduction of the Mecanim module in Unity 5.0 Elbow and Knee Hints (pole vectors) the ability to port this over to Unity for use with Avatars became possible with most of the fidelity to the original 3D app system intact.

With a broad style of game mechanics in view a modular system was set up where keyboard or axis input determined the navigation and stance movements of the lower body and mouse left and right buttons controlled upper body movement via a procedural IK system of constraints. This allows the system to be extended to accommodate any weapon or style to be used with very few or no further animations needing to be created. By balancing of variables or adjusting spline shapes in each of the modes a wide variety of gameplay styles can be tweaked to accommodate the needs of the game mechanic attempting to be achieved.
The package Katagon V1 Unity is now live on the Asset store at the following link.

The webpage for it is linked here
http://www.mindreleaselabs.com/misc/katagon-procedural-ik-combat-and-navigation-system/

and the webplayer is linked here
http://mindreleaselabs.com/UnityDemos/KatagonV1_Unity5.html

With your support I can swiftly introduce new systems that have previously been written but will be refactored to fit the newest Unity 5.0 framework. Below is a roadmap for a fully integrated and developed Katagon System.

The Jester kicking medicine balls fired from a cannon uses the same principles as Katagon in the following clip. He has no keyframes on the rig and just keyframes on sliders controlling IK goals along splines.

Best Regards
Randy Blain

1 Like

About to read the documentation and let you know what I think, did you ever get around to making a video? This sounds like exactly what I’ve been looking for though! :smile:

I’m definitely interested in this system it has a great many possibilities. A staged set of moves leading up to a coup de grace could be easily combined with an adaptive music system to create an impressive user experience as just one of the possibilities. As regards pricing I have no idea. There are a few animation controllers on the store that might suggest a price point, however, it all seems to come down to whether developers easily comprehend the potential of the system on offer or think it’s worth taking a risk because the early adopter price is so low.

Wow, that’s nuts. The combat/weapon system, free navigation, switching controller modes, inverse kinematics, animated ragdoll affected by forces!?

Does it work with unity free (is the IK from Unity Pro or your own)? Are the controls tight and responsive?

I don’t want to comment on price, but 2 weeks ago I would have sold a kidney for this. I found Final IK and working on a non-human character so this would be just to play with for me. Looks great though.

Hi folks. Nice to wake up to this and see interest.

@blueivy … Did you go through the documentation and what did you think about it?

@sicga123_1 … I am currently working freelance and would rather be working on this as combat systems are more to the core of why I got interested in Unity to begin with. As stated, it has a right hand handgun mode and sword and shield melee mode. I am going to try to figure out how to set up start and end rotations for the hand IK rotations in editor but it seems that you cannot yet control IK from the editor with Mecanim. I can set up some kind of proxy system that uses a widget to set a start and end rotation of a sword in the hand which gets set in the associated script controlling hand IK. The other system I will tweak before release is the shield blocking mode to get full frontal and left to right - up to down coverage based on the sector of the screen the left mouse down is in and uses the Z key to toggle between blocking and swinging. I had also added a series of finishing strikes using the number keys. The controls are tight and responsive with a very comprehensive Mecanim state machine for both stance to stance combat and freenav mode. Probably the closest system I see on the Asset Store currently is the Universal Fighting Engine. I don’t think I will be pricing it that dearly. Maybe 60 bucks for the core melee and handgun/freenav module and make my extra money with add-on packs at 20 bucks for spell casting, staff handling, bow and arrow, hand to hand grappling and strike/block etc. I had sold several to one time inquirers at 100 to 200 bucks and they were quite happy with it. Thank you for your feedback. It is invaluable and motivating for me:).

@MIK3K - I had planned to use the DamageControl system to get the forces generated from collisions and use that to transfer the energies up and down the rig chain for reaction to blows. I did see a video a few weeks back for the AnimFollow which was pretty close to the way I had planned to allow this. On partial ragdolling via forces generated from collisions…Rather than reinvent the wheel I may see if the dev of that system would be interested in allowing me to be able to plug in his system to Katagon. It currently uses Mecanim IK which is a Pro only feature. I had tried in 3.x to write an IK system but trig ain’t my thing and could not figure out the Pole Vector stuff to control joint popping during extensions. If I can I will add it so that Free users could also use Katagon. But not for V1. I need dev time for such and to pay my bills whilst I wrap my brain around it.

Some things I have planned after V1 is released is a combo editor so moves can be strung end to end and triggered by a single key press. As well it seems that a step to step editor could be handy. Howzabout generating a war or victory dance or other ritualistic rhythmic stepping module by using the dance instructional model where you lay put footprints with 1 2 3 4 etc on them to generate a dance style. Another system I want to integrate is a hand to hand grappling and martial arts strike and block mode…perhaps with a modicum of AI for spline placement and rotation based on the attackers strike direction. If it does well and allows me to focus full time on it i can extend this system in any direction users may wish. I had created it to eliminate the need of e to create hundreds of separate animations for whatever I got thrown at me to integrate for the MMORPG’s I was working on at the time and allow a much faster dev cycle.

You might talk to Partel about your IK to help make your asset compatible with Unity free using IK that is superior to the pro version of Unity. I looked at the AnimFollow asset which is great for what it does but looks like it is limited to ragdoll on the character and IK for the feet alone. Final IK will do the whole body, Aim IK (might help with your weapon aiming with aim redirection), IK for interacting with the environment, supports quadrupeds which I’m using or any number of limbs with a demo with a 6-legged spider walking machine with zero animations and all driven by IK, and every scenerio between. I got the feeling the dev for AnimFollow was working on other things now from reading his forum thread (but still supporting his asset, not sure about any improvements to it). It seems to have a very cool but much narrower scope.

Final IK is a complete solution and he has a video for an unreleased animation/ragdoll system that blows anything I’ve seen out of the water (and tons of videos of all the stuff in Final IK). Can you tell I love Final IK? I like your asset because it covers all the bases like Final IK. I like assets that are entire systems, with a few exceptions. I would buy it even if I’m not smart enough to use all the stuff lol. I like the idea of a core asset and separate expansions for people that want those parts of the system.

Final IK is $90 but allows me (and anyone with Unity free) to put off buying Unity Pro until I actually make something to sell (probably never haha) and gives me access to a system that should cost a lot more if it wasn’t for the Asset Store and Unity. Good luck with your asset. I will definitely be standing in line to buy it.

The docs were very extensive and helpful even without knowing much about the system. Definitely would want a grappling system in the future :smile: also +1 on animfollow and finalik plugin. The best hand to hand combat I’ve seen in a game is probably the uncharted 4 demo. Don’t know if it uses any ik it’s just a cool reference :stuck_out_tongue:

@MIK3K … Thank you for being so helpful. I will check in with the FinalIK dev. I had corresponded with Andreas Aristidou, the inventor of the FABRIK IK algorithm during the 3.x cycle to get scripts done for a quadraped project I was lead dev on. By the time his student wrote the scripts the job was over. I wonder if the Final IK dev knows him. I imagine I could put a return conditional in the IK Controller to use Final IK if the user has it and uses Unity Free.

@ blueivy. Thank you for the feedback. I am tweaking the asset currently with the new UI on screen instructions and what moves are being used etc. The video was great. Reminds me of Revolution which I just finished rewatching the whole three seasons again last night on Netflix. The controller for that game is awesome and what I envision an end product with all modules being able to do. I have a parkour and acrobatics module half developed for it. The trick is how to set the environment up so the controller knows how to navigate it based on user input. Grappling will need a second controller for the opponent so the controller understand what is occurring when “grabbing” various part of the others rig colliders.

1 Like

I had a couple questions but then I read your pdf… so they where answered but now I have more…

I looked at how you have set up controlling your system, If I want to change it up say, using the mouse to look around/aim LMB to shoot, Scroll to cycle weapons, RMB to open doors or be the other hand with two handed weapons, could it be mapped easily with this system using the drop down menus.

@ippdev , $60 is pretty reasonable. I have both animFollow and FinalIK as well as UFE pro with the fuzzy logic plugin, I mention UFE because he has just added grappling to the asset which you are discussing above. I got these systems to try a mini-MORPG I was planning called Valhalla as a gameplay testing ground, which I’ve now dropped, and never got round to using anything except in prototyping. I did buy PSAI music engine for Unity because it looks like it would do the adaptive music down to the level I wished it to do, and now it looks like you are bringing out the perfect asset for this idea as well. Must be serendipity.

Howdy Licarell. For Melee mode the right mouse is the lookAt and left mouse controls right hand weapon swing. The other controls you can map to any key you wish in the Inspector. The scroll currently is used to bring the CombatFollowCam in and out and is linked to the right mouse lookAt. I ain’t doing anything with the arrow buttons. Would the arrow buttons work for scrolling through weapons? I can set that up so you can scroll backwards and forwards through the WeaponsMounting arrays or assign any two keys you want or just use whichever one you want to cycle through them. The way it works together with the left and right mouse buttons in Melee mode is nice because whilst you swing using the mouse and hold both buttons down you get torso twist added to the swing giving it more arc and looking like it would when you wind up into a swing. I have attempted to comment the scripts comprehensively so anybody wanting to hack the default features can do so. I should have a demo in the next couple of days. I just finished a stats and help window. Stats shows you the current mode and what swing and/or block you are using and Help shows what keys are the default mapping in the demo. Down the road I can add an InputController so that beyond the keys being remapped it can extend the options for control so you can use a GamePad or other joystick and button controller.

edit… I could do similar to the blocking where when you press a key the LMB is not used for swinging but blocking. What key was pressed to cause cycling via the scroll wheel would be up to the user though I would set a default. Would this be satisfactory? It follows the paradigm of the rest of the system toggling for different functions based on key pressed.

@ippdev yeah that would work, having access to map whatever to wherever is the ideal, keeping game control simple is key… especially when you have a horde of hungry ork coming at you!:hushed:

Is this asset still in development? I’m working on a first person shooter and this would solve a lot of our design questions relating to combat and movement. I would be very interested to know more.

It is being beta tested currently and am awaiting feedback. I am also up to my ears in a new job as an inventor…but do hope to get back to Katagon soon.

This sounds amazing. I would be very interested in seeing this developed further. I am sure it would make a lot of people happy and you some money if released as an asset.

I need a few things from Mecanim to really make this right. Mostly setting up IK from the editor. Last time I checked…around v4.5.x I could not. Be nice if the Mecanim IK worked like FinalIK does. It is a bit wonky to my experience of 15 years playing with IK Rigs. I have no pole vector to stabilize the arm position. I want bounce to my hard stance positions if player wants to dial it in. That could not happen prior. Maybe in 5.1 from what I hear. After all… i I release an Asset I should have it allowing me freedom not burdening me with support requests to do thing cannot be done:) Since there is more interest I may get back to it again this week and update it to 5.x

Just bought a copy and downloaded it direct. Messed about with it for ten minutes, so can’t give a detailed review, but it imported straight off the bat and the demo scene was easy to use. Just pressing buttons and following the instructions started suggesting new gameplay to me. I got an idea for a 3D chess game just looking at the movement. Then it occurred to me that maybe the system could be used as a ritualistic duelling system for a RPG game. I don’t know, it’s very impressive, somehow the potential seems way more than it’s parts, but then I always make a small prototype as the start point of a creative process so after 20 years of doing that many times I can extrapolate ideas from simple pieces. Good stuff, very pleased with the purchase. A really unique system.

3 Likes

This system looks great and really liked the Jester video. Thank goodness you have early access from your site and sicga123’s post above. This is on the top of my list now for payday. Very excited!

1 Like

Hi folks. My butt was wore out getting it ready.hence. I missed a few things like the right click context menu being active in the webplayer which of course killed using the right mouse. That was solved. I had another issue in that mouse scrolling on the webplayer on OSX and Safari is not working.but it may work on other combos of OS and browser… Let me know. I have a post about it in support. That scrolls the camera in and out.

I will be starting to extend it and adding more dial in controls today after a brief respite yesterday to catch my breath. There will probably be another point release sent to Unity right after I get Asset Store approval and it goes live as I don’t want to mess that up…LOL:) I will keep updating the webplayer as I go and add more info on the page on how to script it etc…

I have updated the initial post to reflect it’s status of going live on the Asset Store.

This will also act as the support thread. It is set to give me email updates …which sometimes is screwy. If I do not respond to queries immediately (I do sleep) you can PM me.