This repository has been archived on 2022-05-21. You can view files and clone it, but cannot push or open issues or pull requests.
shapes-juke/.bin/music/Cranky-VLSI_short.sj

791 lines
16 KiB
Plaintext
Raw Normal View History

$define damage_ratio {1.0}
$define nearness_ratio {0.01}
// ---- TEMPLATE DECLARATION ----
$define main_color {
color_r := 1;
color_g := 0;
color_b := 0;
color_a := 0.9;
}
// ---- INITIALIZE ----
actor [0..1] {
color_a := 1;
clip_left := 0;
clip_right := 0;
clip_top := 9/32;
clip_bottom := 9/32;
}
background [0..1] {
inner_r := 0.4;
inner_g := 0.4;
inner_b := 0.5;
inner_a := 1;
outer_r := 0.1;
outer_g := 0.1;
outer_b := 0.1;
outer_a := 1;
}
posteffect [0..1] {
clip_left := 0;
clip_right := 0;
clip_top := 9/32;
clip_bottom := 9/32;
contrast_r := 1.5;
contrast_g := 1.5;
contrast_b := 1.5;
}
// ---- INTRO [2..34] ----
$define beat {2}
$repeat i 3 {
$define main_square {
$main_color
scale_x := 0.1;
scale_y := 0.1;
rotation_z := PI/4;
translation_x := $i*0.6 - 0.6;
}
square [$beat..$beat+4] {
$main_square
damage := $damage_ratio*0.01;
color_a = step(0.5, sin(PI*(1-pow(time, 2))*10));
}
square [$beat+4..$beat+26] {
$main_square
damage := $damage_ratio;
}
square [$beat+26..$beat+28] {
$main_square
weight = pow(1-time, 2);
}
$repeat j 8 {
$repeat k 6 {
circle [$beat+$j*2+6..$beat+$j*2+16] {
$main_color
scale_x := 0.025;
scale_y := 0.025;
__theta := $k*PI/3 + $j*PI/10;
__cos := cos(__theta);
__sin := sin(__theta);
translation_x = ($i*0.6-0.6) + (time*1.5+0.2)*__cos;
translation_y = (time*1.5+0.2)*__sin;
damage := $damage_ratio*0.5;
}
}
square [$beat+$j*2+6..$beat+$j*2+8] {
$main_square
scale_x = 0.1+time*0.1;
scale_y = 0.1+time*0.1;
color_a = 1-time;
weight := 0.03;
}
}
}
// ---- OUTRO -> A melody [30..34] ----
$define beat {30}
triangle [$beat..$beat+1] {
$main_color
scale_x = 0.1 + pow(1-time, 2)*0.05;
scale_y = 0.1 + pow(1-time, 2)*0.05;
damage := $damage_ratio * 0.5;
}
square [$beat+1..$beat+2] {
$main_color
scale_x := 0.1;
scale_y := 0.1;
rotation_z = (1-pow(1-time, 2)) * PI/2;
weight = 0.03 + time*0.97;
damage := $damage_ratio * 0.75;
}
square [$beat+2..$beat+3] {
$main_color
scale_x = 0.1 + (1-pow(1-time, 2)) * 0.7;
scale_y := 0.1;
damage := $damage_ratio;
}
square [$beat+3..$beat+4] {
$main_color
scale_x := 0.8;
scale_y := 0.1;
rotation_z = pow(time, 2) * PI;
damage := $damage_ratio;
}
circle [$beat+4..$beat+5] {
$main_color
scale_x = (1-time)*0.8;
scale_y = (1-time)*0.8;
damage := $damage_ratio * 0.75;
}
// ---- A melody [34..98] ----
$define beat {34}
$repeat i 16 {
square [$beat+($i*4)..$beat+($i*4)+2] {
$main_color
scale_x := 0.5;
scale_y := 0.05;
translation_x = 0.5;
translation_y = 1 - 2*time;
damage := $damage_ratio*0.25;
}
square [$beat+($i*4)+2..$beat+($i*4)+4] {
$main_color
scale_x := 0.5;
scale_y := 0.05;
translation_x = -0.5;
translation_y = 1 - 2*time;
damage := $damage_ratio*0.25;
}
$define lazer_shooter_wrap_circle {
$main_color
color_a = 1-time;
scale_x = (1-pow(1-time, 2)) * 0.3;
scale_y = (1-pow(1-time, 2)) * 0.3;
weight := 0.05;
}
$define lazer_shooter_triangle {
$main_color
scale_x = (1-pow(1-time, 2)) * 0.1;
scale_y = (1-pow(1-time, 2)) * 0.2;
rotation_z = PI*2 * (1-pow(1-time, 4)) +
atan2(actor_y - translation_y, actor_x - translation_x) - PI/2;
damage = $damage_ratio * 0.5;
}
$define lazer {
$main_color
color_a = 1-time;
scale_x := 0.01;
scale_y := 2;
rotation_z :=
atan2(actor_y - translation_y, actor_x - translation_x) - PI/2;
damage = $damage_ratio * pow(time, 2);
}
circle [$beat+($i*4)..$beat+($i*4)+1] {
translation_x := -0.5;
$lazer_shooter_wrap_circle
}
triangle [$beat+($i*4)..$beat+($i*4)+1.5] {
translation_x := -0.5;
$lazer_shooter_triangle
}
square [$beat+($i*4)+1.5..$beat+($i*4)+2] {
translation_x := -0.5;
$lazer
}
circle [$beat+($i*4)+2..$beat+($i*4)+3] {
translation_x := 0.5;
$lazer_shooter_wrap_circle
}
triangle [$beat+($i*4)+2..$beat+($i*4)+3.5] {
translation_x := 0.5;
$lazer_shooter_triangle
}
square [$beat+($i*4)+3.5..$beat+($i*4)+4] {
translation_x := 0.5;
$lazer
}
}
$define beat {66}
$repeat i 16 {
$repeat x 3 {
circle [$beat+($i*2)..$beat+($i*2)+8] {
$main_color
scale_x := 0.025;
scale_y := 0.025;
translation_x = ($x-1)*0.4 + sin(time*PI*6) * 0.1;
translation_y = 1 - time * 2;
damage := $damage_ratio;
}
}
}
// ---- A melody -> B melody [98..102] ----
$define beat {98}
$repeat x 3 {
$repeat i 3 {
triangle [$beat+$i/3..$beat+($i+4)/3] {
$main_color
color_a = 0.8 - time*0.8;
scale_x := 0.15;
scale_y := 0.15;
translation_x := $i*0.06 + ($x-1)*0.6;
translation_y := -$i*0.05;
damage := $damage_ratio * 0.5;
}
}
}
actor [$beat+2..$beat+4] {
clip_left := 0;
clip_right := 0;
clip_top = 9/32 * (time+1);
clip_bottom = 9/32 * (time+1);
}
posteffect [$beat+2..$beat+4] {
clip_left := 0;
clip_right := 0;
clip_top = 9/32 * (time+1);
clip_bottom = 9/32 * (time+1);
}
// ---- B melody [102..134] ----
$define beat {102}
$repeat i 12 {
$repeat y 2 {
square [$beat+($i*2)+$y..$beat+($i*2)+$y+8] {
$main_color
scale_x := 0.03;
scale_y := 1;
translation_x = (time-0.5)*2.1 * ($y-0.5)*2;
translation_y := ($y-0.5)*2;
damage := $damage_ratio;
nearness_coe := $nearness_ratio;
}
}
}
actor [$beat+27..$beat+28] {
clip_left := 0;
clip_right := 0;
clip_top = 9/32 * (2-pow(time, 3));
clip_bottom = 9/32 * (2-pow(time, 3));
}
posteffect [$beat+27..$beat+28] {
clip_left := 0;
clip_right := 0;
clip_top = 9/32 * (2-pow(time, 3));
clip_bottom = 9/32 * (2-pow(time, 3));
}
$repeat y 2 {
$repeat x 2 {
$define translation_x {1.2 * ($x - $y*0.5)}
$define translation_y {0.6 * ($y-0.5)*2}
circle [$beat+27..$beat+29] {
$main_color
color_a = 1-time;
scale_x = time * 0.1 + 0.1;
scale_y = time * 0.1 + 0.1;
translation_x := $translation_x;
translation_y := $translation_y;
weight = 0.3 * (1-time);
}
triangle [$beat+27..$beat+28] {
$main_color
scale_x = 0.15 * (1-pow(1-time, 4));
scale_y = 0.15 * (1-pow(1-time, 4));
translation_x := $translation_x;
translation_y := $translation_y;
rotation_z = (pow(1-time, 4) * PI * 2) + $y * PI;
damage := $damage_ratio * 0.2;
}
triangle [$beat+28..$beat+29] {
$main_color
scale_x = 0.15 - 0.05 * (1-pow(1-time, 4));
scale_y := 0.15;
translation_x := $translation_x;
translation_y := $translation_y;
rotation_z := $y * PI;
damage := $damage_ratio;
}
square [$beat+29..$beat+32] {
$main_color
color_a = 1-time;
scale_x := 0.01;
scale_y := 1;
translation_x := $translation_x;
damage = (1-time) * $damage_ratio;
nearness_coe = $nearness_ratio;
}
}
}
// ---- C melody [134..166] ----
$define beat {134}
$repeat i 4 {
square [$beat+$i*8..$beat+$i*8+4] {
$main_color
scale_x = 0.1 * pow(1-time, 2);
scale_y = 0.1 * pow(1-time, 2);
rotation_z = time * PI * 2;
damage := $damage_ratio;
}
circle [$beat+$i*8+1..$beat+$i*8+2] {
$main_color
color_a = time;
scale_x = 0.1 + pow(time, 4) * 0.2;
scale_y = 0.1 + pow(time, 4) * 0.2;
weight = pow(1-time, 2) * 0.8 + 0.2;
damage := $damage_ratio;
nearness_coe := $nearness_ratio;
}
$repeat t 10 {
square [$beat+$i*8+2..$beat+$i*8+4] {
$main_color
scale_y = 0.02;
scale_x = pow(1-time, 2) * 0.3;
__theta := PI*2 * $t/10;
rotation_z := __theta;
__sin = sin(__theta);
__cos = cos(__theta);
translation_x = __cos * (time+0.35);
translation_y = __sin * (time+0.35);
damage := $damage_ratio;
nearness_coe := $nearness_ratio;
}
}
square [$beat+$i*8+2..$beat+$i*8+3] {
$main_color
scale_x := 0.5;
scale_y := 0.1;
translation_x = 0.5;
translation_y = 1 - 2*pow(time, 2);
damage := $damage_ratio*0.25;
}
square [$beat+$i*8+3..$beat+$i*8+4] {
$main_color
scale_x := 0.5;
scale_y := 0.1;
translation_x = -0.5;
translation_y = 1 - 2*pow(time, 2);
damage := $damage_ratio*0.25;
}
$repeat y 10 {
circle [$beat+$i*8+4..$beat+$i*8+8] {
$main_color
scale_x := 0.025;
scale_y := 0.025;
translation_x = 1-time*2;
translation_y = ($y-5)*0.2 + sin(time*PI*3) * 0.2;
damage := $damage_ratio;
nearness_coe := $nearness_ratio;
}
}
}
// ---- C melody -> D melody [158..162] ----
$define beat {158}
$repeat y 2 {
$define translation_x {0.6 * ($y-0.5)*2}
$define translation_y {0.6 * ($y-0.5)*2}
circle [$beat+2..$beat+4] {
$main_color
color_a = 1-time;
scale_x = time * 0.1 + 0.1;
scale_y = time * 0.1 + 0.1;
translation_x := $translation_x;
translation_y := $translation_y;
weight = 0.3 * (1-time);
}
triangle [$beat+2..$beat+3] {
$main_color
scale_x = 0.15 * (1-pow(1-time, 4));
scale_y = 0.15 * (1-pow(1-time, 4));
translation_x := $translation_x;
translation_y := $translation_y;
rotation_z = (pow(1-time, 4) * PI * 2) + $y * PI;
damage := $damage_ratio * 0.2;
}
triangle [$beat+2..$beat+4] {
$main_color
scale_x = 0.15 - 0.05 * (1-pow(1-time, 4));
scale_y := 0.15;
translation_x := $translation_x;
translation_y := $translation_y;
rotation_z := $y * PI;
damage := $damage_ratio;
}
square [$beat+4..$beat+7] {
$main_color
color_a = 1-time;
scale_x := 0.01;
scale_y := 1;
translation_x := $translation_x;
damage = (1-time) * $damage_ratio;
nearness_coe = $nearness_ratio;
}
}
// ---- D melody [162..194] ----
$define beat {162}
$repeat i 8 {
$define falling_triangle {
$main_color
scale_x := 0.35;
scale_y := 0.20;
rotation_z := PI;
damage := $damage_ratio;
}
triangle [$beat+$i*4..$beat+$i*4+1] {
$falling_triangle
translation_y = pow(1-time, 2);
}
triangle [$beat+$i*4+1..$beat+$i*4+2] {
$falling_triangle
translation_y = -pow(time, 2);
}
$repeat x 2 {
$define translation_x {($x*2-1)}
triangle [$beat+$i*4+2..$beat+$i*4+3] {
$falling_triangle
translation_y = pow(1-time, 2);
translation_x := $translation_x * 0.7;
}
triangle [$beat+$i*4+3..$beat+$i*4+4] {
$falling_triangle
translation_y = -pow(time, 2);
translation_x := $translation_x * 0.7;
}
}
$repeat x 2 {
$repeat y 3 {
circle [$beat+$i*4..$beat+$i*4+12] {
$main_color
scale_x = 0.025;
scale_y = 0.025;
translation_x := 1.1 * ($x*2-1);
translation_y := $y-1;
__theta := atan2(actor_y - translation_y, actor_x - translation_x);
__cos := cos(__theta);
__sin := sin(__theta);
translation_x += __cos * 0.01;
translation_y += __sin * 0.01;
damage := $damage_ratio;
}
}
}
}
// ---- D melody -> E melody [194..198]
$define beat {194}
posteffect [$beat..$beat+1] {
contrast_r = 1 + pow(1-time, 2)*0.5;
contrast_g = 1 + pow(1-time, 2)*0.5;
contrast_b = 1 + pow(1-time, 2)*0.5;
}
posteffect [$beat+1..$beat+2] {
clip_left := 0;
clip_right := 0;
clip_top = 9/32 * pow(1-time, 2);
clip_bottom = 9/32 * pow(1-time, 2);
}
actor [$beat+1..$beat+2] {
clip_left := 0;
clip_right := 0;
clip_top = 9/32 * pow(1-time, 2);
clip_bottom = 9/32 * pow(1-time, 2);
}
// ---- E melody [198..262] ----
$define beat {198}
$repeat i 16 {
$define falling_bar {
$main_color
scale_y := 0.1;
damage := $damage_ratio*0.25;
}
square [$beat+($i*4)+2..$beat+($i*4)+3] {
$falling_bar
scale_x := 0.4;
translation_x := -0.75;
translation_y = -(1 - 2*time);
}
square [$beat+($i*4)+2..$beat+($i*4)+3] {
$falling_bar
scale_x := 0.4;
translation_x := 0.75;
translation_y = -(1 - 2*time);
}
$repeat x 3 {
$define lazer {
$main_color
color_a = 1-time;
scale_x := 0.01;
damage = $damage_ratio*time;
}
square [$beat+($i*4)+$x*0.3+2..$beat+($i*4)+4] {
$lazer
translation_x := 0.5 + $x*0.2;
}
square [$beat+($i*4)+$x*0.3+2..$beat+($i*4)+4] {
$lazer
translation_x := -(0.5 + $x*0.2);
}
}
$define lazer_shooter_wrap_circle {
$main_color
color_a = 1-time;
scale_x = (1-pow(1-time, 2)) * 0.3;
scale_y = (1-pow(1-time, 2)) * 0.3;
weight := 0.05;
}
$define lazer_shooter_triangle {
$main_color
scale_x = (1-pow(1-time, 2)) * 0.1;
scale_y = (1-pow(1-time, 2)) * 0.2;
rotation_z = PI*2 * (1-pow(1-time, 4)) +
atan2(actor_y - translation_y, actor_x - translation_x) - PI/2;
damage = $damage_ratio * 0.5;
}
$define lazer {
$main_color
color_a = 1-time;
scale_x := 0.01;
scale_y := 2;
rotation_z :=
atan2(actor_y - translation_y, actor_x - translation_x) - PI/2;
damage = $damage_ratio * pow(time, 2);
}
$repeat x 2 {
$repeat y 2 {
$define translation_x {($x-0.5)*1.2}
$define translation_y {($y-0.5)/2}
circle [$beat+($i*4)..$beat+($i*4)+1] {
translation_x := $translation_x;
translation_y := $translation_y;
$lazer_shooter_wrap_circle
}
triangle [$beat+($i*4)..$beat+($i*4)+1.5] {
translation_x := $translation_x;
translation_y := $translation_y;
$lazer_shooter_triangle
}
square [$beat+($i*4)+1.5..$beat+($i*4)+2] {
translation_x := $translation_x;
translation_y := $translation_y;
$lazer
}
}
}
$repeat y 10 {
circle [$beat+$i*4..$beat+$i*4+4] {
$main_color
scale_x := 0.025;
scale_y := 0.025;
translation_x = ($y-5)*0.2 + sin(time*PI*3) * 0.2;
translation_y = -(1-time*2);
damage := $damage_ratio;
nearness_coe := $nearness_ratio;
}
}
}
// ---- Outro [262..276] ----
$define beat {262}
$repeat i 2 {
square [$beat..$beat+1] {
$main_color
scale_x := 0.2;
scale_y := 0.02;
rotation_z = (PI/6 * pow(1-time, 4) + PI/6) * ($i-0.5)*2;
damage := $damage_ratio;
}
square [$beat+1..$beat+2] {
$main_color
scale_x := 0.2;
scale_y := 0.02;
rotation_z = PI/6 * pow(1-time, 4) * ($i-0.5)*2;
damage := $damage_ratio;
}
}
square [$beat+2..$beat+3] {
$main_color
scale_x = 0.2 * (1-time);
scale_y := 0.02;
damage := $damage_ratio;
}
$repeat y 5 {
$repeat x 5 {
square [$beat+3+$y*0.2..$beat+3+$y*0.2+2] {
$main_color
color_a = pow(1-abs(time*2-1), 2) * 0.5;
scale_x := 0.15;
scale_y := 0.15;
translation_x := ($x-2.5) / 2.5 + 0.2;
translation_y := ($y-2.5) / 2.5 + 0.2;
damage = color_a * $damage_ratio * 0.25;
}
}
}
// ---- Ending ----
posteffect [276..280] {
clip_left := 0;
clip_right := 0;
clip_top = 1-pow(1-time, 4);
clip_bottom = 1-pow(1-time, 4);
contrast_r = 1+9*time;
contrast_g = 1+9*time;
contrast_b = 1+9*time;
}
// ---- IDEA BOX ----
// [cross]
//$repeat x 2 {
// $repeat y 10 {
// $repeat i 16 {
// square [$beat+($i*2)..$beat+($i*2)+2] {
// $main_color
//
// translation_y := -1 + $y/5;
// translation_x := -0.7 + $x*1.4;
//
// scale_x := 0.06;
// scale_y := 0.01;
// rotation_z = pow(time, 3) * PI / 2;
//
// damage = $damage_ratio;
// }
// square [$beat+($i*2)..$beat+($i*2)+2] {
// $main_color
//
// translation_y := -1 + $y/5;
// translation_x := -0.7 + $x*1.4;
//
// scale_x := 0.01;
// scale_y := 0.06;
// rotation_z = pow(time, 3) * PI / 2;
//
// damage = $damage_ratio;
// }
// }
// }
//}