You also need to use timer based movement, to account for the speed differences with so many units.
So instead of...
Quote: "move object obj,5"
You'd do something more like
Rem defined as DB units per second
objSpeed#=10.0
objTimer=timer()
do
time=timer()-objTimer
timeScale#=(objSpeed#/1000.0)*(time*1.0)
move object obj, timeScale#
time=timer()
sync
loop
Very simplified version to make it understandable. Basically, I move it according to how many milliseconds have passed. You should animate the objects in the same manner. The result is a game that always runs the same speed, no matter how fast or slow it runs on someone's computer.
Come see the WIP!