What's the best way to animate this in the game engine?

I’ve made a sliding puzzle game (9x9 grid with one empty slot. You slide the cubes around until you build the picture.) The empty slot is actually a transparent cube that runs the animation. If you press UP it will look to see what block is in the desired location and flip them using setPosition(newpos)/setPosition(oldpos)

now that I’ve got that working I’d like to animate the cubes. I’d like them to jump up slightly and spin 180 degrees. What’s the best way to go about this?

I’m not a fan of using motion actuators because they don’t allow for the amount of control I need.

I was thinking shape keys but was unsure how the scripting would work with playing the animation and then resetting back to the base shape and shifting the position

In my learnings I’ve also read about picking up objects and dropping objects. You remove the object on the ground, add a new object that is being held then remove the held object and add the ground object again. I thought that this might be the way I need to achieve this.

I won’t need step by step directions. I’m just looking for a clue on the direction I should I go.

move and scale animations are quite easily done and used with the IPO curve/actuator?!


are you saying scrap the setPosition() and instead set ipo keys for each location and every possible flip? Like menus when you flip from one item to the other? Or can I just have four animations, one for each direction.

If the latter does work, I’m assuming I’ll have to animate them from the [0,0,0] position as to easily adjust those parameters to the correct position? Yes? No? Overthinking?

Thanks for the help!