Two Disk Wobbler is a simple two piece toy that utilizes mathematics in its design to roll as well as it does. The first photo shows two of the 4mm thick version, the second shows a single 2mm thick version. I've uploaded "Disk 4mm.stl", the 4mm thick version, which works better on slick surfaces than the original 2mm thick version.
Video of prototype 4mm version is here: https://www.youtube.com/watch?v=fZwH5u_1NmU.
Two Disk Wobbler rolls good because its center of mass remains reasonably constant while rolling, thanks to the length of the slots in the disks used for attachment . The math involved in determining the length of the slots is not overly complicated, (there are a number of equations to solve for the center of mass, the equation I used involves triangles) and is simplified as:
Slot Length = Disk Radius * (1 - (1 / sqrt(2))), which is approximated by:
Slot Length = Disk Radius * (.2928932).
I've seen a number of these made of wood over the years; most recently here: https://www.youtube.com/watch?v=k0NloZfdnHE. Another video describing yet another equation for calculating the slot lengths is here: https://www.youtube.com/watch?v=OEMA6jhi5Qo.
If possible, select a slight declining surface to extend the roll time.
Print two disks in the color(s) of your choice then slide them together as shown in "Assembly.skp" or "Assembly.stl", making sure the disks are completely slid together.