Tiny Code Christmas - Day 9 - EXTRA

Welcome to Day 9 of Tiny Code Christmas EXTRA! We’re glad that you’re joining us again on this festive journey into the world of sizecoding. TCC Extra is intended for people who completed Tiny Code Christmas last year and want a new challenge!

If you haven’t already, read the overview to find out what Tiny Code Christmas is all about!

The Challenge: 3D Dot Landscape!

3D Landscape in 128 bytes by dave84
Island Road - 3D Landscape in 128 bytes by dave84

The first challenge is to explore the effect and the various parameters. The second challenge is to create the tiniest implementation possible while retaining the properties of the original: dot grid, plasma height map, 3d persepective.

Both the TIC-80 and PICO-8 code are below as a starting point or you can write your own from scratch, no requirement to use these.

TIC-80

t=0
function TIC()
 t=.02+t
 cls(0)
 for x=-120,120,3 do 
  for z=0,1000,8 do 
  
   y=(math.sin(math.sin(t/2)+x/50)*3+math.sin(z/50-t))*3
   
   pix(120+x/(z*1.8-1200)*1200,(y-40)/(z*1.8-1200)*1200,y/1.8)

  end
 end

end

PICO-8

t=0
r=0.159 --rads to turns
function _draw()
 t=.02+t
 cls(0)
 for x=-120,120,4 do 
  for z=0,800,12 do 
   y=(sin((sin((t)*r)+x/50)*r)*3+sin((z/50-t)*r))*3  
   pset(120+x/(z*1.8-1200)*1200,(y-40)/(z*1.8-1200)*1200,y)
  end
 end
end

Sharing is Caring!

If you feel like it, why not share what you’ve done with us on the LoveByte Discord, #lovebyte on IRCnet, or share on Twitter and Mastodon using the hashtag #lovebytetcc