Sign in to follow this  
BobXIV

How would you make something like this?

Recommended Posts

BobXIV    323
Recently I saw an Indi game named "Sui Generis" (here is a video of it http://kotaku.com/5958364/we-might-be-looking-at-the-next-generation-ofindie-rpgs), it seems very interesting. There are two things that are particularly interesting: the physic interactions, the animation of the characters.

My question is related to the characters animation. I want to ask how you can make something like this, I mean the movements seems very "physic driven" to call it some way. I know that Euphoria (http://www.naturalmotion.com/products/euphoria/) is a very good dynamic motion synthesizer, surely with that you can make something similar but this studio doesn’t seem to be very big so they most probably don’t have access to that kind of technology. May be the animations are simple made with Maya, 3D Studio, etc and they have a ragdoll and nothing else... but the result is very good.

What do you thing guys?

Share this post


Link to post
Share on other sites
theark    336
I'd say your probably right, and likely using some sort of physics API to generate a smoother after effect, especially when the skeleton is destroyed. I have to say thats a pretty cool looking game, but its probably done the same way most of the physic based 3D games are, just with a difference camera angle is all.

Share this post


Link to post
Share on other sites
kd7tck    735
They might be using homebrew 3d scanning techniques. They would set up dozens of cameras in front of a blue screen and piece them together to form a 3d model. Otherwise they would have spent years tweaking animations to get that kind of organic movement. I have a feeling that much of the physics is pre calculated and recorded from cg actors into a series of animations.

Otherwise they are using one heck of a physics engine.

Share this post


Link to post
Share on other sites
ATC    551
[quote name='L. Spiro' timestamp='1352345902' post='4998728']
All-in-all, very practical to implement. Only the way the animation system runs needs to be modified, and that modification is trivial, since it is extremely easy to calculate what kind of impulse needs to be applied to get from one orientation to another over a fixed amount of time.
[/quote]

Could you explain how you would go about making those calculations? I'm considering implementing this and some other things...

Share this post


Link to post
Share on other sites
TheChubu    9446
Hmmm... They're asking a LOT of money for a project of not well-known people. "We're... It doesn't matters really. Point is, we want a quarter million dollars please."

Though their project looks like it could require such amount of money, by that I mean it may be too ambitious. Edited by TheChubu

Share this post


Link to post
Share on other sites
ynm    172
Does anyone know how to implement the physics collision at 00:59 in this clip:
https://www.youtube....h?v=PvZchE30StQ

It seems very accurate

Share this post


Link to post
Share on other sites
Cornstalks    7030
[quote name='ynm' timestamp='1353296840' post='5002231']
Does anyone know how to implement the physics collision at 00:59 in this clip:
https://www.youtube....h?v=PvZchE30StQ
[/quote]
[url=https://www.youtube.com/watch?v=PvZchE30StQ]Fixed that for you[/url]. That's just standard rigid body physics. Nothing special. [url=https://www.youtube.com/watch?v=143k1fqPukk&feature=related]Pretty much any rigid body physics engine will do[/url], and even then [url=https://www.youtube.com/watch?v=KppTmsNFneg]there are more impressive things[/url]. Exactly how he auto-generated the collision mesh from the graphical mesh, I'm not sure, but there are various methods (assuming he generates a poly-reduced mesh; he could be using the full mesh, but for high-poly models that's computationally expensive).

@L. Spiro: how costly (CPU-wise) are such animation/physics combinations?

Share this post


Link to post
Share on other sites
L. Spiro    25619
I can really only estimate, but the extra overhead shouldn’t be too much, especially since you can avoid divides (inverse of time is a constant for the whole frame and should only be done once per frame).
Standard performance tips apply: Since it is per-bone, if it is too heavy, reduce the number of bones etc. But compared to what has to be done to the bones involving matrix multiples etc., this extra overhead will likely go unnoticed, so overall I would just say, “Negligible”.


L. Spiro

Share this post


Link to post
Share on other sites
kuramayoko10    390
Wow, it is really amazing those animations and physics. I have never seen anything quite like it *_*

Another awesome thing is the illumination & shadows. The light blends really well with the environment (outside and indoor) and the shadows are very smooth and dynamic :)

Share this post


Link to post
Share on other sites
frob    44903
[quote name='TheChubu' timestamp='1353294666' post='5002218']
Hmmm... They're asking a LOT of money for a project of not well-known people. "We're... It doesn't matters really. Point is, we want a quarter million dollars please."

Though their project looks like it could require such amount of money, by that I mean it may be too ambitious.
[/quote]
When it comes to middleware, it isn't the cost of THEM to develop it, what matters it the cost it would take for you or your project to implement the same functionality.

Could you implement the same thing, have it debugged, and have it available today, for less money?

Is it cheaper to use theirs --- which is available today at a known cost --- than it is for you to spend an unknown number of months re-inventing their wheel, debugging it, refining it, and supporting it, at an unknown cost? Edited by frob

Share this post


Link to post
Share on other sites
Madoc    146
As a member of the gamedev forums I thought I'd step in here and drop a line.

L. Spiro, you seem to just be describing some constraint solving method. It's not what I use but even so this would amount to a couple of line of codes, our character animation system is currently shy of 15000 lines of code.

Don't want to bash anyone or anything, it doesn't seem right to mislead people into thinking that what I've done here can be reduced to something so simple. It's the result of a really huge effort, lots of testing and tweaking and still it's a work in progress. I usually get things done very quickly, this has taken away inordinate amounts of my time.

Cheers,
Madoc

Share this post


Link to post
Share on other sites
Cornstalks    7030
Cool to have you stop by, Madoc. If you're able to, could you share any details of the physics system? I'd love to hear about it from the developer. I'll ask some specific questions, but if you're not able to answer them, no worries:
[list]
[*]How many rigid bodies can it currently support (on an average target user machine)?
[*]When it comes to importing the meshes to the physics system, are they converted to a low-poly version and fit with convex hulls?
[*]Any details you can share about the physics+animation combination would be cool.
[/list]

Share this post


Link to post
Share on other sites
TheChubu    9446
[quote name='frob' timestamp='1353354399' post='5002422']
[quote name='TheChubu' timestamp='1353294666' post='5002218']
Hmmm... They're asking a LOT of money for a project of not well-known people. "We're... It doesn't matters really. Point is, we want a quarter million dollars please."

Though their project looks like it could require such amount of money, by that I mean it may be too ambitious.
[/quote]
When it comes to middleware, it isn't the cost of THEM to develop it, what matters it the cost it would take for you or your project to implement the same functionality.

Could you implement the same thing, have it debugged, and have it available today, for less money?

Is it cheaper to use theirs --- which is available today at a known cost --- than it is for you to spend an unknown number of months re-inventing their wheel, debugging it, refining it, and supporting it, at an unknown cost?
[/quote]I dont understand the point of your answer. They're not using middleware and I didn't mentioned it. Did you meant to quote somebody else?

Besides, as I said while its a lot of money, given the scope of the project it sure looks like they need it.

EDIT: Weird deja vu for some reason. Edited by TheChubu

Share this post


Link to post
Share on other sites
Madoc    146
Elo again,

Pretty busy these days! I'll try to say something but going into any depth here would require a lot of time.

•How many rigid bodies can it currently support (on an average target user machine)?

Honestly we haven't really stress tested it, more than enough for our purposes. Probably in practice the most demanding thing is something that keeps the simulation fluid (no jittering and popping) and stable even when objects are put under impossible stress. Of course most of the time objects are resting and cost nothing.

What is still very demanding is cloth collision detection (you can see this on the cloak here www.youtube.com/watch?v=OPrOonmaG00). That's still going to need some clever optimisation.

•When it comes to importing the meshes to the physics system, are they converted to a low-poly version and fit with convex hulls?

Umm... To be honest this is something I'd rather not reveal while we're still so early in development with the game. We'd like to be able to use it first. I hope you understand.

•Any details you can share about the physics+animation combination would be cool.

Well, applying some forces to an articulated body is not a big deal but all you get is a body twitching awkwardly on the ground. Going from there to something that behaves like a character, that can maintain and recover balance, swing heavy weapons without falling over, get up from having fallen, run over rough terrain and do all sorts of other things is rather challenging. This needed a lot of procedural behaviours and basically a mountain of hacks, and the way it all interacts is the stuff of nightmares. A lot of the body is controlled almost purely procedurally and getting it to behave well in all circumstances has threatened to drive me insane. It's still a bit clumsy but I hope to improve it further, also with more predictive behaviours which have been somewhat neglected so far. I'm also looking to include more hand crafted solutions (i.e. for breaking or preventing a fall) which from the little I've picked up looks to be closer to how Euphoria works.

For some reason I still don't fully understand, I can't get traditional IK solvers to interact well with the system. I've tried this several times and just failed to produce anything that wasn't a bit twitchy (the people who made Euphoria are probably laughing at me right now). I have something that sort of does the job but it works in mysterious ways :).

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this