Updated: Jul 13, 2019
The term 'Virtual Fighting Core' is a system of method that enables melee combat to be done inside an immersive virtual reality environment. And it is essential part of our VR game Virtual Fighting Championship as it powers all the combat dynamic and game-play capability aspect of the game.
As of July 2019, we have arrived at a pointed in which we are happy to conclude that we have complete the first ever version of the system, thus we want to call it v1.0
Virtual Fighting Core v1.0 includes the following feature:
1. Accurately define point of initiation and termination for which a punching motion is starting and ending in real-time.
As trivial as it sounds, this aspect is incredibly crucial for damage calculation and punch type recognition.
First of all, for damage calculation. Think about it, without knowing how far your fist have traveled prior to impact, how can we calculate an accurate velocity figure for which we can then arrive at a momentum and impulse figure?
Also, we thought from a human body motion anatomy perspective, it make sense to think that distance traveled prior to impact is an in-direct signal for calculating mass ratio behind each punch which is another constant issue for all VR fighting applications (that mass is not something VR gear can detect, so us developers has to do some guessing work)
So by actively knowing for when a punching motion is started, and ended, VFC can accurately calculate punching power and establish a damage calculation framework that simulates reality very closely.
Inside VFC all damage done is displayed to user so user knows exactly how much damage they have outputted onto their target, if it feels weird, well then shame on us (and tell it to us in discord!) , we will continue to improve!
2. Punch type recognition
Now this feature is very essential for VFC's overall combat design.
The game NEEDS to know what kind of punch the player has thrown ( this is explained in our combat system blog), and yet, the game needs to know what kind of punch player has thrown even if the punch is a swing and miss (that makes coding this feature 10x more difficult).
So firstly, by knowing when a punching motion has begin and ended, we can sample a fist travelling trajectory, and we analyse that trajectory in real time, and arrive at a 'guessed answer', let's assign it to Answer A for now,
If the punch successfully landed onto a target, we use the additional information gathered such as the angle of impact in relation to player's head position to arrive at another 'guessed answer'. lets assign this as Answer B for now.
We compare answer A and B, if both answer are identical, then we output this answer and communicate it to our players. If answer A and B varies, then we use the answer that could lead to a combo completion (what is a combo? read here) and lock in that answer to output.
As of right now in Virtual Fighting Core v1.0, these type of punching motion are recognize and detectable even in a free swing (not hitting any targets):
In a future upgrade to Virtual Fighting Core, which probably will be V2.0, the following punch type will be added to our recognition collection library:
Side/Horizontal Elbow Strike
Down Elbow Strike
Up Elbow Strike
Spinning Elbow Strike
To read more about what our plan is for Virtual Fighting Core v2.0, read this blog.
3. Body parts identification
This one is simple, hitting someone in the head is different to hitting someone in the stomach, right?
Currently those area are identified in Fighting Core v1.0:
Of course, in the future Fighting Core v2.0, more areas will be defined such as:
- Rib cage
4. Full body posture simulation using only 3 point tracking provided by most VR gears
Well, the easy way was to only include 2 hands and a chest and a head floating in the air inside the VR game right? But we have bigger ambition than that, because If there is no full body posture simulation, body parts identification would be useless, and also it's just not beautiful.
Right now, we have achieved a satisfactory degree of sophistication and accuracy in terms of guessing where all the joints and angles are when players are wearing only a VR head gear and 2 hand trackers. So right now in VFC, player can see your own full body and your opponent's full body, and it looks mostly alright and reasonable.
This is an major area that we seek to further improve on in Fighting Core v2.0. And we have already established a rough idea and method in terms of how to improve it, we are excited for the day that we can show you our final work in this aspect.
5. PvP combat latency compensation
For any VR fighting game that has an aspiration for a successful PvP feature (which VFC definitely does), the topic of latency compensation is something that cannot be avoided.
While this area has a lot of legacy material and prior knowledge that we can find and learn, but unfortunately all of them is useless for VR, for VR as a gaming medium is very different to traditional flat screen gaming console for obvious reasons.
After years of hard work (not an exaggeration, in developing VFC, this feature has taken up most of our effort) VFC can now sustain a ~200ms PvP match without major flaws been felt by the players.
This is achieved by many things such as strike location anticipation and pre&post impact calculation and confirmation and more
Thanks for reading this post
If you have reached here, we want to thank you for taking interest in VFC, we want to welcome you to our discord channel so you can join our development journey with us in improving the Fighting Core engine as well as VFC the VR fighting game