* ../

Eight Mages




links

pico8 cart - go check out the code for the visuals!
bandcamp download

epic big thanks to

wyrl - for sharing insperation that led to the equation based backgrounds in the music video
Miss Mouse - for showing coming up with this method...

Pico8's time() quirks

The time() function in pico8 is machine dependent. Multiplying time() by 1.0007962696777 makes it more time accurate on my machine.

Firgured this ratio by recording beeps from pico 8 into Reaper.

--[[ Samples from Reaper's recording of Pico8 Pico8 beep What it should have been 8:00.422 8:00.00 8:30.424 8:30.00 7:30.370 7:30.00 7:45.376 7:45.00 8:15.419 8:15.00 8:20.391 8:20.00 7:40.354 7:40.00 So on my computer, time() is running slow. ]] local samples = { 8.0070333333333333, 8.50706666666667, 7.50616666666667, 7.75626666666667, 8.25698333333333, 8.33985, 7.67256666666667, } local targets = { 8, 8.50, 7.50, 7.75, 8.25, 8.33333333333333, 7.66666666666667, } local average = 0 for i,sample in ipairs(samples) do local ratio = sample / targets[i] print('sample '..i,ratio) average = average + ratio end print('average',average/#samples) --[[ This program prints out... sample 1 1.0008791666667 sample 2 1.000831372549 sample 3 1.0008222222222 sample 4 1.0008086021505 sample 5 1.0008464646465 sample 6 1.000782 sample 7 1.0007695652174 average 1.0008199133503 ]]

We can use that to redefine the time function.

local og_time = time function time() return og_time()*1.0007962696777 end