JoeJ do you plan releasing/making public your code/work?
Bone Animation, feedback needed
Super complicated. The body is a whole system. The not stepping leg is helping too.
(time in the link)
NikiTo said:
Before you can run, you need to
There is stable and unstable balance, but i do not need to make a difference between them. I consider it balanced if i can assume to keep upright in the predicted future, e.g. the period until the next foot will touch the ground.
Ofc. realistic animation breaks non realistic game behaviors we are used to. If we do nitpicking, even PacMan is physically impossible because it alternates constant and zero velocity in an instant. (Though, it's possible to do it even in a correct simulation driven by force, but there will be a tiny inaccuracies and oscillations, not really noticeable to the player.)
Talking about modern games, RDR2 was an example where people complained about bug input latency. This is becasue they use very realistic animation and so it takes time until we climb a horse or just change walking direction. To make a jump, first need to ensure stable contact and legs contraction so they can expand to take off. Things like that.
So that's a downside. And it lacks the upside because better animations do not add anything to the gameplay. Movement is restricted to animation system, and it's not clear if the eye candy compensates the loss in responsive controls.
Now the question is: In a physics driven system that does not depend on animation or static data, how is it then? How would a realistic fight of fists increase the immersion, how would adapting any action to a more dynamic and interactive environment affect the experience?
Can it even give us new games, new genres? I don't know. But you always have the option to do the same unrealistic things as before. Just add external force. So it is at least clear that physics simulation only adds options, but it does not remove any.
NikiTo said:
When you start a movement, there is acceleration, the so called Easy-In, and little bit before you reach your final pose, you start to slow down. So called easy-out.
Ah ok, that's nothing new. Just using splines for keyframe interpolation.
I would like to have options like creating a target in the scene, and saying ‘i want hand effector at this position at time x with velocity vector y, and use natural constant acceleration and deacceleration please’, and the application should solve for that.
Maybe that's possible meanwhile. I used XSI which was very good for animation back then.
Calin said:
JoeJ do you plan releasing/making public your code/work?
Not now. Won't give it away for free. Maybe if i get rich sometime… :D
Though i have added my ragdoll joint to Newton as a demo. Not sure if it's still in at current version.
In competitive shooters, i think many people would disable that delayed realistic movements.
Definitively adding physics to a game improve it. The sole act of adding 2D physics to a 2D game improves it a lot. The feeling is much better. Much more entertaining.
Ofc, you will need basic commands, like grab the handle of the door. And then the bone engine will decide how to “get to” where the handle is. And even if needed, make the body walk to get close to the handle. It is insane to ask the game maker to program it all. The engine must be able to break it to easier to manage commands.
The game maker will add -
if close enough to the handle and the door is closed, activate movement to reach the handle, turn it and open the door.
The engine will combine it all and compute it in real time. The engine could decide that the player is moving fast and it will push the door with a shoulder after the handle is turned.
Now the player will wander through a house and doors will be handled realistically. And it was few lines of code for the game dev.
Super challenging and interesting project!!
How sad i am busy with my current project…
NikiTo said:
And then the bone engine will decide how to “get to” where the handle is
You need unit/character sight (vision) that will enable it to know where objects are in 3d space.
My project`s facebook page is “DreamLand Page”
NikiTo said:
When GPUs become so fast at Ray Tracing so nobody would bother anymore to use a good extremely optimized GI, ragdolls could still be an open problem. I told you you probably have more future in ragdolls than challenging Jensen.
Seen that UE5 demo? Maybe you are right… don't know if they use RT fro GI, but looks good. Lag is huge, though.
Agree about those thoughts of limited interaction input to games, so character have to be intelligent enough to do things themselves.
On the other hand i loved Penumbra for it's mouse based interaction system. But mouse is just 2D, and consoles don't have it. VR controllers would be nice, but can not map 1:1 to a physics simulation.
Difficult problem…
Calin said:
You need unit/character sight (vision) that will enable it to know where objects are in 3d space.
Not sure. NPC vision would be expensive. You can do range queries to find all interactive objects nearby a character, and the you could trace a ray to check visibility. Physics engines have all this anyways because they need it for collision detection.
But that's not the same than havin a real framebuffer for NPC and… maybe running ML AI to get more realisitc behavior. I know nothing about AI.
You can do range queries to find all interactive objects nearby a character, and the you could trace a ray to check visibility.
You need units to understand the space they`re in. You need an upgraded form of LOS, which probably is also what you`re saying.
As for the cost in terms of CPU on a 3d terrain you have to do CD checks for every tile, which I think is expensive even with an optimization tree.
My project`s facebook page is “DreamLand Page”
JoeJ said:
Seen that UE5 demo?
Link?
What makes me suffer in my project is that it seems pretty static.
CV is just something i code and it will be used. Then, the faster the computer the better.
Maybe you will understand what i mean by “static” if i compare it to AI.
My CV sends info to the AI. CV part is static. Never changes. It must be fast as hell. AI is more plastic, more options for programing. HLSL is basic language and that's it. AI on the CPU offers 1000 times more programming opportunities.
Maybe GI is something like that - super mega fast and static. People will import your engine and it will work. I import my CV and it works(when done).
But if you create a human ragdoll, somebody could call you and ask you if you can program a horse ragdoll. And you will have some more fun making it. If they buy your GI, they could tell you - it works great, goodbye, take the money and get lost.
Or somebody could ask you to try to program for his real life robot. This time you will have fun with robotics. Your path will directly cross with people working in AI.
You could work on the next robot to be send on the Moon/Mars. How can GI take you to the space industry? GI and CV are so well defined, so narrow,they almost look like routines. “Scan that image!” for CV and “Color that image!” for GI.
How you call your GI? “void colourScene(scene);”
Now you call the ragdollEngine like that - “solveSequenceOfGoals(goalsArray);” or
“insertNewGoalInStream(goal);” or
“copyChoreographyFrom(animationFile);” etc.
How you call CV? “scanImage(image);” or “scanVideo(video);”. Not much more than that.
CV part of my code is extreme optimized. Every time i tried to improve it, i realized it is perfect(what is finished so far is perfect). When i am done with it, i will not work on it anymore. If i sell it, i can quit programming.
But I will work on AI instead quitting.
My boring CV part sends to the AI this: “there is a cat” and “there is a dog”.. how dry and boring, no?!
Then AI will do this - “a cat and a dog in the same place, it is dangerous, they could fight. Flesh bags like to watch videos of cats and dogs on the internet”
CV/GI does something very specific very fast. AI is extremely diverse in its goals and speed is secondary.