Introduction:
These two intros got released back to back in June 2022 and document our journey with raymarching techniques on Fantasy Console platforms like the TIC-80, PICO-8 and MicroW8.
Silos (128 Bytes, TIC-80/PICO-8/MicroW8):
At this point in time back in 2022, when TIC-80 compression was still being developed, no one was really sure if a 128 Byte Fantasy Console intro using Raymarching was even possible.
Having toyed with Raymarching on TIC-80 a bit during the bytebattles at Lovebyte Battlegrounds, i was trying to get some bare-bones raymarching going in as small of a footprint I could manage. This quest eventually led me to what was to become Silos.
One of the simpler SDF types that requires the least amount of code would be using repeated cylinders, which
by carefully selecting colors and using the poke(address,value)
command in a single loop for plotting could pass
for buildings or futuristic silos. Further shortcuts were taken by just using a single loop for marching without a hit-exit condition.
As such, Here is the code for the TIC-80 version of Silos:
TIC=load'n=n+.1 for e=0,16319 do d=-1o=e/16319+math.cos(n)/6-.6r=e%120/60-1 for I=0,11 do d=d-(r*d%2-1)^2-((d-n)%2-1)^2+.3 end poke(e,o*d*9%3-d*o-2)end'n=0
And here for the PICO-8 version:
while(1)do for e=0,6144,1.5do d=-1o=e/6144-.5r=(e%64)/32-1for i=1,5do d=d-(r*d%2-1)^2-((d-t()/2)%2-1)^2+.3end poke(25600+e,o*d*12%3-d*o&13)end end
Perfect Storm (256 Bytes, TIC-80/PICO-8/MicroW8):
During the same time as Silos we were working on another intro called Perfect Storm.
This intro consists of slightly more complex SDF of a unsquarooted distance of 'cut out' repeating spheres which is then fed into a cosine function to get these kind of wave patterns without needed a full-on layered FBM function.
distance = cos(((-x%20)^2 - (y%10-5)^2 + (z%10-5)^2) / 32)
Early versions of this intro had a small creature made out of circles flying over a raymarched scape. However, the overall vibe wasn't working, so Blossom helped out with setting the vibe and tone of the intro and switched the theme from 'flying dragon' to a 'storm at sea' and added the rain.
This intro was released one week after Silos. And with twice the size-budget, there is a little more going on.
Conclusion:
I'm happy with how these intros turned out at time. Raymarching in extremely small sizes on fantasy consoles was just taking off and were limited to more minimalistic technical representations rather than trying to set a concrete scene. Looking back I'm glad to see that both intros have kept their own distinct style and vibe.
For more information, you can check out the intros at demozoo: Silos (2022) / Perfect Storm (2022)