Tiny Things Sure Can Be Annoying…

We are processing with animations for our Edoiki game and our outsourced animator has got almost everything working fine:

  • Exports are now working nicely (after little bit tweaking)
  • Motion capture helps us to get top quality animations
  • Animations are getting done in a fast manner
  • Price is good

Almost everything is fine: the animations are nice, and our animator is doing a quality job.

There’s just one problem…
… we cannot get the motion capture to “keep the character in one location”. Currently the character is animated nicely, but he is moving away from origo coordinate – and this causes problems in the game. In the game the character moves away from the spot where he is supposed to stay so that the engine can handle the movement in the play field.

Death animation is okay (since we need to play it only once), but sneaking doesn’t work the way it should (because we need to loop the sneaking).

Our animator is checking on this, but any help (or ideas on how to solve this problem) are gladly taken. It’s a bit frustrating (not really – but a bit) to get very close to the perfect situation, just to see some small issue is messing up everything.

Tiny things sure can be annoying sometimes.

Juuso Hietalahti


  1. Thanks guys… we are about to get the thing solved. I really appreciate your help and support!

    Biscuit – heh, shit happens :)

  2. I had an incredibly annoying problem with collision responses in a sprite based game. When the player and an enemy collided, they were both reset to the starting position. The problem was, even though I had coordinates hard-coded into the game, they would pop up on random locations from time to time! It took me a few days to figure out what exactly went wrong. The problem was, when the player and an enemy collided, the collision was still happening while the event handler code was executed, and both objects kept moving even after they returned to their start positions. Finally fixed the problem, but definitely not something I want to happen every day!

  3. For the looping problem, you have to edit the finished animation by hand as there is no other way to make it loop.Same goes for the “translating” animation.As you said, game production may be a little pain in the a** but when you get over those problems you will have %100 self confidence and motivation to work and improve your game!


  4. Simply pick 1 node that you think is representative for the players position, say: the head.

    Follow that node throughout the recorded animation.

    For every frame:
    – calculate the translation between that node in the current frame, and that node in the first frame (this is a 3d vector)
    – now translate all nodes *back* by that vector

    Now the head-node is always at the same fixed point in model-space. Problem solved!

  5. We had this exact problem with our character animations.
    The issue was that the animations had the character actually moving in the original Max file. By moving, I do not mean the leg and arm movements, but the entire model was moving as well. When you are using the engine scripts to handle moving the 3D object, the animation being called should be a simple moving of the skeleton, but without any model co-ordinate changes.
    Doing this will correct you character movements. Hope this helps. Email me if you have any other questions about this.

Comments are closed.