From the comments from BDR2, I thought I'd have a go at a more flexible track. So this works by simply having 3 track pieces, a left turn, a right turn and a straight piece. Then the track is designed by saying left, left, straight, straight, right, straight, left, left etc. This is stored as a single string llsssrrrrsssslslslslrrrrsss etc, we then just read the string and draw the track. Which works... Getting a track to join up is pretty tricky. Anyway, this is the first attempt at this, to make this scroll etc will obviously take a bit more work