I want to make a game about tango, In order to show my idea I find this video as an example.
https://www.youtube.com/watch?v=YFyTwSoAjyI.
Technically expaning: Even the man is leading and stepping according the music the woman is not only following she is backleading sometimes and having embellishments by herself. I want to replicate this video at least in the beginning.
I am searching for three month, bought some assets, get some for free assets but still do not find something usefull for the game.
Thanks in advance
I don't quite understand the mechanics of the game you have in mind. What/how does the player control, what are the variations and limitations? If you can describe it in more detail, maybe my answer will be more useful too 🙄
Many years ago I was partially involved in the development of a game similar to HighStreet 5 ( https://www.wtfast.com/en/games/highstreet-5/ ), so I know something about dance games...
To answer your question as it is, you'll need a "shell" asset for the side gameplay anyway, and for the main gameplay (I assume dancing) you'll have to develop it yourself.
Built-in Visual Scripting should suffice, it all depends on what I wrote in the first paragraph...
But animations and combining animations - here you definitely need Animancer Pro Asset. Study its documentation, it may seem complicated, but it will solve all your problems on animations and their management. The direct answer to your question can be found in the Blending section ( https://kybernetik.com.au/animancer/docs/manual/blending/ ).
🖐️
Thank you my friend. I am happy that a game about dance has been made before.
As I see from one video of High street in youtube they are dancing solo and going to be judged and scored by others. Which is a very good way to have a game.
I choose the tango subject as a game because I am also dancing for 15 years. In the beginning I had really no clue that it will be so hard to make a game.
By using animations I can only make imitate a couple to dance some basic movements and having the player watch it with a camera rooming around. As I understand by using blending I can give some decisions to the player which movement to dance later.
Which will be very good for beginner dancers actually. Good for self educating.
However having a multigame where the leader and follower making decisions for how to dance together (affected from the partners speed, force and grounding and how to resist the incoming force and reply the movement back) will be look more real and make the game more enjoyable. I think this is something I cannot make with animations. (Perhaps motion matching)
Up to now I find a PuppetTest example usefull which calculates random movement and feet grounding with raycast in OnAnimatorIK.
As I see there are terms like locomotion, motionmatching, many IK models, rigging and ragdolls, active ragdolls available. The character controllers have their own walking which does not fits me. We have nearly 10 different stepping technics in tango.
Nearly all of this approaches uses the animator controller. Only animancer and rukhanka I think make their own animators.
I don't know if there is another approach that I did not see?
My mind is a little bit confused actually. First 3 month in gaming after 30 years of developing enterprise softwares. Better I start with some simple animations where I fake the holding before I go deep in physics. (I like Veryanimation because it is using the muscles)
Thank you again for your interest and reply.
I get it, you're at the beginning of a difficult journey.
I need to start with the basics to get your thoughts on the best path. It's going to be a very long post...
First, I suggest you look at how other games are made. Even in the one I linked to, there are paired dances (they just didn't make it into the video), and the system gives a score based on the complexity and cleanliness of the dance steps that the player/character learns in dance schools. So we tried to do something similar.
Developing the concept of the game we naturally take something real as a basis. But we must immediately accept the fact that it is impossible to completely transfer reality into virtual environment. Games, animations, visualizations of movements and interactions are smoke and mirrors. We try to make something as close as possible to what we can do or see in real life.
And there is a simple reason for that. In real life, our brain can control our body any way it wants and only our joints and tendon flexibility represent limitations. In a game, the player has only a mouse and five free fingers, or ten if we use an automatic camera and two hands to control the character. That is, we are fundamentally unable to recreate real movements in the game because of the limitations in our ability to control the character. We should not forget that the control system should be clear and convenient. But most importantly, the control should be predictable, i.e. the player should be able to get the expected and always the same result from pressing the control key or their combinations.
The use of procedural and interaction of acceleration vectors or force vectors destroys the predictability of control. It must be understood that our brain processes gigantic streams of information, and dance, like martial arts, maximizes these streams. I did martial arts for a while, you did dance. I think you will agree with me that it is impossible to perform complex dance movements unless you have developed muscle memory and reflex reactions. For this reason, we use a simplification - the player is not the complete character, but the “brain” of that character. In other words, as a developer we give him a trained body, and he determines only the basic decisions, everything that concerns the "technical details" of the movement we stitch in the animation.
A simple example from life. A person has been ill for a long time and has lost a significant amount of weight. But he does not realize it. So he leaves the house and habitually pushes the heavy front door. But because his weight has changed, his momentum of mass has decreased, the door suddenly pushes his body away. What will his emotions be? Confusion, incomprehension, surprise, loss..... And that's why we try not to use the element of physics or randomness in the basis of complex movements. This will cause confusion for the player, ruin their role, and make gameplay uninteresting in the long run. In games, we replicate reality with the most believable simplifications possible.
We use procedural animation techniques to simplify the creation of animations, reduce the number of animations required, or optimize the display of large numbers of animated objects. And please note that everything related to procedural animations refers to movements that are insignificant (!) for the player.
Final IK and its IK analogs - help to give naturalness to animation or create new movements in cases where it is not feasible to create full animations. For example, there is an animation of how the character stands, we use Foot IK, and here the character naturally stands on an uneven surface, the feet touch different levels of the ground, hips naturally tilted. The animation is one, but in fact we get countless animations of standing on different uneven surfaces. The second most common technique is activation of a button/lever. Here we have no animations at all, the program itself determines the zone of possible influence of the hand, how it moves, how its movement affects the position of the body (if we want it to). So, it's the perfect tool to cut down on the number of hours an animator has to work on dull and boring animations.
PuppetMaster and other RagDoll analogs allow us to create a natural force interaction between the character and the environment. For example, there are animations of walking and getting up from the ground, and the character deflects if his shoulder meets an obstacle, or falls off his feet if the force on him throws the character off balance. Again, we'd need a ton of animations to replicate this.
Motion Warping and analogs - used for procedural smooth transition between different animations when performing typical actions. Also allows you to add realism to the actions of the character and reduce the number of hours of work of the animator. Example of use - we have an animation of running and walking. We add only them to the program and get smooth turns, acceleration, deceleration of the character in motion. Otherwise we would make animations for every possible variation of the character's movement.
Dynamic Bone and similar ones are intended for procedural animations of individual parts/limbs of a character. But we need the main animation of movement, which transmits the impulse of movement of the dependent part. And we do not deal with the animation of the dependent part. It is convenient for hairstyles, when we do not need to animate each curl depending on the movement of the character's body.
Rukhanka's main goal is to optimize the display of an array of animated characters, objects. This is a challenging performance sag problem for games involving massively complex animated actions.
Also, to optimize animated objects we can use animation of the meshes, as for example VertExmotion and analogues allow us to do.
UMotion and Very Animation assets are worth mentioning separately. They allow you to create animations from scratch. These are the very tools that animation designers use (I do not mention third-party and more professional software).
Animancer Pro is the most convenient animation management system, independent and self-sufficient.
Also worthy of special mention is the Animation Designer, which allows you to easily, quickly and conveniently adjust the created animation and add spice.
It is important to understand that when we talk about physics or procedural animation, we mean simplifying the work of the animation designer. And this simplification only concerns actions that are of no value to the player, but add realism to what is happening. Could it have been done in a different way, by creating an animation for each action or transition - YES! But why do it this way if it is not important to the player...
In a professional dance, every movement has a meaning, it is precise, beautiful and this is what allows us to evaluate it as professional. Vectors of force, rhythm, resistance of the floor covering, moment of inertia and the partner's mood - all this cannot be processed procedurally, while giving the player the same result using the same control. And it is the same result under different input conditions that distinguishes a professional from all the others.
In conclusion and summing up what has been said...
The best and optimal way is to give the player a trained body of a professional dancer and leave him to make decisions and overcome the challenge. The challenge may be the need to react quickly, use the right control combinations, etc. At the same time, the dance animations must be verified and accurately recreated by you, as a designer.
Procedurally, you can generate movement of the fabric of a dress, curls of hair, breasts, buttocks)) - well, in general, everything else that adds realism, but is objectively insignificant.
I also recommend using ready-made dance animation packs as a basis, since developing everything from scratch is an infinitely difficult task for a beginner. You don't need to take it on, otherwise you'll quickly burn out without getting any results.
Cheers! 🍻
Thank you my friend. Thank you for explaning everything in detail.
You make my mind clear and also I feel satisfied for the 3 month I spend in order to understand some gaming fundamentals.
I am also appreciated to have some glimps of the mindset from a designer point of view.
With your explanations and advices I can draw a path now.
Hi again. I just want to inform what is happened after your help.
I understand that it is good to have first an animation (a trained body) and then divide it to different states before using it in the unity. In this case I can also use retargeting for different characters, polish the animation. Next step would be clothing, hairs, eye movements, hip and breast orientation procedural.
I think to write a tool which makes a couple moves in the edit mode using some overlays and buttons on the screen by sending commands which is controlling the limbs and arranging followers behaviour. In the mean time checking the gravity and inertia of characters and advice modifications using pose cards and record the animation. (possible in 1 year)
However after some internet search I find these tools.
Unity muse animate :
Which uses commands to search their database and prepares cards to make an animation. Actually it it not suitable for my needs. (has source codes)
Cascadeur : It has autoposing and correcting movements according some physical rules. (external doen't have source codes)
It has the character vs character interaction and can do this https://www.youtube.com/watch?v=gumcvLfNnDM
After this I just need to write a tool which handles 12 different walking style, 50-100 poses in order to prepare or copy from a movie a dance coreografy. (possible 3 month)
By the way do you know a unity tool which can copy movements and make animation from a youtube video. (This will really save my time)
Thanks again.
Cheers
Hi! I'm glad my explanations were helpful!)
I would like to emphasize a few points.
First, try to avoid counting in your mind. Working with animations is probably the hardest thing to do in gamdev (along with behavior programming). That's why there are so many tools that make it easier. When a game designer sets a task for an animator, they specify which animations are needed and for what. But this is done based on the alpha created.
I suggest you, to get a feel for your project and your game concept, create an alpha version in which, for example, the couple will just walk to the beat of the music. Without layers of animations, but with the controls you have in mind. So, by playing this scenario and controlling the character, albeit with non-ideal animations, you'll get a feel for what's missing and what might be superfluous.
Additionally, the alpha will encourage you to keep creating - by implementing improvements, adding animations you will see your project grow as you contribute.
Secondly, the principles of combat interaction animations don't quite work for you. In short, they are overkill for your task. In the case of dancing, the couple interacts synchronously and in proportion to the rhythm of the music, the duration of the movement and its animation take into account the beat and are unified for both partners. In the case of fighting, we deal with asynchronous movements and animations, resets playing animations, etc. I.e. in martial arts the movements of the characters are not defined by any general conditions and must oppose each other, unlike in dance. In your case it is enough to synchronize the start of animation on both partners and take into account the rhythm of the music in the speed of playing animations.
However, you probably know this yourself, I just can't help but say it just in case )
Now let's get to the point)
Unity muse animate - Found out about it thanks to you) Based on the available information, potentially interesting, one day perhaps will be applicable. For now it only allows you to process simple promts, but there are already plenty of such animations... I think we can forget about its existence for a couple of years ;)))
Cascadeur - and here it became a certain qualitative step, at least for me. I use it regularly, with pleasure, and I'm glad to see how the tool is evolving. Adds a lot of quality realism to complex movements. I don't know how much you'll end up using it, but it doesn't hurt to master it.
And yes, the future is not waiting, there is already an AI model that allows you to take animation from video. https://www.quickmagic.ai
I personally haven't used it yet, only on demo videos. I can't say anything about the quality, but logically, the video should be shot from a static perspective, human models should always be visible in the frame and their limbs should be fully visible. If you want to try it, please tell me about your experience!
In conclusion, I would advise you to take a look at the libraries of the already recorded MoCap.
For example, here https://truebones.gumroad.com/l/zMKkH
I realize that they won't cover all your needs, but editing already recorded studio mocap is easier than creating your own from scratch.
I'd be happy to hear your opinions and updates!
Hi, thanks again, you are giving me again valueable informations.
I try to use the cascadeur and drawing the poses, I spend 1 hour for 30 frames and it was just a embrace, some embellishments and a step together with the couple. Up to now when I do something more than three times I wrote a tool 🙂 This time I cannot and I don't want to reinvent things made before. (challenge for me)
From your example:
I see the result from mocaps and take my notes. I search more and get this research https://www.youtube.com/watch?v=Y2zksX3cSCw
In the beginning I thought Humanoid model is not enough for my project but cascadeus solves this with box colliders physically.
Finally there is a research where they take into account two more bones for the foot. The small side of the toes and the heel 🙂 As I see they add eyes and ears too.
In order to learn tango I had another deep research which include tai chi and dao principles. I know some tips about how to use the ground, how to arrange my posture and transfer the incoming energy to the ground or reflecting back to the opponent using your tendoms and joints, I use this knowledge in dancing which helps my partner open her emotions. However it will not work in animating. 🙁
As a enterprise developer I faced before all the time traps in coding and if you were not warned me I would fall the time traps for designing 🙂
Thank you.
PS. Next time I will send you the alpha version.