diff --git a/public/data/2024_02_19_byte_jam_monday_night_bytes.json b/public/data/2024_02_19_byte_jam_monday_night_bytes.json new file mode 100644 index 000000000..4519dc6bc --- /dev/null +++ b/public/data/2024_02_19_byte_jam_monday_night_bytes.json @@ -0,0 +1,92 @@ +{ + "title": "Monday Night Bytes", + "started": "2024-02-19", + "date": "19 February 2024", + "type": "Byte Jam", + "website": "", + "flyer": "", + "vod":"https://scenesat.com/videoarchive/b1a0f945-cf7f-11ee-b94e-00505685775e", + "software_used": [ + { + "name": "TIC-80 FFT Hack", + "url": "https://github.com/glastonbridge/TIC-80/releases/tag/hack.fft.1_0_2", + "version": "tic80showdown FFT Hack v1.0.2", + "purpose": "Graphic" + } + ], + "phases": [ + { + "title": null, + "vod": null, + "entries": [ + { + "id": null, + "rank": null, + "points": null, + "handle": { + "name": "TôBach", + "demozoo_id": 89891 + }, + "shadertoy_url": null, + "preview_image": "2024_02_19_byte_jam_monday_night_bytes/tobach.png", + "source_file": "/shader_file_sources/2024_02_19_byte_jam_monday_night_bytes/tobach.lua" + }, + { + "id": null, + "rank": null, + "points": null, + "handle": { + "name": "Vurpo", + "demozoo_id": 138609 + }, + "shadertoy_url": null, + "preview_image": "2024_02_19_byte_jam_monday_night_bytes/vurpo.png", + "source_file": "/shader_file_sources/2024_02_19_byte_jam_monday_night_bytes/vurpo.lua" + }, + { + "id": null, + "rank": null, + "points": null, + "handle": { + "name": "HeNeArXn", + "demozoo_id": 135712 + }, + "shadertoy_url": null, + "preview_image": "2024_02_19_byte_jam_monday_night_bytes/henearxn.png", + "source_file": "/shader_file_sources/2024_02_19_byte_jam_monday_night_bytes/henearxn.lua" + }, + { + "id": null, + "rank": null, + "points": null, + "handle": { + "name": "Aldroid", + "demozoo_id": 63755 + }, + "shadertoy_url": null, + "preview_image": "2024_02_19_byte_jam_monday_night_bytes/aldroid.png", + "source_file": "/shader_file_sources/2024_02_19_byte_jam_monday_night_bytes/aldroid.lua" + } + ], + "staffs": [ + { + "handle": { + "name": "H0ffman (Revision 2023 Set)", + "demozoo_id": 1525 + }, + "job": "DJ set" + } + ] + } + ], + "staffs": [ + { + "handle": { + "name": "Aldroid", + "demozoo_id": 63755 + }, + "job": "Organizers" + } + ], + "demozoo_party_id": "LCDZFFCM" +} diff --git a/public/data/2024_02_26_byte_jam_monday_night_bytes.json b/public/data/2024_02_26_byte_jam_monday_night_bytes.json new file mode 100644 index 000000000..9f95fb7b6 --- /dev/null +++ b/public/data/2024_02_26_byte_jam_monday_night_bytes.json @@ -0,0 +1,92 @@ +{ + "title": "Monday Night Bytes (on Tuesday)", + "started": "2024-02-26", + "date": "26 February 2024", + "type": "Byte Jam", + "website": "", + "flyer": "", + "vod":"https://scenesat.com/videoarchive/3798cad2-d4f6-11ee-b94e-00505685775e", + "software_used": [ + { + "name": "TIC-80 FFT Hack", + "url": "https://github.com/glastonbridge/TIC-80/releases/tag/hack.fft.1_0_2", + "version": "tic80showdown FFT Hack v1.0.2", + "purpose": "Graphic" + } + ], + "phases": [ + { + "title": null, + "vod": null, + "entries": [ + { + "id": null, + "rank": null, + "points": null, + "handle": { + "name": "Lex Bailey", + "demozoo_id": 136849 + }, + "shadertoy_url": null, + "preview_image": "2024_02_26_byte_jam_monday_night_bytes/lexbailey.png", + "source_file": "/shader_file_sources/2024_02_26_byte_jam_monday_night_bytes/lexbailey.lua" + }, + { + "id": null, + "rank": null, + "points": null, + "handle": { + "name": "Doop", + "demozoo_id": 141174 + }, + "shadertoy_url": null, + "preview_image": "2024_02_26_byte_jam_monday_night_bytes/doop.png", + "source_file": "/shader_file_sources/2024_02_26_byte_jam_monday_night_bytes/doop.lua" + }, + { + "id": null, + "rank": null, + "points": null, + "handle": { + "name": "Catnip", + "demozoo_id": 113525 + }, + "shadertoy_url": null, + "preview_image": "2024_02_26_byte_jam_monday_night_bytes/catnip.png", + "source_file": "/shader_file_sources/2024_02_26_byte_jam_monday_night_bytes/catnip.lua" + }, + { + "id": null, + "rank": null, + "points": null, + "handle": { + "name": "Aldroid", + "demozoo_id": 63755 + }, + "shadertoy_url": null, + "preview_image": "2024_02_26_byte_jam_monday_night_bytes/aldroid.png", + "source_file": "/shader_file_sources/2024_02_26_byte_jam_monday_night_bytes/aldroid.lua" + } + ], + "staffs": [ + { + "handle": { + "name": "Polynomial", + "demozoo_id": 60607 + }, + "job": "DJ set" + } + ] + } + ], + "staffs": [ + { + "handle": { + "name": "RaccoonViolet", + "demozoo_id": 90373 + }, + "job": "Organizers" + } + ], + "demozoo_party_id": "LCDZFFCM" +} diff --git a/public/data/2024_04_15_byte_jam_monday_night_bytes.json b/public/data/2024_04_15_byte_jam_monday_night_bytes.json new file mode 100644 index 000000000..231af1b5d --- /dev/null +++ b/public/data/2024_04_15_byte_jam_monday_night_bytes.json @@ -0,0 +1,80 @@ +{ + "title": "Monday Night Bytes", + "started": "2024-04-15", + "date": "15 April 2024", + "type": "Byte Jam", + "website": "", + "flyer": "", + "vod":"", + "software_used": [ + { + "name": "TIC-80 FFT Hack", + "url": "https://github.com/aliceisjustplaying/TIC-80/releases/tag/v0.0.1", + "version": "tic80showdown Alice fork v0.0.1", + "purpose": "Graphic" + } + ], + "phases": [ + { + "title": null, + "vod": null, + "entries": [ + { + "id": null, + "rank": null, + "points": null, + "handle": { + "name": "Pumpuli", + "demozoo_id": 22208 + }, + "shadertoy_url": null, + "preview_image": "2024_04_15_byte_jam_monday_night_bytes/pumpuli.png", + "source_file": "/shader_file_sources/2024_04_15_byte_jam_monday_night_bytes/pumpuli.lua" + }, + { + "id": null, + "rank": null, + "points": null, + "handle": { + "name": "Muffintrap", + "demozoo_id": 80210 + }, + "shadertoy_url": null, + "preview_image": "2024_04_15_byte_jam_monday_night_bytes/muffintrap.png", + "source_file": "/shader_file_sources/2024_04_15_byte_jam_monday_night_bytes/muffintrap.lua" + }, + { + "id": null, + "rank": null, + "points": null, + "handle": { + "name": "Vurpo", + "demozoo_id": 138609 + }, + "shadertoy_url": null, + "preview_image": "2024_04_15_byte_jam_monday_night_bytes/vurpo.png", + "source_file": "/shader_file_sources/2024_04_15_byte_jam_monday_night_bytes/vurpo.lua" + } + ], + "staffs": [ + { + "handle": { + "name": "mintimperial", + "demozoo_id": null + }, + "job": "DJ set" + } + ] + } + ], + "staffs": [ + { + "handle": { + "name": "Aldroid", + "demozoo_id": 63755 + }, + "job": "Organizers" + } + ], + "demozoo_party_id": "LCDZFFCM" +} diff --git a/public/data/2024_05_06_byte_jam_monday_night_bytes.json b/public/data/2024_05_06_byte_jam_monday_night_bytes.json new file mode 100644 index 000000000..0df8f73cb --- /dev/null +++ b/public/data/2024_05_06_byte_jam_monday_night_bytes.json @@ -0,0 +1,104 @@ +{ + "title": "Monday Night Bytes", + "started": "2024-05-06", + "date": "6 May 2024", + "type": "Byte Jam", + "website": "", + "flyer": "", + "vod":"", + "software_used": [ + { + "name": "TIC-80 FFT Hack", + "url": "https://github.com/aliceisjustplaying/TIC-80/releases/tag/v0.0.4", + "version": "tic80showdown Alice fork v0.0.4", + "purpose": "Graphic" + } + ], + "phases": [ + { + "title": null, + "vod": null, + "entries": [ + { + "id": null, + "rank": null, + "points": null, + "handle": { + "name": "alice", + "demozoo_id": null + }, + "shadertoy_url": null, + "preview_image": "2024_05_06_byte_jam_monday_night_bytes/alice.png", + "source_file": "/shader_file_sources/2024_05_06_byte_jam_monday_night_bytes/alice.lua" + }, + { + "id": null, + "rank": null, + "points": null, + "handle": { + "name": "Catnip", + "demozoo_id": 113525 + }, + "shadertoy_url": null, + "preview_image": "2024_05_06_byte_jam_monday_night_bytes/catnip.png", + "source_file": "/shader_file_sources/2024_05_06_byte_jam_monday_night_bytes/catnip.lua" + }, + { + "id": null, + "rank": null, + "points": null, + "handle": { + "name": "Gasman", + "demozoo_id": 5879 + }, + "shadertoy_url": null, + "preview_image": "2024_05_06_byte_jam_monday_night_bytes/gasman.png", + "source_file": "/shader_file_sources/2024_05_06_byte_jam_monday_night_bytes/gasman.lua" + }, + { + "id": null, + "rank": null, + "points": null, + "handle": { + "name": "jtruk", + "demozoo_id": 135705 + }, + "shadertoy_url": null, + "preview_image": "2024_05_06_byte_jam_monday_night_bytes/jtruk.png", + "source_file": "/shader_file_sources/2024_05_06_byte_jam_monday_night_bytes/jtruk.lua" + }, + { + "id": null, + "rank": null, + "points": null, + "handle": { + "name": "Pumpuli", + "demozoo_id": 22208 + }, + "shadertoy_url": null, + "preview_image": "2024_05_06_byte_jam_monday_night_bytes/pumpuli.png", + "source_file": "/shader_file_sources/2024_05_06_byte_jam_monday_night_bytes/pumpuli.lua" + } + ], + "staffs": [ + { + "handle": { + "name": "Polynomial", + "demozoo_id": 60607 + }, + "job": "DJ Set" + } + ] + } + ], + "staffs": [ + { + "handle": { + "name": "Reality404", + "demozoo_id": 67077 + }, + "job": "Organizers" + } + ], + "demozoo_party_id": "LCDZFFCM" +} diff --git a/public/data/2024_05_13_byte_jam_monday_night_bytes.json b/public/data/2024_05_13_byte_jam_monday_night_bytes.json new file mode 100644 index 000000000..66bd06364 --- /dev/null +++ b/public/data/2024_05_13_byte_jam_monday_night_bytes.json @@ -0,0 +1,104 @@ +{ + "title": "Monday Night Bytes", + "started": "2024-05-13", + "date": "13 May 2024", + "type": "Byte Jam", + "website": "", + "flyer": "", + "vod":"", + "software_used": [ + { + "name": "TIC-80 FFT Hack", + "url": "https://github.com/aliceisjustplaying/TIC-80/releases/tag/v0.0.5", + "version": "tic80showdown Alice fork v0.0.5", + "purpose": "Graphic" + } + ], + "phases": [ + { + "title": null, + "vod": null, + "entries": [ + { + "id": null, + "rank": null, + "points": null, + "handle": { + "name": "Catnip", + "demozoo_id": 113525 + }, + "shadertoy_url": null, + "preview_image": "2024_05_13_byte_jam_monday_night_bytes/catnip.png", + "source_file": "/shader_file_sources/2024_05_13_byte_jam_monday_night_bytes/catnip.lua" + }, + { + "id": null, + "rank": null, + "points": null, + "handle": { + "name": "jtruk", + "demozoo_id": 135705 + }, + "shadertoy_url": null, + "preview_image": "2024_05_13_byte_jam_monday_night_bytes/jtruk.png", + "source_file": "/shader_file_sources/2024_05_13_byte_jam_monday_night_bytes/jtruk.lua" + }, + { + "id": null, + "rank": null, + "points": null, + "handle": { + "name": "Pumpuli", + "demozoo_id": 22208 + }, + "shadertoy_url": null, + "preview_image": "2024_05_13_byte_jam_monday_night_bytes/pumpuli.png", + "source_file": "/shader_file_sources/2024_05_13_byte_jam_monday_night_bytes/pumpuli.lua" + }, + { + "id": null, + "rank": null, + "points": null, + "handle": { + "name": "TôBach", + "demozoo_id": 89891 + }, + "shadertoy_url": null, + "preview_image": "2024_05_13_byte_jam_monday_night_bytes/tobach.png", + "source_file": "/shader_file_sources/2024_05_13_byte_jam_monday_night_bytes/tobach.lua" + }, + { + "id": null, + "rank": null, + "points": null, + "handle": { + "name": "Vurpo", + "demozoo_id": 138609 + }, + "shadertoy_url": null, + "preview_image": "2024_05_13_byte_jam_monday_night_bytes/vurpo.png", + "source_file": "/shader_file_sources/2024_05_13_byte_jam_monday_night_bytes/vurpo.lua" + } + ], + "staffs": [ + { + "handle": { + "name": "Polynomial", + "demozoo_id": 60607 + }, + "job": "DJ set" + } + ] + } + ], + "staffs": [ + { + "handle": { + "name": "Reality404", + "demozoo_id": 67077 + }, + "job": "Organizers" + } + ], + "demozoo_party_id": "LCDZFFCM" +} diff --git a/public/media/2024_02_19_byte_jam_monday_night_bytes/aldroid.png b/public/media/2024_02_19_byte_jam_monday_night_bytes/aldroid.png new file mode 100644 index 000000000..9c136fe4b Binary files /dev/null and b/public/media/2024_02_19_byte_jam_monday_night_bytes/aldroid.png differ diff --git a/public/media/2024_02_19_byte_jam_monday_night_bytes/henearxn.png b/public/media/2024_02_19_byte_jam_monday_night_bytes/henearxn.png new file mode 100644 index 000000000..1e4bdeaf9 Binary files /dev/null and b/public/media/2024_02_19_byte_jam_monday_night_bytes/henearxn.png differ diff --git a/public/media/2024_02_19_byte_jam_monday_night_bytes/tobach.png b/public/media/2024_02_19_byte_jam_monday_night_bytes/tobach.png new file mode 100644 index 000000000..c8bc94e3d Binary files /dev/null and b/public/media/2024_02_19_byte_jam_monday_night_bytes/tobach.png differ diff --git a/public/media/2024_02_19_byte_jam_monday_night_bytes/vurpo.png b/public/media/2024_02_19_byte_jam_monday_night_bytes/vurpo.png new file mode 100644 index 000000000..a5fcd0d48 Binary files /dev/null and b/public/media/2024_02_19_byte_jam_monday_night_bytes/vurpo.png differ diff --git a/public/media/2024_02_26_byte_jam_monday_night_bytes/aldroid.png b/public/media/2024_02_26_byte_jam_monday_night_bytes/aldroid.png new file mode 100644 index 000000000..d41fa3441 Binary files /dev/null and b/public/media/2024_02_26_byte_jam_monday_night_bytes/aldroid.png differ diff --git a/public/media/2024_02_26_byte_jam_monday_night_bytes/catnip.png b/public/media/2024_02_26_byte_jam_monday_night_bytes/catnip.png new file mode 100644 index 000000000..1c394c66a Binary files /dev/null and b/public/media/2024_02_26_byte_jam_monday_night_bytes/catnip.png differ diff --git a/public/media/2024_02_26_byte_jam_monday_night_bytes/doop.png b/public/media/2024_02_26_byte_jam_monday_night_bytes/doop.png new file mode 100644 index 000000000..a6a12cd10 Binary files /dev/null and b/public/media/2024_02_26_byte_jam_monday_night_bytes/doop.png differ diff --git a/public/media/2024_02_26_byte_jam_monday_night_bytes/lexbailey.png b/public/media/2024_02_26_byte_jam_monday_night_bytes/lexbailey.png new file mode 100644 index 000000000..907119b41 Binary files /dev/null and b/public/media/2024_02_26_byte_jam_monday_night_bytes/lexbailey.png differ diff --git a/public/media/2024_04_15_byte_jam_monday_night_bytes/muffintrap.png b/public/media/2024_04_15_byte_jam_monday_night_bytes/muffintrap.png new file mode 100644 index 000000000..4d13fce7e Binary files /dev/null and b/public/media/2024_04_15_byte_jam_monday_night_bytes/muffintrap.png differ diff --git a/public/media/2024_04_15_byte_jam_monday_night_bytes/pumpuli.png b/public/media/2024_04_15_byte_jam_monday_night_bytes/pumpuli.png new file mode 100644 index 000000000..c6aba2513 Binary files /dev/null and b/public/media/2024_04_15_byte_jam_monday_night_bytes/pumpuli.png differ diff --git a/public/media/2024_04_15_byte_jam_monday_night_bytes/vurpo.png b/public/media/2024_04_15_byte_jam_monday_night_bytes/vurpo.png new file mode 100644 index 000000000..68f64c748 Binary files /dev/null and b/public/media/2024_04_15_byte_jam_monday_night_bytes/vurpo.png differ diff --git a/public/media/2024_05_06_byte_jam_monday_night_bytes/alice.png b/public/media/2024_05_06_byte_jam_monday_night_bytes/alice.png new file mode 100644 index 000000000..f42e94c0d Binary files /dev/null and b/public/media/2024_05_06_byte_jam_monday_night_bytes/alice.png differ diff --git a/public/media/2024_05_06_byte_jam_monday_night_bytes/catnip.png b/public/media/2024_05_06_byte_jam_monday_night_bytes/catnip.png new file mode 100644 index 000000000..ddf415147 Binary files /dev/null and b/public/media/2024_05_06_byte_jam_monday_night_bytes/catnip.png differ diff --git a/public/media/2024_05_06_byte_jam_monday_night_bytes/gasman.png b/public/media/2024_05_06_byte_jam_monday_night_bytes/gasman.png new file mode 100644 index 000000000..c80eeeabc Binary files /dev/null and b/public/media/2024_05_06_byte_jam_monday_night_bytes/gasman.png differ diff --git a/public/media/2024_05_06_byte_jam_monday_night_bytes/jtruk.png b/public/media/2024_05_06_byte_jam_monday_night_bytes/jtruk.png new file mode 100644 index 000000000..19ba07008 Binary files /dev/null and b/public/media/2024_05_06_byte_jam_monday_night_bytes/jtruk.png differ diff --git a/public/media/2024_05_06_byte_jam_monday_night_bytes/pumpuli.png b/public/media/2024_05_06_byte_jam_monday_night_bytes/pumpuli.png new file mode 100644 index 000000000..20caf1825 Binary files /dev/null and b/public/media/2024_05_06_byte_jam_monday_night_bytes/pumpuli.png differ diff --git a/public/media/2024_05_13_byte_jam_monday_night_bytes/catnip.png b/public/media/2024_05_13_byte_jam_monday_night_bytes/catnip.png new file mode 100644 index 000000000..5f880e2ea Binary files /dev/null and b/public/media/2024_05_13_byte_jam_monday_night_bytes/catnip.png differ diff --git a/public/media/2024_05_13_byte_jam_monday_night_bytes/jtruk.png b/public/media/2024_05_13_byte_jam_monday_night_bytes/jtruk.png new file mode 100644 index 000000000..790a7ffc6 Binary files /dev/null and b/public/media/2024_05_13_byte_jam_monday_night_bytes/jtruk.png differ diff --git a/public/media/2024_05_13_byte_jam_monday_night_bytes/pumpuli.png b/public/media/2024_05_13_byte_jam_monday_night_bytes/pumpuli.png new file mode 100644 index 000000000..8fb0f51d9 Binary files /dev/null and b/public/media/2024_05_13_byte_jam_monday_night_bytes/pumpuli.png differ diff --git a/public/media/2024_05_13_byte_jam_monday_night_bytes/tobach.png b/public/media/2024_05_13_byte_jam_monday_night_bytes/tobach.png new file mode 100644 index 000000000..90404c4e9 Binary files /dev/null and b/public/media/2024_05_13_byte_jam_monday_night_bytes/tobach.png differ diff --git a/public/media/2024_05_13_byte_jam_monday_night_bytes/vurpo.png b/public/media/2024_05_13_byte_jam_monday_night_bytes/vurpo.png new file mode 100644 index 000000000..ca46bd824 Binary files /dev/null and b/public/media/2024_05_13_byte_jam_monday_night_bytes/vurpo.png differ diff --git a/public/shader_file_sources/2024_02_19_byte_jam_monday_night_bytes/aldroid.lua b/public/shader_file_sources/2024_02_19_byte_jam_monday_night_bytes/aldroid.lua new file mode 100644 index 000000000..2ff23d471 --- /dev/null +++ b/public/shader_file_sources/2024_02_19_byte_jam_monday_night_bytes/aldroid.lua @@ -0,0 +1,22 @@ +-- aldroid here +-- greets to vurpo, HeNeArXn and +-- ToBach + +-- have a great time! +cls(0) +function TIC()t=time() + circ(120,68,15,t//1200) + for i=0,50 do + x=math.random(0,239) + y=math.random(0,135) + + a=math.atan2(y-68,x-120) + r=((x-120)^2+(y-68)^2)^0.5 + + r = r -2 + x1=120+math.cos(a)*r + y1=68-math.sin(a)*r + pc=pix(x1,y1) + circ(x,y,3,pc) + end +end diff --git a/public/shader_file_sources/2024_02_19_byte_jam_monday_night_bytes/henearxn.lua b/public/shader_file_sources/2024_02_19_byte_jam_monday_night_bytes/henearxn.lua new file mode 100644 index 000000000..bee8529f6 --- /dev/null +++ b/public/shader_file_sources/2024_02_19_byte_jam_monday_night_bytes/henearxn.lua @@ -0,0 +1,105 @@ +-- HeNeArXn here +-- not quite sure what to do today, +-- idea I had would be very boring to +-- watch +-- greets to Tobach, vurpo and aldroid! + +amp=60 +cnt=15 +data={} +data2={} +for i=0,cnt do + data[i]={} + data2[i]={} + for x=0,240 do + data[i][x]=0 + data2[i][x]=0 + end +end + +sl=(60*0.5)//1 +datas={} +for i=1,sl do + datas[i]=0 +end + +d=8 + +st=0 + +lc=5 +bc=0 +x=0 +y=0 +xd=1 +yd=1 + + +function TIC() + t=time()//32 +-- st=(t//50+1)%2 + for y=0,136 do + for x=0,240 do +-- pix(x,y,(x+y+t)>>3) + end + end +if st==0 then +-- cls(t/8) +cls(bc) + for i=0,cnt-1 do + for x=0,240 do + data[i][x]=data[i+1][x] + line(x,i*d-data[i][x],x,i*d+data[i][x],i) + end + end + for x=0,240 do + f=fft(x)*1.002^x*amp + data[cnt][x]=f + line(x,cnt*d-f,x,cnt*d+f,5) + end + s=0 + for i=0,7 do + s=s+fft(i) + end + m=0 + for i=1,sl-1 do + datas[i]=datas[i+1] + m=math.max(m,datas[i]) + end + datas[sl]=s + b=5 + if s>m then bc=bc+1 end +-- rect(240-s*10,0,100,136,b) +--else +st=0--st-1 +--if fft(2)*1.002^2*amp/3>15 then +-- cls(15) +--else +-- cls() +--end +end +vbank(1) +if lc==0 then lc=1 end +cls() + x=x+.8*xd + y=y+.8*yd + for i=0,49 do + f=fft(i)*1.002^i*amp/3 + data[cnt][i]=f + line(x+2+i,30-3+y-f,x+2+i,30-3+y+f,lc) + end + rectb(x,y+7,54,40,3) + line(x,y+7, + x+7,y, 3) + line(x+54,y+7, + x+54+7,y, 3) + line(x+54,49-3+y, + x+54+7,42-3+y, 3) + line(x+7,y,x+54+7,y+1,3) + line(x+54+7,42-3+y,x+54+7,y+1,3) + if x+57+7>240 then xd=-1 lc=lc+1 end + if x<1 then xd=1 lc=lc+1 end + if y+42-3>136 then yd=-1 lc=lc+1 end + if y<1 then yd=1 lc=lc+1 end +vbank(0) +end diff --git a/public/shader_file_sources/2024_02_19_byte_jam_monday_night_bytes/tobach.lua b/public/shader_file_sources/2024_02_19_byte_jam_monday_night_bytes/tobach.lua new file mode 100644 index 000000000..f632aaa5f --- /dev/null +++ b/public/shader_file_sources/2024_02_19_byte_jam_monday_night_bytes/tobach.lua @@ -0,0 +1,104 @@ +--ey up!! +-- ^ +--tobach here!! greetz to vurpo henearxn +--and ofc the lovely aldroid :) + +--hmmmm, what to make this evening... +--i woke up about an hour ago so i +--hope this goes well lol + +rain={} + +for i=1,100 do + rain[i]={math.random()*240,math.random()*136} +end + +sin=math.sin +cos=math.cos +function TIC() + fv=fft(0)+fft(1)+fft(2)+fft(3)+fft(4)+fft(5)*8 + + cls(9+fv/3) + t=time()//32 + + --print(fv) + + if fv>2.5 then + for j=0,1 do + for i=0,3 do + rv=math.random()*32 + line(40+j*120,0,20+rv+j*200,40+rv,12-i) + line(80+j*120,90,20+rv+j*200,40+rv,12-i) + end + end + end + + + for i=-8,8 do + circ(i*32+t%32,0,30,15) + end + + for i=-8,8 do + circ(i*32+t*2%32,0,20,14) + end + + for i=-8,8 do + circ(i*32+t%32,120,50,5) + end + + for i=-8,8 do + circ(i*32+t*2%32,210,80,6) + end + + for j=0,2 do + for i=1,100 do + pix((rain[i][1]+t*8+j)%240,(rain[i][2]+t*4+j)%136,9+j) + end + end + + for i=-8,16 do + circ(i*16+t*3%32,0,10,13) + end + + + snail(10+sin(t/4+fv/4)*8,0) + + --print(fv/2) + +end + +function shell(x,y) + for i=0,90 do + circ(120+sin(i/8)*(i)/4+2+x,68+cos(i/8)*(i)/4+2+y,3+i/8,3) + end + for i=0,90 do + circ(120+sin(i/8)*(i)/4+x,68+cos(i/8)*(i)/4+y,3+i/8,4) + end + for i=0,94 do + circ(120+sin(i/8)*(i)/4+x,68+cos(i/8)*(i)/4+y,1,15) + end +end + +function snail(x,y) + for i=4,47 do + line(0,78+i,240,78+i,sin(i/16)*4) + end + + for i=0,24 do + circ(65+i*4+x,88+sin(i/2+t/4+fv)*2,8,6) + end + + shell(8+x,0+sin(t/4+fv)*2) + + for i=0,8 do + circ(80+sin(i/2+t/4+2+fv)*2+x,80-i*3+sin(t/4),3,7) + circ(64+sin(i/2+t/4+fv)*2+x,80-i*3+sin(t/4),3,7) + end + + circ(80+sin(t/4+fv)*2+x,54,6,12) + circ(64+sin(t/4+2+fv)*2+x,54,6,12) + + circ(78+sin(t/4+fv)*2+x,54,2,15) + circ(62+sin(t/4+2+fv)*2+x,54,2,15) + +end \ No newline at end of file diff --git a/public/shader_file_sources/2024_02_19_byte_jam_monday_night_bytes/vurpo.lua b/public/shader_file_sources/2024_02_19_byte_jam_monday_night_bytes/vurpo.lua new file mode 100644 index 000000000..179d5e5a0 --- /dev/null +++ b/public/shader_file_sources/2024_02_19_byte_jam_monday_night_bytes/vurpo.lua @@ -0,0 +1,103 @@ +-- hello bytejammers +-- greeting to jammers and watchers +-- vurpo + +m=math +i=m.floor + +xv=0 +yv=0 + +G=0.05 +c={ + {x=70,y=50,xv=1.5,yv=0,r=16,c=12}, + {x=200,y=60,xv=-0.9,yv=0,r=17,c=12}, + {x=20,y=100,xv=0.2,yv=0,r=15,c=12}, + {x=26,y=50,xv=-0.5,yv=0,r=12,c=12}, + {x=50,y=60,xv=1,yv=0,r=22,c=12}, + {x=12,y=20,xv=1.6,yv=0,r=10,c=12}, + {x=130,y=100,xv=1.1,yv=0,r=11,c=12} +} + +function int(c1,c2) + return m.sqrt( + m.pow(c2.x-c1.x,2)+ + m.pow(c2.y-c1.y,2)) + 136-c[i].r then + c[i].yv=-m.abs(c[i].yv) + c[i].y=136-c[i].r + elseif c[i].y<0+c[i].r then + c[i].yv=m.abs(c[i].yv) + c[i].y=0+c[i].r + else + c[i].yv=c[i].yv+G + end + + if c[i].x<0+c[i].r then + c[i].xv=m.abs(c[i].xv) + c[i].x=0+c[i].r + elseif c[i].x>240-c[i].r then + c[i].xv=-m.abs(c[i].xv) + c[i].x=240-c[i].r + end + + c[i].x=c[i].x+c[i].xv-xv + c[i].y=c[i].y+c[i].yv-yv + end +end + +function TIC() + t=time()//8 + f=m.max(0,(fft(1)+fft(2)+fft(3)-1.0)*3.5) + yv=m.cos(t)*f + xv=m.sin(t)*f + cls(16) + + updatec() + drawc() + + --for x=-1,1 do for y=-1,1 do + --print("vurpo",10+x,10+y,12) + --end end + --print("vurpo",10,10,16) +end diff --git a/public/shader_file_sources/2024_02_26_byte_jam_monday_night_bytes/aldroid.lua b/public/shader_file_sources/2024_02_26_byte_jam_monday_night_bytes/aldroid.lua new file mode 100644 index 000000000..28c68cae3 --- /dev/null +++ b/public/shader_file_sources/2024_02_26_byte_jam_monday_night_bytes/aldroid.lua @@ -0,0 +1,109 @@ +-- aldroid here! +-- thanks to violet and polynomial +-- for hosting +-- glhf to doop, lex and catnip! + +function len3(x,y,z) + return (x^2+y^2+z^2)^0.5 + end + + function SCN(l) + poke(0x3fc2,math.max(0,135-l)) + end + + max = math.max + C=math.cos + S=math.sin + + function rot(x,y,a) + return x*C(a)+y*S(a),y*C(a)-x*S(a) + end + + function cube(x,y,z) + x=math.abs(x)-1 + y=math.abs(y)-1 + z=math.abs(z)-1 + return max(x,max(y,z)) + end + + function m(x,y,z) + x = x + S(time()/900)*2 + y,z=rot(y,z,S(time()/2000)*3) + x,z=rot(x,z,time()/1000) + return cube(x,y,z) + end + + function gn(x,y,z) + e=0.01 + d=m(x,y,z) + dx=d-m(x+e,y,z) + dy=d-m(x,y+e,z) + dz=d-m(x,y,z+e) + nv=len3(dx,dy,dz) + return dx/nv,dy/nv,dz/nv + end + + for i=0,15 do + poke(0x3fc0+3*i+0,255/15*(i)) + poke(0x3fc0+3*i+1,255/15*(i >10 and i or 0)) + poke(0x3fc0+3*i+2,255/15*(i < 4 and i or 0)) + end + + qc=0 + ql=0 + cls(0) + function TIC() + if qc > 0 then + qc = qc - 1 + elseif ql < fft(1) then + qc=500 + cls(15) + else + ql=fft(1) + end + for i=0,240*136 do + px=peek4(i) + px=math.max(px-1,0) + poke4(i,px) + end + lx=3 + ly=-4 + lz=3 + ln=len3(lx,ly,lz) + lx=lx/ln + ly=ly/ln + lz=lz/ln + scaler = 185+fft(1)*200 + for X=0,240,8 do for Y=0,135,8 do + x=(120-X)/scaler + y=(68-Y)/scaler + z=-10 + + lp=len3(x,y,1) + + xd=x/lp + yd=y/lp + zd=1/lp + + x=0 + y=0 + + t=0 + d=0 + while t<20 do + d=m(x+t*xd,y+t*yd,z+t*zd) + if d<0.1 then break end + t = t +d + end + + if t < 20 then + nx,ny,nz=gn(x+t*xd,y+t*yd,z+t*zd) + lm=lx*nx+ly*ny+lz*nz + lm=math.max(0,lm) + -- pix(X,Y,1+lm*10) + circ(X,Y,1+lm*4,2+lm*13) + end + + end end + end + \ No newline at end of file diff --git a/public/shader_file_sources/2024_02_26_byte_jam_monday_night_bytes/catnip.lua b/public/shader_file_sources/2024_02_26_byte_jam_monday_night_bytes/catnip.lua new file mode 100644 index 000000000..7979fbdf7 --- /dev/null +++ b/public/shader_file_sources/2024_02_26_byte_jam_monday_night_bytes/catnip.lua @@ -0,0 +1,182 @@ +sin=math.sin +cos=math.cos +abs=math.abs +rand=math.random +min=math.min +max=math.max + +t=0 + +pointsB={{x=70,y=50},{x=63,y=67},{x=77,y=86},{x=99,y=59},{x=117,y=47},{x=157,y=50},{x=107,y=85},{x=153,y=86},{x=174,y=65},{x=171,y=40},{x=189,y=56},{x=181,y=35},{x=198,y=35},{x=205,y=45},{x=211,y=56},{x=211,y=46},{x=189,y=33},{x=188,y=22},{x=58,y=46},{x=51,y=55},{x=44,y=41},{x=37,y=50},{x=30,y=38},{x=25,y=48},{x=15,y=39},{x=13,y=50},{x=4,y=40},{x=2,y=49},{x=102,y=101},{x=81,y=103},{x=97,y=116},{x=88,y=121},{x=106,y=130},{x=101,y=135},{x=114,y=135},{x=114,y=129},{x=139,y=88},{x=146,y=108},{x=156,y=108},{x=159,y=128},{x=150,y=129},{x=152,y=135},{x=167,y=135},{x=166,y=128},{x=214,y=48}} +points={} +pointsL={} + +idxs={ + -- body 1-9 +{2,1,3},{1,3,4},{4,1,5},{5,4,6},{4,3,7},{7,6,4},{6,7,8},{6,8,9},{8,7,37}, + -- neck 10-11 +{6,9,10},{9,10,11}, + -- head 12-18 +{10,11,12},{12,11,13},{13,11,14},{14,11,15},{14,15,16},{12,13,17},{17,12,18}, + -- tail 19-28 +{1,2,19},{19,2,20},{19,20,21},{21,20,22},{22,21,23},{23,22,24},{24,23,25},{25,24,26},{25,26,27},{27,26,28}, + -- leg b 29-36 +{7,3,29},{3,29,30},{29,30,31},{31,30,32},{31,32,33},{33,32,34},{33,34,35},{35,33,36}, + -- leg f 37-43 +{37,8,38},{38,8,39},{39,38,40},{40,38,41},{41,40,42},{40,42,43},{40,43,44},{16,15,45}} + +body={1,9} +head={10,18} +tail={19,28} +legR={29,36} +legF={37,43} +cat={body,head,tail,legR,legF} + +for j=0,1 do + vbank(j) + for i=0,47 do + poke(16320+i,i*5*(i%3==1 and 1 or .2)) + end +end + +function tx(a,b,c,d,e,f) + local col=10--(a.x+b.x+c.x)/3 + ttri( + a.x,a.y, + b.x,b.y, + c.x,c.y, + d.x,d.y, + e.x,e.y, + f.x,f.y, + 2 + ) +end + +memset(0x4000,0,16320) + +rp={} +for i=1,50 do + rp[i]={x=rand()*240,y=rand()*136} +end + +function update() + -- copy last + for i=1,#pointsB do + pointsL[i]=points[i] or pointsB[i] + end + + local xo=cos(t/15+1)*20 + local yo=sin(t/20)*10 + --cat={body,head,tail,legR,legF} + -- iterate through parts + for j=1,#cat do + -- Iterate through triangles + for i=cat[j][1],cat[j][2] do + + if j==1 then --body + --y=y+sin( + end + + local ids=idxs[i] + for k=1,#ids do + local id=ids[k] + local x=xo + local y=yo + local px=pointsB[id].x + local py=pointsB[id].y + + if j==1 then + --body + --local s=max(0, + --abs(px-120)-40 + --)/20 + --py=py+sin(t/20+px/10)*20 + --py=py+40 + end + if px>160 then + --head + --local s=max((px-160),0)/20 + --py=py+sin(t/20+px/10)*20*s + --py=py-abs(sin(t/20))*5*s + end + if j==3 then + --tail + --local s=max(-(px-70),0)/60 + --py=py+sin(t/40+px/10)*20*s + end + if j==4 then + s=max(0,py-100)/2 + px=px+cos(t/10)*s-s + end + if j==5 then + s=max(0,py-100)/2 + px=px+sin(t/10)*s-s + end + + points[id]={ + x=px+x, + y=py+y-15 + } + end + end + end +end + +function TIC() + cls() + vbank(0) + memcpy(0,0x4000,16320) + + vbank(1) + local ofx=-1--sin(t/146) + local ofy=0--cos(t/149) + tx( + {x=ofx,y=ofy}, + {x=480+ofx,y=ofy}, + {x=ofx,y=272+ofy}, + {x=0,y=0}, + {x=480,y=0}, + {x=0,y=272} + ) + + update() + + for j=1,#cat do + for i=cat[j][1],cat[j][2] do + local ids=idxs[i] + local a=points[ids[1]] + local b=points[ids[2]] + local c=points[ids[3]] + local d=pointsL[ids[1]] + local e=pointsL[ids[2]] + local f=pointsL[ids[3]] + tx(a,b,c,d,e,f) + end + end + + --for i=1,#rp do + --pix(rp[i].x,rp[i].y,i+t/8) + --rp[i].x=(rp[i].x+rand()*2-1)%240 + --rp[i].y=(rp[i].y+1)%136 + + --for i=0,50 do + --elli( + --rand()*240,rand()*136, + --rand()*3,rand()*2, + --rand()*16 + --) + --for y=0,17 do + --for x=0,40 do + for i=0,5 do + local x=rand()*40//1 + local y=rand()*17//1 + print( + string.char(rand(65, 65 + 25)), + x*6,y*8, + rand()*16) + --end + end + + memcpy(0x4000,0,16320) + t=t+1 +end diff --git a/public/shader_file_sources/2024_02_26_byte_jam_monday_night_bytes/doop.lua b/public/shader_file_sources/2024_02_26_byte_jam_monday_night_bytes/doop.lua new file mode 100644 index 000000000..5bd21f3e7 --- /dev/null +++ b/public/shader_file_sources/2024_02_26_byte_jam_monday_night_bytes/doop.lua @@ -0,0 +1,147 @@ +-- greetz to catnip, lex, violet, & you! +sx=240 +sy=136 +fw=4 +fh=6 + +myfft = {} +fm = {} +nbux = 255 +msg=" HELLO :) GREETZ TO: LEX, CATNIP, VIOLET, ALDROID, POLYNOMIAL, AND EVERYONE WATCHING THE STREAM! ALSO APOLOGIES TO PETER SAVILE... " +bl={} +function pal(i,r,g,b) + adr=0x3fc0+3*i + poke(adr,r) + poke(adr+1,g) + poke(adr+2,b) +end + +function init() + for i=1,nbux do + myfft[i]=0 + fm[i]=0 + end + + vbank(0) + cls(0) + cw=sx/fw + nl=math.ceil((#msg)/cw) + for i=0,nl-1 do + s=string.sub(msg,1+i*cw,(i+1)*cw) + print(s,0,i*fh, 1, 1,1, true) + end + vbank(1) + pal(1,0,0,0) + pal(2,255,255,255) +end +init() + + +function dofft() + for i=1,nbux do + f=fft(i) + if f>fm[i] then + fm[i]=f + end + if 0==fm[i] then + myfft[i]=0 + else + myfft[i]=f/fm[i] + end + end +end + +function getheight(cx,cy) + xx = cx*fw + yy = cy*(fh-1) + while xx>sx do + xx=xx-sx + yy=yy+fh + end + vbank(0) + h=pix(xx,yy) + vbank(1) + return h + + + +end + +sin=math.sin +pi=math.pi +function BDR(y) + ph=time()/1000/2*pi + y/64*pi + b=24 + a=255-b + r=a+b*sin(ph) + g=a+b*sin(ph+0.66*pi) + b=a+b*sin(ph+1.33*pi) + vbank(1) + pal(12,r,g,b) +end + +function xpr(s,x0,y0,c,ss) + x=x0 + y=y0 + + for i=1,#s do + ii = math.floor( (i/#s)*#bl ) + if (ii<=0) then ii=1 end + dy = bl[ii]*16*ss + dx = print(string.sub(s,i,i),x,y+dy,c, 2,2) + x=x+dx + end +end + +lines={} +function TIC() + dofft() + vbank(1) + + cls(1) + + l={} + for i=1,64 do + l[i]=myfft[i] + end + table.insert(lines,l) + if ((#lines)>16) then + table.remove(lines,1) + end + + bb=0 + nbb=16 + for i=1,nbb do + bb=bb+l[i] + end + bb=bb/nbb + table.insert(bl,bb) + if (#bl>16) then + table.remove(bl,1) + end + + cps=1 + cpos = ( (time()/1000)*cps )%(#msg) + + xpr("Jam Division",48,0,2,1) + --print("Unknown Bytes",48, 117, 2, 2,2) + xpr("Unknown Bytes",48,117, 2, -1) + for lno=1,#lines do + l=lines[lno] + lwid = 128 + 64*lno/#lines + for i=1,#l do + x=sx/2 -lwid/2 + lwid*(i/#l) + dy_fft = -l[i]*8 + dy_msg = -20*getheight(cpos+(i/#l)*2.5, lno/#lines) + y = 26 + 85*(lno/#lines) + dy_fft + dy_msg + + if (i>1) then + line(xprev,yprev,x,y,12) + end + xprev=x + yprev=y + end + end + +end + diff --git a/public/shader_file_sources/2024_02_26_byte_jam_monday_night_bytes/lexbailey.lua b/public/shader_file_sources/2024_02_26_byte_jam_monday_night_bytes/lexbailey.lua new file mode 100644 index 000000000..daaa2a51f --- /dev/null +++ b/public/shader_file_sources/2024_02_26_byte_jam_monday_night_bytes/lexbailey.lua @@ -0,0 +1,122 @@ +rects = {} +windows = {} + +num_cols = 8 +colw=45 + +for i=1,num_cols do + rects[i] = 20+(math.random() * 70) + windows[i] = math.floor(math.random()*16) +end +f=0 +t=0 +th=0 +th2=0 + +function draw_house(x,y,i) + rect(x,y,colw-4,200,3) + tri(x,y,x+colw-4,y,x+((colw-4)//2),y-15,1) + local c = math.floor(windows[i]) % 16 + if c == 3 then + c = 4 + end + rect(x+((colw-4)//2)-5,90,10,17, 1) + rect(x+((colw-4)//2)-18,y+10,10,10, c) + rect(x+((colw-4)//2)+8,y+10,10,10, c) +end + +function draw_road(s) + rect(0,105,240,136,0) + for i=0,24 do + rect(i*20-(s % 240),120,15,3,4) + end +end + +function draw_bus(x,y) + local c = math.floor(windows[1]) % 16 + if c == 3 then + c = 4 + end + circ(x,y,5,13) + circ(x+50,y,5,13) + rect(x-6,y-25,64,25,4) + for i=0,4 do + rect(x-2+(i*10),y-20,8,8,c) + end + rect(x+47,y-20,8,16,c) + circ(x+56,y-3,2,12) + circ(x-5,y-3,2,2) + print("FFX-MNB",x,y-10) +end + +function draw_cloud(x,y,s) + circ(x,y,s,12) + circ(x+s+s,y-2,s,12) + circ(x+s,y-s,s-2,12) + circ(x+s,y+4,s-2,12) +end + +function draw_clouds(ct) + for i=0,4 do + draw_cloud(-30+((ct+(70*i))%340),40+(10*math.sin((ct/10)+i)),10) + end +end + +function draw_godzilla(x,y,f) + -- lmao, if I can pull this off, + -- then this will be my fave mnb + -- so far :D + + --other arm/leg + line(x-38,y-10,x-20,y-10+f,5) + line(x-40,y,x-40+f,y+10,5) + + --tail + circ(x-40,y,9,6) + circ(x-43,y,7,6) + circ(x-51,y,5,6) + circ(x-56,y,3,6) + + --torso + circ(x-40,y-4,12,6) + circ(x-40,y-8,14,6) + + --neck/head + circ(x-40,y-25,8,6) + circ(x-40,y-30,10,6) + circ(x-34,y-33,4,0) + --mouth + line(x-38,y-25,x-30,y-25,12) + + --arm/leg + line(x-38,y-10,x-20,y-10-f,5) + line(x-40,y,x-40-f,y+10,5) +end + +function TIC() + cls(10) + t=t+(fft(1)*20) + th=th+(fft(10)*20) + th2=th2+(fft(5)*20) + h = fft(30) + s = (time()//40) % (num_cols*colw) + draw_clouds(s) + for x=1,num_cols+10 do + local i = (x%num_cols)+1 + local y = rects[i] + local rx = (x-1) * colw + windows[i] = (windows[i] + (h*10)) + y = y+ math.sin((t/100)+(x%num_cols))*7 + draw_house(rx-s,106-y,i) + end + draw_road(s) + by = 120 + bx = 70 + bx2 = bx+(math.sin(th2/110)*100) + bx = bx+(math.sin(th2/100)*100) + by2 = by+(math.sin(1+(th/9))*8) + by = by+(math.sin(th/10)*10) + draw_bus(bx,by) + f = f + 0.1 + draw_godzilla(bx2-20,by2,math.sin(f)*10) +end diff --git a/public/shader_file_sources/2024_04_15_byte_jam_monday_night_bytes/muffintrap.lua b/public/shader_file_sources/2024_04_15_byte_jam_monday_night_bytes/muffintrap.lua new file mode 100644 index 000000000..906a6b144 --- /dev/null +++ b/public/shader_file_sources/2024_04_15_byte_jam_monday_night_bytes/muffintrap.lua @@ -0,0 +1,104 @@ +--[[ + Thank you Aldroid for organizing! + + It was really intense and fun :D + + -muffintrap +]]-- + + +S=math.sin +C=math.cos +NF={} +for y=0,128 do + table.insert(NF,0) +end + +lines={} +linering=1 + +for l=1,100 do + table.insert(lines,{p=0}) +end + +function normalFFT() + for y=0,128 do + NF[y]=fft(y*2)*(2+y*0.65) + end +end + +function BASS() + local ba=0 + for b=0,60 do + ba=ba+fft(b) + end + return ba +end + +function LOMID() + local ba=0 + for b=10,30 do + ba=ba+fft(b)*b + end + return ba +end + +function TIC() + normalFFT() + t=time()//32 + for y=0,136/4 do + rect(0,y*136/4,240,136/4,1+y) + end + + bass=BASS() + lm=LOMID() + if bass>2.5 then + lines[linering].p=lines[linering].p+1 + linering=1+(linering+1)% #lines + end + + + for x=0,240 do + for y=0,136 do + line(x,68+fft(x)*100, + x,68-fft(x+2)*100,1+(x%4)) + end + end + + ramount=40 + ringstep=math.pi*2/ramount + ringspeed=(t+bass*10)/40 + for rl=0,ramount do + + xo=S(ringspeed+rl*ringstep)*50 + yo=C(ringspeed+rl*ringstep)*50 + circb(120+xo,68+yo,20+bass*10+fft(60+rl*4)*100,7+rl%6) + end + + + for li=1,#lines do + if lines[li].p > 0 then + lines[li].p = lines[li].p+1 + ly=lines[li].p + + + line(0,60-ly,240,60-ly,12-(ly%4)) + line(0,90+ly,240,90+ly,12-(ly%3)) + if ly>136 or ly < 0 then + lines[li].p=0 + end + end + end + + dstep=240/12 + sx=-120 + line(0,90,240,90,12) + line(0,60,240,60,12) + for d=-60,60 do + dx=sx+d*dstep + line(120+dx/3,90,d*dstep,136,12) + line(120+dx/3,60,d*dstep,0,12) + end + +-- print("MUFFINTRAP",60,80,12,12,2) +end diff --git a/public/shader_file_sources/2024_04_15_byte_jam_monday_night_bytes/pumpuli.lua b/public/shader_file_sources/2024_04_15_byte_jam_monday_night_bytes/pumpuli.lua new file mode 100644 index 000000000..1aa24b161 --- /dev/null +++ b/public/shader_file_sources/2024_04_15_byte_jam_monday_night_bytes/pumpuli.lua @@ -0,0 +1,147 @@ +SMOOTH=0.8 +W=240 +H=136 +fc={} +fm={} +fn={} +function BOOT() + for i=0,255 do + fc[i]=0 + fm[i]=0 + fn[i]=0 + end +end +function pal(i,r,g,b) + --sanity checks + if i<0 then i=0 end + if i>15 then i=15 end + --returning color r,g,b of the color + if r==nil and g==nil and b==nil then + return peek(0x3fc0+(i*3)),peek(0x3fc0+(i*3)+1),peek(0x3fc0+(i*3)+2) + else + if r==nil or r<0 then r=0 end + if g==nil or g<0 then g=0 end + if b==nil or b<0 then b=0 end + if r>255 then r=255 end + if g>255 then g=255 end + if b>255 then b=255 end + poke(0x3fc0+(i*3)+2,b) + poke(0x3fc0+(i*3)+1,g) + poke(0x3fc0+(i*3),r) + end +end + +for i=0,15 do + pal(i,i*32,i*32,i*32) +end +vbank(1) +for i=0,15 do + pal(i,i*32,i*32,i*32) +end +vbank(0) + +function eft(a) + return fft(math.exp(a/255*6)) +end + +function ffts(a,b) + local f=0 + if a==b then + f=eft(a) + else + for i=a,b,SMOOTH do + f=f+eft(i) + end + f=f/((b-a)*(1/SMOOTH)) + end + return f +end +function sfft(f,s) + return ffts(f-s,f+s) +end + +min=math.min +max=math.max +abs=math.abs +rnd=math.random +sin=math.sin +cos=math.cos + +grt={"F","I","E","L","D","F","X"} + +function subpx(i,a) + local p=peek4(i) + poke4(i,max(p-a,0)) +end +function subpx2(i,a) + local p=peek4(i) + poke4(i-(1-rnd(2)*2),max(p-a,0)) +end +cls(0) + +function TIC() +poke(0x3FFB,0) + t=time()//320 + for i=0,255 do + fc[i]=sfft(i,(256-i)/32+1)*.1 + if fc[i]>fm[i] then + fm[i]=fc[i] + else + fm[i]=fm[i]*0.999 + end + fn[i]=fc[i]/fm[i] + end + for i=1,240*136 do + subpx(i,rnd(5)) + end + for y=0,136 do + for x=0,240 do + X=x/W-.5 + Y=y/H-.5 + X=X*W + Y=Y*H + d=min(255,max(0,abs(X*2.1))) + dy=min(255,max(0,abs(X*2.1))) + ff=fn[d//1]*30 + fy=fn[dy//1]*30 + p=max(0,min(15,abs(Y/fy)+rnd(2))) + if abs(Y)>ff*2 then + pix(x,y,min(ff//1,p)) + elseif abs(Y)>ff*2-2 then + pix(x,y,15) + else + pix(x,y,1) + end + end + end + + for i=0,15 do + r = i*(32*sin(t)) + g = i*(32*sin(t*1.1+.25)) + b = i*(32*sin(t*.8+9)) + pal(i,r,g,b) + end + pal(15,255,255,255) + + vbank(1) + for i=1,240*136 do + subpx2(i,rnd(5)) + end + for i=0,14 do + r = i*(32*-sin(t)) + g = i*(32*-sin(t*1.1+.25)) + b = i*(32*-sin(t*.8+9)) + pal(i,r,g,b) + end + for i=1,7 do + w=W/2-80+(i-1)*23 + h=10+fn[(2+i*16)]*20 + ox=fn[i*16]*4 + oy=fn[i*16]*5 + print(grt[i],w+ox,h+oy,2,1,4) + print(grt[i],w,h,10,1,4) + print(grt[i],w-ox,h-oy,15,1,4) + end + vbank(0) + +end \ No newline at end of file diff --git a/public/shader_file_sources/2024_04_15_byte_jam_monday_night_bytes/vurpo.lua b/public/shader_file_sources/2024_04_15_byte_jam_monday_night_bytes/vurpo.lua new file mode 100644 index 000000000..442291c61 --- /dev/null +++ b/public/shader_file_sources/2024_04_15_byte_jam_monday_night_bytes/vurpo.lua @@ -0,0 +1,119 @@ +-- greeting to pumpuli and muffintrap +-- and to mintimperial +-- and to aldroid +-- and to everyone watching the jam +-- vurpo + +m=math + +p={} +p2={} + +function r() + return m.random()-0.5 +end + +function newp() + table.insert(p, { + x=r()*300, + y=r()*200, + z=r()*5, + c=m.floor(m.random()*16) + }) +end + +function jam(x,y,s,c) + line( + x-6*s,y-5*s, + x-6*s,y+5*s, + 12 + ) + line( + x+6*s,y-5*s, + x+6*s,y+5*s, + 12 + ) + line( + x-5*s,y+6*s, + x+5*s,y+6*s, + 12 + ) + line( + x-6*s,y+5*s, + x-5*s,y+6*s, + 12 + ) + line( + x+6*s,y+5*s, + x+5*s,y+6*s, + 12 + ) + line( + x-6*s,y-5*s, + x-5*s,y-6*s, + 12 + ) + line( + x+6*s,y-5*s, + x+5*s,y-6*s, + 12 + ) + rect( + x-4*s,y-2*s, + 9*s,7.5*s, + c) + rect( + x-5*s,y-9*s, + 11*s,3*s, + 2) +end + +function BOOT() + poke(0x3fc0,0) + poke(0x3fc1,0) + poke(0x3fc2,0) +end + +function TIC() + t=time()/1000 + + while #p<200 do newp() end + cls(0) + + --jam(10,10,1) + center={x=120,y=68} + table.sort(p,function(a,b)return a.z50 then + table.remove(p2,i) + end + end + for i=#p,1,-1 do + if p[i].z > 5 then + if p[i].y>-20 and r()>0.3 then + local jar=p[i] + jar.yv=0 + table.insert(p2,jar) + end + table.remove(p,i) + end + end +end \ No newline at end of file diff --git a/public/shader_file_sources/2024_05_06_byte_jam_monday_night_bytes/alice.lua b/public/shader_file_sources/2024_05_06_byte_jam_monday_night_bytes/alice.lua new file mode 100644 index 000000000..8705ac04f --- /dev/null +++ b/public/shader_file_sources/2024_05_06_byte_jam_monday_night_bytes/alice.lua @@ -0,0 +1,63 @@ +-- by alice +-- +-- greets: +-- gasman, jtruk, catnip, pumpuli +-- +-- and of course reality404 + +-- pico8 the colors +pico8="0000001D2B537E2553008751AB52365F574FC2C3C7FFF1E8FF004DFFA300FFEC2700E43629ADFF83769CFF77A8FFCCAA" + +function palit(p) + for i=1,#p,6 do + for j=0,2 do + poke(0x3fc0+((i//6)*3)+j, + tonumber(p:sub(i+j*2,i+j*2+1),16)) + end + end +end + +palit(pico8) + + +m = "FieldFX" +t = 0 +w,h=120,68 +sin,cos=math.sin,math.cos +pi=math.pi +sub=string.sub +function TIC() + t = t+0.03 + cls(0) + hm = "OMG HI MOM" + -- get length + e=print(hm,0,-6) + print(hm,(240-e)//2,(130)//2-50,8) + s=sin(t)*29.9 + c=cos(t)*h*2/3.99 + --print("a", w+s, h+c, 5) + --print("b", w-s, h-c, 6) + -- for each fft bin (give or take) + for i=0,239 do + f = ffts(i*4) + rect(i,136-f*136,1,300,7) + --for j=0,10 do + print(m, w-20+(s*2), c+e+f*136, 1+i%15) + print("come to EMF", w-20-(s*2), c+e+f*136, 1+i%15) + --print(sub(m,1,j), w-50+s, c+f*136, 1+i%15) + --end + end + + print("hi from alice",174,0,7) +end + +-- +-- 000:00000000ffffffff00000000ffffffff +-- 001:0123456789abcdeffedcba9876543210 +-- 002:0123456789abcdef0123456789abcdef +-- + +-- +-- 000:1a1c2c5d275db13e53ef7d57ffcd75a7f07038b76425717929366f3b5dc941a6f673eff7f4f4f494b0c2566c86333c57 +-- + diff --git a/public/shader_file_sources/2024_05_06_byte_jam_monday_night_bytes/catnip.lua b/public/shader_file_sources/2024_05_06_byte_jam_monday_night_bytes/catnip.lua new file mode 100644 index 000000000..c2391deda --- /dev/null +++ b/public/shader_file_sources/2024_05_06_byte_jam_monday_night_bytes/catnip.lua @@ -0,0 +1,93 @@ +sin=math.sin +cos=math.cos +abs=math.abs + +for y=0,136 do + for x=0,240 do + pix(x,y,(x+y)>>3) + end +end + +t=0 +ft=0 + +fmax={} + +for j=0,47 do + poke(16320+j,sin(j)^2*255) +end +vbank(1) +memcpy(0x4000,0x3FC0,48) + +for j=0,47 do + poke(16320+j,peek(16320+j)*.7) +end +memcpy(0x4000+48,0x3FC0,48) + +function TIC() + for i=0,1023 do + local v=ffts(i) + fmax[i+1]=math.max(fmax[i+1] or 0, v) + end + + vbank(0) + memcpy(0,120,135*120) + + local lh=0 + local nh=0 + local intv=8 + for x=0,239 do + local h=0 + if x%intv==0 then + for i=0,intv do + h=h+(ffts(x+i)/fmax[x+i+1]) + end + lh=nh + nh=h + end + local m=(x%intv)/intv + h=nh*m+(lh*(1-m)) + --local h=ffts(x*4) --[x+1] + --rect(x*2,135-h,2,h*16,h*16) + --local h=ffts(x) + line(x,135,x,135-h*8,h*3) + --pix(x,135-h*8,h*16) + --end + --yL0=yL1 + end + + vbank(1) + cls() + for i=0,15 do + print("=^^=", + 25+sin(ft*.2+i/12)^7*15, + 20+sin(ft*.1+i/12)^7*15, + (i+11)%15+1,0,8) + end + + --vbank(0) + --poke(0x03FFa,-t%136-68) + + t=t+1 + local tft=0 + for i=0,32 do + tft=tft+fft(i) + end + + ft=ft+tft/16 +end + +function SCN(y) + vbank(1) + local f=0--ffts(y*3+t%1024)*100 + if y>68 then + local w=sin((y-67)^.25*16+t/10)*y + memcpy(0x3FC0,0x4000+48,48) + poke(0x03FFa,135-y*2-f+w/32) + poke(0x03FF9,w/8+f) + else + memcpy(0x3FC0,0x4000,48) + poke(0x03FF9,f) + poke(0x03FFa,f) + end +end diff --git a/public/shader_file_sources/2024_05_06_byte_jam_monday_night_bytes/gasman.lua b/public/shader_file_sources/2024_05_06_byte_jam_monday_night_bytes/gasman.lua new file mode 100644 index 000000000..c3621ba6c --- /dev/null +++ b/public/shader_file_sources/2024_05_06_byte_jam_monday_night_bytes/gasman.lua @@ -0,0 +1,91 @@ +-- gasman is here! +-- have a good jam everybody :-D + + poke(16320,0) + poke(16321,0) + poke(16322,0) + + +buf={} +for y=0,136 do + buf[y]={} + for x=0,240 do + buf[y][x]=0 + end +end + +dither={ + {0,8,2,10}, + {13,4,12,6}, + {3,11,1,9}, + {14,7,15,5}, +} + +function TIC()t=time() +for i=1,15 do + k=math.sin(i*math.pi/8) + h=(k/1.5+t/2345)%3 + if h<1 then + r=h + g=0 + b=1-h + elseif h<2 then + r=1-(h-1) + g=h-1 + b=0 + else + r=0 + g=1-(h-2) + b=h-2 + end + v=128+127*k + poke(16320+i*3,v*r) + poke(16321+i*3,v*g) + poke(16322+i*3,v*b) +end + + fx1=20*math.sin(t/800) + fy1=20*math.sin(t/812) + + for y=0,136 do + for x=0,240 do + cx=x-120-fx1 + cy=y-68-fy1 + r=math.sqrt(cx*cx+cy*cy) + v1=math.sin((r-t/100)/10) + cx=x-120+fx1 + cy=y-68+fy1 + r=math.sqrt(cx*cx+cy*cy) + v2=math.sin((r-t/100)/10) + buf[y][x]=128+127*(v1+v2)/2 + end + end + lx=120+120*math.sin(t/1000) + ly=68+68*math.sin(t/1212) + for y=0,135 do + for x=0,239 do + + cx=x-120 + cy=y-68 + a=math.atan(cx,cy) + rr=math.sqrt(cx*cx+cy*cy)+20*math.sin(a*6+t/456) + + if rr<120 then + + ldx=x-lx + ldy=y-ly + a=math.atan2(ldx,ldy) + nx=buf[y][x]-buf[y][x+1] + ny=buf[y][x]-buf[y+1][x] + v=nx*math.sin(a)+ny*math.cos(a) + + v=v+dither[y%4+1][x%4+1]/16 + + pix(x,y,v) + else + pix(x,y,0) + end + end + end + circ(lx,ly,3,4) +end diff --git a/public/shader_file_sources/2024_05_06_byte_jam_monday_night_bytes/jtruk.lua b/public/shader_file_sources/2024_05_06_byte_jam_monday_night_bytes/jtruk.lua new file mode 100644 index 000000000..c8843a204 --- /dev/null +++ b/public/shader_file_sources/2024_05_06_byte_jam_monday_night_bytes/jtruk.lua @@ -0,0 +1,72 @@ +W=240 +H=136 +function pal(i,r,g,b) + --sanity checks + if i<0 then i=0 end + if i>15 then i=15 end + --returning color r,g,b of the color + if r==nil and g==nil and b==nil then + return peek(0x3fc0+(i*3)),peek(0x3fc0+(i*3)+1),peek(0x3fc0+(i*3)+2) + else + if r==nil or r<0 then r=0 end + if g==nil or g<0 then g=0 end + if b==nil or b<0 then b=0 end + if r>255 then r=255 end + if g>255 then g=255 end + if b>255 then b=255 end + poke(0x3fc0+(i*3)+2,b) + poke(0x3fc0+(i*3)+1,g) + poke(0x3fc0+(i*3),r) + end +end +for i =0,15 do + pal(i,i*i,i*i,i*i) +end + + +ffo={} +ffn={} +ffm={} +for i=0,1023 do + ffo[i]=0 + ffn[i]=0 + ffm[i]=0 +end +min=math.min +max=math.max +rnd=math.random +exp=math.exp + +function subPix(i,a,f) + local p=peek4(i) + poke4(min(i-f,0x3fbf*2),max(p-a,0)) +end +function divPix(i,a,of) + local p=peek4(i) + if p/a<=2 then p=0 end + poke4(min(i-of,0x3fbf*2),min(p/a,15)) +end +cls(0) +f=0 +fx=0 +function TIC() + f=f+1 + for i =0,W*H,2 do + divPix(i+f%2,1,1) + end + for i=0,1023 do + local x=i/1023*136 + ffo[i]=fft(exp(i/200+1.5)/2) + if ffo[i]>ffm[i] then ffm[i]=ffo[i] else ffm[i]=ffm[i]*.9999 end + ffn[i]=ffo[i]/ffm[i] + + local fftsv=ffn[i]*10 + line(W,H-x,W-1,H-x,min(15,fftsv*15)) + end + vbank(1) + cls(0) + fx=fft(10)*50 + print("PUMPULI",40-fx,58-fx,3,1,4) + print("PUMPULI",40,58,0,1,4) + vbank(0) +end \ No newline at end of file diff --git a/public/shader_file_sources/2024_05_06_byte_jam_monday_night_bytes/pumpuli.lua b/public/shader_file_sources/2024_05_06_byte_jam_monday_night_bytes/pumpuli.lua new file mode 100644 index 000000000..c8843a204 --- /dev/null +++ b/public/shader_file_sources/2024_05_06_byte_jam_monday_night_bytes/pumpuli.lua @@ -0,0 +1,72 @@ +W=240 +H=136 +function pal(i,r,g,b) + --sanity checks + if i<0 then i=0 end + if i>15 then i=15 end + --returning color r,g,b of the color + if r==nil and g==nil and b==nil then + return peek(0x3fc0+(i*3)),peek(0x3fc0+(i*3)+1),peek(0x3fc0+(i*3)+2) + else + if r==nil or r<0 then r=0 end + if g==nil or g<0 then g=0 end + if b==nil or b<0 then b=0 end + if r>255 then r=255 end + if g>255 then g=255 end + if b>255 then b=255 end + poke(0x3fc0+(i*3)+2,b) + poke(0x3fc0+(i*3)+1,g) + poke(0x3fc0+(i*3),r) + end +end +for i =0,15 do + pal(i,i*i,i*i,i*i) +end + + +ffo={} +ffn={} +ffm={} +for i=0,1023 do + ffo[i]=0 + ffn[i]=0 + ffm[i]=0 +end +min=math.min +max=math.max +rnd=math.random +exp=math.exp + +function subPix(i,a,f) + local p=peek4(i) + poke4(min(i-f,0x3fbf*2),max(p-a,0)) +end +function divPix(i,a,of) + local p=peek4(i) + if p/a<=2 then p=0 end + poke4(min(i-of,0x3fbf*2),min(p/a,15)) +end +cls(0) +f=0 +fx=0 +function TIC() + f=f+1 + for i =0,W*H,2 do + divPix(i+f%2,1,1) + end + for i=0,1023 do + local x=i/1023*136 + ffo[i]=fft(exp(i/200+1.5)/2) + if ffo[i]>ffm[i] then ffm[i]=ffo[i] else ffm[i]=ffm[i]*.9999 end + ffn[i]=ffo[i]/ffm[i] + + local fftsv=ffn[i]*10 + line(W,H-x,W-1,H-x,min(15,fftsv*15)) + end + vbank(1) + cls(0) + fx=fft(10)*50 + print("PUMPULI",40-fx,58-fx,3,1,4) + print("PUMPULI",40,58,0,1,4) + vbank(0) +end \ No newline at end of file diff --git a/public/shader_file_sources/2024_05_13_byte_jam_monday_night_bytes/catnip.lua b/public/shader_file_sources/2024_05_13_byte_jam_monday_night_bytes/catnip.lua new file mode 100644 index 000000000..3ec2f763c --- /dev/null +++ b/public/shader_file_sources/2024_05_13_byte_jam_monday_night_bytes/catnip.lua @@ -0,0 +1,134 @@ +sin=math.sin +cos=math.cos +abs=math.abs +pi=math.pi + +t=0 + +cls() +vbank(1) +poke(16320+15+0,180) +poke(16320+15+1,30) +poke(16320+15+2,30) +p={x=120,y=68,dx=2,dy=0} +scroll={x=0,y=0} + +function rot(p,a) + --p=cos(a)*p+sin(a)*{-p.y,p.x} + local c=cos(a) + local s=sin(a) + return { + x=(c*p.x) + (s*-p.y), + y=(c*p.y) + (s*p.x) + } +end + +function rcirc() + local r=2+ffts(5,10)*5 + circ(p.x+2,p.y+2,r,0) + circ(p.x,p.y,r,t) + if p.x0.5 then rd=-rd end + vbank(1) + cls() + --y=ffts(10,15) + local by=136-44+sin(t/10)*24 + cat(120-80,by+10,30,25) + cat(120+80,by+10,30,35) + cat(120,by,40,5) + vbank(0) + + scroll.x=(sin(t/100+sin(t/90))*200)%240-120 + scroll.y=(sin(t/87+sin(t/96))*200)%240-120 + + t=t+.3 +end + +function SCN(y) + poke(0x3FF9,(scroll.x+ffts(y,y+10)*15//1)) + poke(0x3FFa,(scroll.y+ffts(y,y+10)*5//1)) +end \ No newline at end of file diff --git a/public/shader_file_sources/2024_05_13_byte_jam_monday_night_bytes/jtruk.lua b/public/shader_file_sources/2024_05_13_byte_jam_monday_night_bytes/jtruk.lua new file mode 100644 index 000000000..8b37bf2c4 --- /dev/null +++ b/public/shader_file_sources/2024_05_13_byte_jam_monday_night_bytes/jtruk.lua @@ -0,0 +1,112 @@ +-- jtruk +-- Greetz: +-- ToBach, Pumpuli +-- Catnip, Vurpo, +-- Polynomial and Reality! +-- (And You) (And You) + +local M=math +local S,C,A=M.sin,M.cos,M.atan2 +local ABS,PI=M.abs,M.pi +local TAU,MIN,MAX=PI*2,M.min,M.max +local R=M.random + +T=0 + +function TIC() + local xc=120 + local yc=35+S(T*.023)*10 + local wob1=.15+S(T*.01)*.1 + local wob2=.15+S(T*.015)*.1 + local dy=30 + local dy2=dy*2 + local dx=140 + local dx2=dx*2 + vbank(0) + cls(1) + for y=-dy,dy do + for x=-dx,dx do + local c=2+((y+dy)/dy2)*13 + local h=y*(.6+S(x*.02+T*.005)*.5) + local xd=xc + +x + +y*wob2 + local yd=yc + +h + +x*wob1 + +S(x*.01+T*.04)*10 + +S(x*.1+T*.2)*5 + if(R()>0.85) then + pix(xd,yd,c) + end + end + end + setAurRGBs() + reflect() + + vbank(1) + setRGB(1,0,0,0) + elli(20,100,80,30,1) + elli(-20,90,90,30,1) + elli(220,110,80,30,1) + elli(280,80,90,30,1) + rect(0,102,240,40,0) + reflect() + print("jtruk",208,128,15) + + T=T+1 +end + +function setAurRGBs() + local cstops={ + {i=0,r=255,g=0,b=0}, + {i=5,r=0,g=255,b=0}, + {i=9,r=255,g=0,b=255}, + {i=13,r=0,g=0,b=255}, + } + + local int=.5+S(T*.02)*.5 + + setRGB(0,0,0,0) + local br,bg,bb=20,20,60 + setRGB(1,br,bg,bb) + local lc=nil + for i,c in ipairs(cstops) do + if i>1 then + for ic=lc.i,c.i do + local iv=i/15 + local mul=int + local p=1-((ic-lc.i)/(c.i-lc.i)) + local r=lerp(p,lc.r,c.r)*mul + local g=lerp(p,lc.g,c.g)*mul + local b=lerp(p,lc.b,c.b)*mul + r=r+br*(1-mul) + g=g+bg*(1-mul) + b=b+bb*(1-mul) + setRGB(2+ic,r,g,b) + end + end + lc=c + end +end + +function reflect() + for y=0,35 do + local dy=100+y + local sy=100-y*2 + memcpy(dy*120,sy*120,120) + end +end + +function lerp(p,v0,v1) + local sp=v1-v0 + return p*v0+(1-p)*v1 +end + +function setRGB(i,r,g,b) + local a=16320+i*3 + poke(a,r) + poke(a+1,g) + poke(a+2,b) +end + diff --git a/public/shader_file_sources/2024_05_13_byte_jam_monday_night_bytes/pumpuli.lua b/public/shader_file_sources/2024_05_13_byte_jam_monday_night_bytes/pumpuli.lua new file mode 100644 index 000000000..576b57f21 --- /dev/null +++ b/public/shader_file_sources/2024_05_13_byte_jam_monday_night_bytes/pumpuli.lua @@ -0,0 +1,134 @@ +W=240 +H=136 +RES=2 +FFT_LEN=1023 +VBK=0 +fc={} +fm={} +fn={} +function BOOT() + for i=0,FFT_LEN do + fc[i]=0 + fm[i]=0 + fn[i]=0 + end +end + +abs=math.abs +min=math.min +max=math.max +exp=math.exp +rnd=math.random + +function pal(i,r,g,b) + --sanity checks + if i<0 then i=0 end + if i>15 then i=15 end + --returning color r,g,b of the color + if r==nil and g==nil and b==nil then + return peek(0x3fc0+(i*3)),peek(0x3fc0+(i*3)+1),peek(0x3fc0+(i*3)+2) + else + if r==nil or r<0 then r=0 end + if g==nil or g<0 then g=0 end + if b==nil or b<0 then b=0 end + if r>255 then r=255 end + if g>255 then g=255 end + if b>255 then b=255 end + poke(0x3fc0+(i*3)+2,b) + poke(0x3fc0+(i*3)+1,g) + poke(0x3fc0+(i*3),r) + end +end + +for i =0,15 do + r=min(255,i*8.2+20) + g=min(255,i*i*.5) + b=min(255,i*i+i*8.5+20) + pal(i,r,g,b) +end +vbank(1) +for i =0,15 do + r=min(255,i*8.2+20) + b=min(255,i*i*.5) + g=min(255,i*i+i*8.5+20) + pal(i,r,g,b) +end +vbank(0) + + + +function subPix(i,a,f) + local p=peek4(i) + poke4(min(i-f,0x3fbf*2),max(p-a,0)) +end +function addPix(i,a,of) + local p=peek4(i-of) + poke4(min(i+of,0x3fbf*2),min(p+a,15)) +end +function flip() + if VBK==0 then + VBK=1 + for i =0,15 do + r=min(255,i*8.2+20) + b=min(255,i*i*.5) + g=min(255,i*i+i*8.5+20) + pal(i,r,g,b) + end + else + VBK=0 + for i =0,15 do + r=min(255,i*8.2+20) + g=min(255,i*i*.5) + b=min(255,i*i+i*8.5+20) + pal(i,r,g,b) + end + end +end +cls(0) +function TIC() + t=time()//32 + bm=fft(0,40)*.8 + --cls(bm//1) + RES=max(2,min(10,10-fft(0,40)*2))//1 + if RES>4 then + cls(16) + end + sn=fft(200,280)*50 + if min(15,sn*.01)>14 then + end + for i=0,FFT_LEN-2 do + fc[i]=fft(i,i+2) + if fc[i]>fm[i] then fm[i]=fc[i] else fm[i]=fm[i]*0.999 end + fn[i]=fc[i]/fm[i] + end + for i=0,W*H,(RES-1) do + subPix(i,rnd(2),bm*10) + end + for y=0,H,RES do + for x=0,W,RES do + X=x/W-.5 + Y=y/H-.5 + xx=X*200--exp(abs(X*10)+1.5) + f=fc[abs(xx)//1]*8 + fs=fc[abs(xx)//1]*8 + --fs=ffts(abs(xx),abs(xx)+5)*4 + if abs(Y)14 then + flip() + end + local ft=fft(ii,ii+2)*(11-sn) + poke(0x3FF9,ft*10) + poke(0x3FF8,ft*4) +end \ No newline at end of file diff --git a/public/shader_file_sources/2024_05_13_byte_jam_monday_night_bytes/tobach.lua b/public/shader_file_sources/2024_05_13_byte_jam_monday_night_bytes/tobach.lua new file mode 100644 index 000000000..990344d6a --- /dev/null +++ b/public/shader_file_sources/2024_05_13_byte_jam_monday_night_bytes/tobach.lua @@ -0,0 +1,77 @@ +--forgot to do starting text lol +--greetz to reality, pumpuli, catnip +--vurpo, jlorry and polynomial!! + +--also to superogue, blossom and +--dozer the cat who are in the room :) + +sin=math.sin +cos=math.cos +function TIC() + t=time()/500 + cls(10) + tv=sin(t*2)*2//1 + for i=0,11 do + sv=sin((2*(math.pi)*i/8+t))*90-6 + cv=cos((2*(math.pi)*i/8+t))*90-6 + print("*",119+sv,63+cv,15,true,3) + print("*",121+sv,65+cv,4,true,3) + end + tri(120-70,68,120,98,120+70,68,8) + tri(120-80,68,120-60,48,100,68,8) + tri(120-80+100,68,120-40+100,48,100+100,68,8) + + tri(120-80,68,120,188,120+80,68,8) + tri(120-50,138,120,68,120+50,138,8) + + tri(120-20,68,120,128,120+20,68,12) + + rect(45,68,23,80,8) + rect(173,68,23,80,8) + + for i=0,3 do + elli(120,68-i*2,10,4,3) + end + rect(98,48+tv,45,16,12) + + for i=4,13 do + circ(120,48-i+tv,22,12) + end + for i=0,12 do + circ(120,48-i+tv,20,4) + end + for i=-15,15 do + circ(120-i,24+sin(i/6-1.6)*3+tv,5,12) + end + + circ(120,52+tv,13,12) + rect(105,38+tv,30,18,4) + + rect(110,62+tv,20,4,4) + line(110,60+tv,130,60+tv,0) + + circ(120,46+tv,5,3) + circ(120,44+tv,5,4) + + for i=-4,4 do + circ(110-i,35+sin(i/2-1.6)+tv,1,2+i%2) + end + for i=-4,4 do + circ(130-i,35+sin(i/2-1.6)+tv,1,2+i%2) + end + + circ(110,42+tv,4,3) + circ(110,44+tv,4,4) + + circ(130,42+tv,4,3) + circ(130,44+tv,4,4) + + for i=-6,6 do + circ(120-i,52+tv,2,2+i%2) + end + tc={0,4,8,9} + for i=1,4 do + print("EURO PAPA",4-i,14-i+sin(t*4)*3,tc[i],true,4) + end + +end diff --git a/public/shader_file_sources/2024_05_13_byte_jam_monday_night_bytes/vurpo.lua b/public/shader_file_sources/2024_05_13_byte_jam_monday_night_bytes/vurpo.lua new file mode 100644 index 000000000..931f77788 --- /dev/null +++ b/public/shader_file_sources/2024_05_13_byte_jam_monday_night_bytes/vurpo.lua @@ -0,0 +1,65 @@ +--greetings to tobach, pumpuli, catnip, jtruk +--to polynomial and reality +--to joost, nemo, bambie thug, windows95man +--and to you! +-- vurpo + +poke(0x3fc0,0) +poke(0x3fc1,0) +poke(0x3fc2,0) + +m=math + +function f(x) +return { +x=80*m.cos(x*(7/8))+40*m.sin(x+m.sin(0.9*x)), +y=50*m.sin(x*(5/7))+10*m.cos(x+m.cos(1.1*x)) +} +end + +function palette(p) + for i=1,#p do + poke(0x3fc2+i,p[i]) + end +end + +s="JAM " + +p={ +{0x5b,0xce,0xfa,0xf5,0xa9,0xb8,0xff,0xff,0xff}, +{0xff,0xff,0xff,0x00,0x2f,0x6c}, +{0xc8,0x10,0x2e,0xff,0xff,0xff,0x00,0x3d,0xa5}, +{0xda,0x29,0x1c,0xff,0xff,0xff}, +{0xfc,0xf4,0x34,0xff,0xff,0xff,0x9c,0x59,0xd1,0x2c,0x2c,0x2c}, +{0x00,0x9a,0x44,0xff,0xff,0xff,0xff,0x82,0x00} +} +co={ +{1,2,3,2,1}, +{1,2}, +{1,2,3}, +{1,2}, +{1,2,3,4}, +{1,2,3} +} + +function TIC() +cls(0) +t=time()/1000 + +p0=m.floor((t/1)%#p+1) +trace(p0) +palette(p[p0]) +c0=co[p0] +trace(c0) + +for i=0,m.random()*50 do +pix(m.random()*240,m.random()*136,c0[i%#c0+1]) +end + +for i=0,60 do +c=f(t*2-i/3+0.3*fft(0,10)) +r=3+7*fft(i,i+3) +circ(120+c.x,68+c.y,r,c0[i%#c0+1]) +print(string.sub(s,i%#s+1,i%#s+1),118+c.x,66+c.y,0) +end +end \ No newline at end of file