TIC-80 experiments

Some experiments in TIC-80 , a “fantasy video game console” . Each of the “cartridge” images below also contains the full code, embedded in a way that is almost invisible. You can directly load a png in TIC-80 like you would load a .tic executable. So feel free to right-click-save these to run them yourself.

Bubbles

TIC-80 cartridge with bubbles on the cover
A per-pixel effect in 128 bytes of fennel. Run it in the browser here .
;; script: fennel

(fn _G.TIC []
(let [i 239
      t (time)
      h #(math.sin (* $1 (/ t i 9)))]
     (for [x 0 i]
     (for [y 0 i]
     (pix x y (* 4 (+ (h x) (h y))))))))

Tunnel

TIC-80 cartridge with a tunnel on the cover
A tunnel effect in less than 256 bytes of fennel. Run it in the browser here .
;; script:  fennel

(fn _G.TIC []
(let [h 120
t (* (math.cos (/ (time) -999)) 20)]
(for [y -68 h]
(for [x -120 h]
(pix
(+ x h)
(+ y 68)
(/ (- (math.atan2 x y) 
(// (/ h (^ (+ (* x x) (* y y)) .5)) .7) t) 2))))))

Scroller

TIC-80 cartridge with some letters on the cover
A scroller effect in 256 bytes of fennel. Run it in the browser here
;; script:  fennel

(fn _G.TIC [] 
(var t (// (time) 23)) (cls) (for [i 37 0 -1] (let [k (+ (* i 8) (- 100 (% t 390))) y (+ 6 (* 3 (math.sin (* k .1)))) x (* k y .8)] (print (string.sub "This is a 256 byte scroller in fennel" i i)  x (* 9 y) (/ x 26) true y))))

Pages linking here