Go to bottom
Ballz-80 by Citavia [web]
screenshot added by Dresdenboy on 2021-11-01 01:03:54
platform :
type :
release date : october 2021
release party : inérciaDemoparty 2021
compo : combined 512b
ranked : 4th
  • 5
  • 1
  • 0
popularity : 42%
  • 0.83
alltime top: #41360
added on the 2021-11-01 01:03:54 by Dresdenboy Dresdenboy

popularity helper

increase the popularity of this prod by spreading this URL:

or via: facebook twitter pinterest tumblr


rulez added on the 2021-11-01 04:56:54 by Jin X Jin X
balls, touching
rulez added on the 2021-11-01 12:28:39 by wbcbz7 wbcbz7
balls, touching
rulez added on the 2021-11-01 13:40:37 by SiR SiR
rulez added on the 2021-11-02 08:48:31 by g0blinish g0blinish
balls, touching, gently
rulez added on the 2021-11-08 11:23:32 by sensenstahl sensenstahl
Some technical info for TIC-80 coders:

Main idea: Merge a compute heavy effect with 60 fps stuff (incl. sound triggering)


  • simple raymarcher without perspective and with binary search for the surface, marching through a roughly 50x50 sized area (x by y, adapted individually based on comp. size and coverage of the metaball's movements)
  • a simplified calculation of the surface normal (just in one plane)
  • heavily relying on compression for repeated code parts (e.g. to juggle the center coordinates around) instead of adding more loops and using arrays
  • color 0 has to be skipped due to the background color gradient
  • as long as the used time in TIC() didn't reach some threshold, the calculation does another y-loop (was x before)
  • a global variable keeps the current outer loop position to continue calculation during the next frame


  • the bassline reuses some part of the scroll text with modifications, which is played via sfx
  • for some filter like effect, simple PWM is being used to modify the waveform
  • sfx() in TIC due to the main effect staying in the frametime limit


  • uses my font peek routine and is being plotted in OVR()
  • seemingly the TIC-80 versions before 1.0-dev clear the OVR layer (which led to the glitch on the stream with 1.0)
  • steps through palette via frame counter


  • simply some nice gradient for color 0 done within SCN()

This intro had some visual glitches with the overlay on the live stream due to being run on a newer dev version of the TIC-80 client (1.0dev).

submit changes

if this prod is a fake, some info is false or the download link is broken,

do not post about it in the comments, it will get lost.

instead, click here !

[previous edits]

add a comment

Go to top