Otherwise known as “magic jigsaw physics” – how to use non Newtonian physics to provide interaction mechanisms for arranging tiles.
Note : This is just a research piece – for our full commercial implementation of casual physics see www.fingertapps.com
Problem : moving one tile can disrupt the whole puzzle.
Both rigid and solid body physics are designed on the idea of preventing objects from passing through each other and restitution is performed in real time. However this makes tasks like moving a single piece over others a challenge. We want to preserve the physics of nudging – but to allow broad movements.
Solution : Casual physics – non Newtonian physics with ‘casual’ non-realtime response.
The key elements are;
1) Modeled as point field physics with attractive and repulsive points.
2) Inverse repulsion for tile pieces allowing for nudge effects
3) Small attraction points for a ‘snap’ effect to allow tiles to settle into a target well
4) Tile under user control is unaffected – allowing complete responsiveness
5) Restitution is not real time – only 20% effect each time step
6) Implicit velocity methods are used rather than integration for simplicity and stability
a) Snap points are small, regularly spaced attractors
b) Each tile has a larger inverse repulsion field
A point sample is made at the centre of each tile which is not being dragged. This examines the current attraction and repulsion intensity and animates to that effect in a non-real time fashion.
Problem : rotating a piece without having to choose rotation from a menu.
Solution : Rotational Inertia - friction from dragging the centre of mass acts as a rotational force on the body when it is not aligned with the direction of motion.
So to repeat in terms of actions - dragging a corner or edge of a tile will cause the centre of mass to orientate over time (due to friction forces) towards the vector the user is dragging.