Ye Nan Pu

YO-DEL-OHMMMIIIIGAAA!!!

Demo

Notes on a post-midnight party prod a.k.a. Demolab entry made at MountainBytes 2025.

At one point I was showing TIC-80 to my friendly table-neighbor, who spent most of the night working on a game written with vi in pure C on an OpenBSD machine. Compared to the scale of which, the idea of a fantasy emulator is quite cute. After a few rounds of Parodius in a NES emulator, the old brain was definitely not getting any sleep: out came the TIC-80 again, as I started punching in the code for a sketch I made a couple of days ago:

pencil sketch

This was inspired by an earthquake felt in a dream, which I wrote out in detail on the other page. Maybe it was actually a real 'quake in the middle of the night? I checked the service, as usual there weren't any in my region. By the way - you probably did not hear about the big disappearing data mystery they had a few years ago? Yeah:

title of a paper

Fascinating story. So maybe it is just the neighbour moving some chairs around, or something. Anyway, here I was, in the middle of the night, making lines jitter in Python.

Why not Lua? It turns out, besides the default there is today the option of using ruby, js, moon, fennel, scheme, squirrel, wren, wasm, janet and python. There's a handy wiki page that links to all of them and might help you to decide to learn them. I wanted to see if Python actually worked as promised, and can happily report about it now. It's mighty, quick and well documented - just don't expect to use NumPy or some other random library without having to compile custom builds.

screenshot of a demo

Lovebyte 2025 was going on in the background, inspiring me very much with prods like the one pictured above. I do not currently know how this beautiful bullet-train animation is called or who made it, please leave me a note if you do. Of course, I also browsed around a few minutes for inspiring code on the TIC-80 demoscene showcase, and ended up using exactly one line from ENTRAPPY by ps made for inercia. This line specifically, even if it is probably very standard, helped me to think a little more like a demoscientist:

entrappycode.jpg

After messing around for a half hour I had a funky little line strobbler, and would have left it at that ...

for zz in range(0, 20):
 z = zz \* 8
 for st in range(0, 30):
  mr = int(sin(st) \* 10) + 30
  s = -25\*width + int(t / 2) + (st \* width)
  val = 50+int((random()-0.5)\*zz\*7\*sin(t/400))
  if s<-100 or s>400:
   continue

   # draw some shaky mountains
   line( s, z + mr, s + width/2, val + z + mr, 15 )
   line( s + width/2, val + z + mr, s + width, z + mr,  11 )
   line( s + width/2, val + z + mr, s + width, 10 + z + mr,  0 )

(full source here)

X1JOQHSU.png

This is how the first code-sketched looked like when I asked moovie to submit something into the compo. And ... that's the version that got played on the big screen. I was unfortunately too sleepy to check that I actually uploaded the final version. Anyway, everyone was very cool and clapped anyway at my mysterious wobbly lines - and the final is uploaded for you to see @ home!

What's with the name, you seemed to wonder? Well, I was in a rush, so I grabbed the carton of Soyana Hafermilch (vegan wheat milk) on the table for a direction. The company's appreciation of the art of Sri Chinmoy made me think of the Himalayas. I asked Qwen 2.5 for some translations of earthquake in local languages, and got these suggestions:

Cute hallucinations: the actual word in the beautiful Burmese script is မြေငလျင် and, I imagine, pronounced quite differently. But here is just me injecting a little bit of AI-fail in the prod ;-)

Thanks to all of you being a wonderful and supportive community - even when things in life and the world are not as peachy-patchy as they could be <3


The contents of this website, unless otherwise stated, are licensed under a Creative Commons Attribution 4.0 International License.