# 2D motion synthesis for a human character

I want to make the player controlled character of my two dimensional sidescroller responsive to environmental forces, while still being controllable.

I read about the commercial software product Euphoria, which is used to synthesize the motions of characters for example in GTA IV.

I realize that three dimensional motion synthesis is so complex that I will not be able to use it in my games. Luckily I am creating a two dimensional sidescroller. I assume that it is a lot easier to synthesize motion in two dimensions.

Actually I found a relevant scientific paper from 1994 about exactly this topic. After a quick flip it is a rather complicated and not a fully complete (ready to be ported to C#) concept. But is it outdated? What are common approaches to solving this problem in the 21st century? Do you know 2D games using a motion synthesis concept?

The article you mentioned seems to be intended to use physical simulations to help in generating articulated movement animations. Ragdoll physics, for instance, is a form of physical simulation that can be used to animate a dead body (just like a rag doll falling!), but due to computing resource limitations (specially in mobile devices) those effects are sometimes pre-calculated with physics engines and recorded as animation clips for later use during gameplay. I didn't understand if you want something like that, but you can check these very good physic engines: Box2D (2D) and Bullet Physics (more useful for 3D games). Here you can find a nice ragdoll example with Box2D: http://www.jangaroo.net/files/examples/flash/box2d/

You didn't explain in details what your needs are, except by mentioning that you want your character to be influenced by the environment. That might means a lot of different things, but I am really imagining that you want the make the movement of your character harder by effect of opposed wind or easier by effect of a sliding surface (ice), for instance.

By the way, you could update your question and make it a little clearer (or more direct to the point), so it will be easier for you to get more answers and help from other people.

Considering that I understood correctly what you want, the common approach for achieving changes in character movement is programming the environmental effects yourself. That is relatively easy to do, consume significantly less resources than using physics engines, and allow you to have more control of the effects of environmental events (which are normally related to the game mechanics). If your character is controled by simple vector math, the environment effects can be introduced as changes in the charecter current velocity vector. I suggest you to study the different "steering beahviours" and try to combine them to achieve what you want. The following references might help you with that:

EDIT: In case what you want is indeed related to affecting articulated parts of a character, you can add local colliders at each part and calculate the "environmental effects" yourself at each part using force vectors, and them compose the forces in a similar fashion to what I've suggested at this post: How to calculate new velocities between resting objects (AABB) after accelerations?

So, how i see it, and from the Wikipedia mentioned above, there are two games to look at:

QWOP: 2 legs ( google it) CLOP: 4 legs ( manual control)

I don't think there are other "powered ragdoll games" .. if someone knows add it here.

• Try not to take downvotes personally - padding your answer with defensiveness and complaints doesn't make it more useful to other visitors, it just dilutes the information you're trying to share. If you have an answer down-voted, it's typically because other users just didn't find it gave useful information about how to solve the problem. Maybe it was too general/non-specific, or maybe it misunderstood the question and offered a solution to a problem different than the one that was posed. Sep 10, 2015 at 23:28
• I think it's because you don't actually answer the question here, you give example's of the game and reference the facebook page containing discussion on this but don't provide even a rough idea of what that information is, if for example you say there is examples of this algorithm or this generation technique for animations that might be better :) As DMGregory said don't take it personally, on this site its best to give an idea of the resources you are providing and the specific reason they are relevant. Sep 11, 2015 at 8:57