01 First off – start Blender, Split Area the view and display an Ipo Curve Editor with [Shift]+[F6] if it isn’t already visible. Select the default Cube. Move it up one unit by pressing [G], [Z], , then [Enter] so it rests on the XY plane.
02 Select Add > Empty and place it at 0, 1, 0 by pressing [Alt]+[G] and selecting Clear location followed by [G], [Y], , then [Enter]. Parent the Cube to this Empty by selecting the Cube, [Shift]- selecting the Empty, then pressing [Ctrl]+[P] and choosing Make Parent.
03 Select the Empty and key its rotation by pressing [I] and selecting Rot. Set the current frame to 21 by pressing [Up] twice, rotate the Empty -90 degrees in X by pressing [R], [X], typing -90, then [Enter].
04 Go to frame 11 by pressing [Down] once, and in the Ipo Curve Editor press [Home], then
right-click select the X rotation curve and hit [Tab] to edit it. Select both keyframes, press [V] for vector, then insert a new keyframe with [I] at the Current Frame. Right-click the new keyframe and press [Shift]+[S] and choose Horizontal. Tweak the curves as shown in the following screenshot:
05 In the 3D View, duplicate the Empty, and move it on the Y axis 2 units by pressing [G], [Y], , then [Enter].
06 Go back to the Ipo Curve Editor and next to the IPO datablock name, click the 2 button and choose Single User. Select all X rotation keyframes and move them 20 frames in the X axis by pressing [G], [X], typing 20, then [Enter]. Go to frame 1 and parent the first empty to the second by pressing [Ctrl]+[P] and choosing Make Parent. Now you have one roll of the cube.
07 Repeat the previous process twice: select the second Empty, duplicate it, move it 2 units in X, Single User its Ipo block, move the X rotation curve 20 frames, and parent the second Empty to the third at frame 1. Finally, do it one more time, this time starting from the third Empty.
08 Once you have four Empties, the cube will roll on each of its edges one at a time in succession. To keep the roll going select the first Empty you made, go to frame 81 and key its rotation, then press [E] and choose Cyclic. For the two middle Empties, do the same, but add the new frames at frame 81 and frame 1.
09 For the last rolling Empty, you only need the extra keyframe at frame 1 (in addition to the Cyclic Extrapolation). Add a new Empty at the origin by selecting Add > Empty followed by [Alt]+[G], then select the last rolling Empty and parent it to this new one. Key the new Empty location, and then move to frame 81, and translate the new Empty 8 units in the Y axis by pressing [G], [Y],  then [Enter] and key its location with [I].
10 In the Ipo Curve Editor, select the location curves, and change their type to Constant by pressing [T] and selecting Constant. Press [E] and set the Extrapolation to Cyclic Extrapolation.
Words: Bassam Kurdali
Bassam is the director of the first open-source movie, Elephants Dream: tube.freefac.org