You can get infinitely complex with this concept, but I thought I would start with an Arduino nano, an accelerometer and a vibrator motor.
To operate, you hold a button to begin recording accelerometer values every 100 milliseconds, after reading each x/y/z value it takes a vector sum and stores that value in an array. When recording is done it stores the array in EEPROM.
To play back, you press a different button, this loops through the EEPROM, reads each value into an array and then loops through the array seting motor voltage proportional to the acceleration value stored. Very simple!
I run out of memory in the nano after storing about 500 accelerometer values, so I have a limit of 50 seconds record time at 100 ms interval right now.