Creatures › Octoplant
Octoplant
Eight fronds of beads curling out like the arms of an octopus, their colours shading with height and depth. Inspired by Octoplant, a DancerDNA creature.
15 genes · 16 variants
Its family
Each one is the same program with different genes. In the app, Morph glides from one to the next, and Breed starts from them.
















Genes
The values that change when Octoplant mutates, breeds and morphs.
| Gene | What it does | Range | Value |
|---|---|---|---|
reach | how far the beads wander: across, up and forward | (3, 3, 3) to (20, 20, 20) | (4.492, 13.9, 19.67) |
reach_waves | how many waves they wander in, from the first bead to the last | (0, 0, 0) to (0.7958, 0.7958, 0.7958) | (0.5563, 0.5624, 0.5415) |
reach_start | (0, 0, 0) to (1, 1, 1) | (0.6078, 0.2381, 0.2523) | |
size | how big the beads grow | (1, 1, 1) to (8, 8, 8) | (3.837, 7.493, 4.109) |
size_waves | (0, 0, 0) to (0.7958, 0.7958, 0.7958) | (0.4048, 0.221, 0.3398) | |
size_start | (0, 0, 0) to (1, 1, 1) | (0.5367, 0.964, 0.6883) | |
turn | how far the beads turn: up, sideways and round | (-171.9, -171.9, -171.9) to (171.9, 171.9, 171.9) | (-133.5, 78.03, 168.1) |
turn_waves | (0, 0, 0) to (0.7958, 0.7958, 0.7958) | (0.5211, 0.2739, 0.7649) | |
turn_start | (0, 0, 0) to (1, 1, 1) | (0.841, 0.0661, 0.3302) | |
gloss | how strong the highlights are | 0 to 1 | 0.3306 |
focus | how tight the highlights are | 0 to 1 | 0.9986 |
hue | the beads' hue at mid-height | 0 to 252 | 179.4 |
hue_spread | how much the hue changes towards the top and bottom | 0 to 108 | 48.21 |
saturation | 0.5 to 1 | 0.5193 | |
fade | how much darker the beads are at the front and back | 0.5 to 1 | 0.7613 |
The code
creature Octoplant
// Eight fronds of beads curling out like the arms of an octopus, their colours shading with
// height and depth.
// Inspired by Octoplant, a DancerDNA creature.
gene reach = (4.492, 13.9, 19.67) in (3, 3, 3)..(20, 20, 20) // how far the beads wander: across, up and forward
gene reach_waves = (0.5563, 0.5624, 0.5415) in (0, 0, 0)..(0.7958, 0.7958, 0.7958) // how many waves they wander in, from the first bead to the last
gene reach_start = (0.6078, 0.2381, 0.2523) in (0, 0, 0)..(1, 1, 1)
gene size = (3.837, 7.493, 4.109) in (1, 1, 1)..(8, 8, 8) // how big the beads grow
gene size_waves = (0.4048, 0.221, 0.3398) in (0, 0, 0)..(0.7958, 0.7958, 0.7958)
gene size_start = (0.5367, 0.964, 0.6883) in (0, 0, 0)..(1, 1, 1)
gene turn = (-133.5, 78.03, 168.1) in (-171.9, -171.9, -171.9)..(171.9, 171.9, 171.9) // how far the beads turn: up, sideways and round
gene turn_waves = (0.5211, 0.2739, 0.7649) in (0, 0, 0)..(0.7958, 0.7958, 0.7958)
gene turn_start = (0.841, 0.0661, 0.3302) in (0, 0, 0)..(1, 1, 1)
gene gloss = 0.3306 in 0..1 // how strong the highlights are
gene focus = 0.9986 in 0..1 // how tight the highlights are
gene hue = 179.4 in 0..252 // the beads' hue at mid-height
gene hue_spread = 48.21 in 0..108 // how much the hue changes towards the top and bottom
gene saturation = 0.5193 in 0.5..1
gene fade = 0.7613 in 0.5..1 // how much darker the beads are at the front and back
pitch 90
repeat 8 {
frond
yaw 45
}
part frond {
branch {
shine gloss
sharpness focus
shape ball
repeat 15 as k {
branch {
let along = k / 14
let place = (reach.x * wave(reach_waves.x * (along - reach_start.x)), reach.y * wave(reach_waves.y * (along - reach_start.y)), reach.z * wave(reach_waves.z * (along - reach_start.z)))
move place
grow (0.1 + size.x * (1 + wave(size_waves.x * (along - size_start.x))), 0.1 + size.y * (1 + wave(size_waves.y * (along - size_start.y))), 0.1 + size.z * (1 + wave(size_waves.z * (along - size_start.z))))
pitch turn.x * wave(turn_waves.x * (along - turn_start.x))
yaw turn.y * wave(turn_waves.y * (along - turn_start.y))
roll turn.z * wave(turn_waves.z * (along - turn_start.z))
colour hsv(hue + hue_spread * abs(place.y / reach.y), saturation, 1 - fade * abs(place.z / reach.z))
lay
}
}
}
}
variant member_2 {
reach = (15.58, 10.48, 18.61)
reach_waves = (0.3898, 0.03803, 0.1362)
reach_start = (0.05906, 0.2397, 0.951)
size = (2.995, 5.127, 3.742)
size_waves = (0.3962, 0.2584, 0.1664)
size_start = (0.7345, 0.876, 0.8469)
turn = (33.68, 117.9, -4.605)
turn_waves = (0.02253, 0.5271, 0.1038)
turn_start = (0.5143, 0.8455, 0.2091)
gloss = 0.03824
focus = 0.5744
hue = 236.7
hue_spread = 42.61
saturation = 0.6341
fade = 0.6158
}
variant member_3 {
reach = (3.726, 11.4, 18.61)
reach_waves = (0.3937, 0.6428, 0.3568)
reach_start = (0.8125, 0.2381, 0.8828)
size = (4.596, 5.103, 4.109)
size_waves = (0.2023, 0.2208, 0.2436)
size_start = (0.608, 0.8643, 0.7674)
turn = (153.8, 61.19, 71.03)
turn_waves = (0.199, 0.2739, 0.1091)
turn_start = (0.8117, 0.5705, 0.2063)
gloss = 0.826
focus = 0.6122
hue = 234.5
hue_spread = 42.61
saturation = 0.5735
}
variant member_4 {
reach = (5.457, 6.221, 13.01)
reach_waves = (0.3019, 0.2149, 0.2956)
reach_start = (0.4272, 0.5127, 0.03146)
size = (1.579, 6.909, 1.749)
size_waves = (0.5624, 0.3793, 0.6676)
size_start = (0.2065, 0.2752, 0.687)
turn = (-100.9, -91.89, 96.36)
turn_waves = (0.2702, 0.03502, 0.5639)
turn_start = (0.1304, 0.4333, 0.2967)
gloss = 0.458
focus = 0.5272
hue = 0.8527
hue_spread = 69.81
saturation = 0.9402
fade = 0.8913
}
variant member_5 {
reach = (11.05, 12.04, 18.61)
reach_waves = (0.4665, 0.1476, 0.2988)
reach_start = (0.3496, 0.6565, 0.951)
size = (5.438, 5.127, 3.742)
size_waves = (0.7151, 0.6541, 0.04091)
size_start = (0.6841, 0.876, 0.4559)
turn = (126, 155.8, -4.605)
turn_waves = (0.3669, 0.0007292, 0.4925)
turn_start = (0.9249, 0.6375, 0.8769)
gloss = 0.9302
focus = 0.8715
hue = 26.44
hue_spread = 18.65
saturation = 0.8671
fade = 0.9339
}
variant member_6 {
reach = (14.55, 11.4, 18.61)
reach_waves = (0.3937, 0.4039, 0.3568)
reach_start = (0.2077, 0.407, 0.5289)
size = (4.596, 5.103, 4.109)
size_waves = (0.2023, 0.2208, 0.2436)
size_start = (0.608, 0.9443, 0.3718)
turn = (153.8, 61.19, -143)
turn_waves = (0.199, 0.4715, 0.4142)
turn_start = (0.8117, 0.6634, 0.873)
gloss = 0.5833
focus = 0.369
hue = 234.5
hue_spread = 95.08
saturation = 0.7359
fade = 0.5771
}
variant member_7 {
reach = (14.99, 12.04, 19.64)
reach_waves = (0.4665, 0.06423, 0.4089)
reach_start = (0.975, 0.6136, 0.1408)
size = (4.411, 4.684, 3.203)
size_waves = (0.1353, 0.4093, 0.04436)
size_start = (0.7202, 0.8048, 0.8581)
turn = (101.5, 145.4, -142.9)
turn_waves = (0.2009, 0.15, 0.5025)
turn_start = (0.09941, 0.3447, 0.8416)
gloss = 0.8259
focus = 0.2905
hue = 8.952
hue_spread = 98.34
saturation = 0.9954
fade = 0.8716
}
variant member_8 {
reach = (14.99, 11.81, 19.34)
reach_waves = (0.3867, 0.1354, 0.3206)
reach_start = (0.9315, 0.7344, 0.2385)
size = (5.231, 6.22, 3.203)
size_waves = (0.07264, 0.4714, 0.08535)
size_start = (0.6409, 0.8048, 0.8581)
turn = (101.5, 155.8, -144.3)
turn_waves = (0.2015, 0.1973, 0.4211)
turn_start = (0.09941, 0.4046, 0.7474)
gloss = 0.7337
focus = 0.2227
hue = 5.172
hue_spread = 100
saturation = 0.958
fade = 0.9323
}
variant member_9 {
reach = (10.58, 17.54, 11.5)
reach_waves = (0.06417, 0.1462, 0.2667)
reach_start = (0.458, 0.4261, 0.4579)
size = (1.748, 4.505, 1.123)
size_waves = (0.2876, 0.3719, 0.4095)
size_start = (0.7865, 0.6538, 0.2627)
turn = (-9.609, -2.985, 43.65)
turn_waves = (0.4044, 0.639, 0.609)
turn_start = (0.8946, 0.5434, 0.5712)
gloss = 0.3657
focus = 0.9763
hue = 4.437
hue_spread = 19.86
saturation = 0.9755
fade = 0.7291
}
variant member_10 {
reach = (17.09, 12.04, 17.93)
reach_waves = (0.4665, 0.06423, 0.357)
reach_start = (0.9532, 0.6565, 0.2606)
size = (3.776, 5.513, 3.203)
size_waves = (0.1724, 0.4093, 0.007897)
size_start = (0.7616, 0.7454, 0.8466)
turn = (101.5, 146.1, -129.9)
turn_waves = (0.2009, 0.1841, 0.4033)
turn_start = (0.09941, 0.3797, 0.6991)
gloss = 0.7982
focus = 0.2227
hue = 8.952
hue_spread = 100
saturation = 0.9479
fade = 0.9323
}
variant member_11 {
reach = (15.82, 6.721, 18.61)
reach_waves = (0.3612, 0.08674, 0.2776)
reach_start = (0.1801, 0.2397, 0.4855)
size = (5, 5.705, 3.74)
size_waves = (0.04388, 0.1771, 0.01627)
size_start = (0.7, 0.876, 0.7764)
turn = (-8.798, 117.9, -59.15)
turn_waves = (0.03783, 0.5705, 0.4775)
turn_start = (0.6626, 0.8236, 0.256)
gloss = 0.331
focus = 0.1962
hue = 203
hue_spread = 53.27
saturation = 0.579
fade = 0.5798
}
variant member_12 {
reach = (10.61, 7.406, 17.88)
reach_waves = (0.05083, 0.4905, 0.2107)
reach_start = (0.3762, 0.3305, 0.1623)
size = (4.596, 5.053, 7.043)
size_waves = (0.05894, 0.08426, 0.3318)
size_start = (0.2619, 0.7167, 0.1143)
turn = (-134.4, 31.29, 58.22)
turn_waves = (0.7212, 0.1581, 0.2201)
turn_start = (0.9023, 0.919, 0.9075)
gloss = 0.3393
focus = 0.6747
hue = 4.437
hue_spread = 105
saturation = 0.7562
fade = 0.7974
}
variant member_13 {
reach = (19.06, 14.91, 11.72)
reach_waves = (0.3898, 0.4597, 0.5721)
reach_start = (0.3496, 0.2733, 0.951)
size = (2.058, 5.053, 3.742)
size_waves = (0.2478, 0.2584, 0.1664)
size_start = (0.1622, 0.876, 0.8469)
turn = (35.57, 138.7, -108.6)
turn_waves = (0.02253, 0.2413, 0.2714)
turn_start = (0.5419, 0.2481, 0.5513)
gloss = 0.8903
focus = 0.5283
hue = 215
hue_spread = 100.8
saturation = 0.6341
fade = 0.8552
}
variant member_14 {
reach = (11.17, 15.82, 19.81)
reach_waves = (0.5556, 0.4769, 0.3679)
reach_start = (0.09858, 0.5219, 0.179)
size = (2.225, 2.62, 1.213)
size_waves = (0.4995, 0.06077, 0.1103)
size_start = (0.312, 0.9265, 0.7482)
turn = (-88.27, 62.4, -118.3)
turn_waves = (0.607, 0.7376, 0.3894)
turn_start = (0.5809, 0.7557, 0.4387)
gloss = 0.4883
focus = 0.7242
hue = 36.33
hue_spread = 81.16
saturation = 0.5263
fade = 0.7896
}
variant member_15 {
reach = (3.826, 11.4, 18.61)
reach_waves = (0.3898, 0.5907, 0.3568)
reach_start = (0.7997, 0.2419, 0.7173)
size = (4.596, 5.127, 4.109)
size_waves = (0.3726, 0.2208, 0.1225)
size_start = (0.7146, 0.8086, 0.6705)
turn = (163.5, 61.19, 71.03)
turn_waves = (0.199, 0.1675, 0.001565)
turn_start = (0.9541, 0.5705, 0.02179)
gloss = 0.826
focus = 0.6122
hue = 234.5
hue_spread = 42.61
saturation = 0.5227
}
variant member_16 {
reach = (5.457, 11.32, 11.72)
reach_waves = (0.1149, 0.4905, 0.2107)
reach_start = (0.3496, 0.3305, 0.4579)
size = (2.224, 5.053, 6.086)
size_waves = (0.5978, 0.3793, 0.6705)
size_start = (0.1622, 0.7657, 0.1143)
turn = (-134.4, -47.62, 58.22)
turn_waves = (0.4044, 0.2066, 0.2201)
turn_start = (0.7431, 0.919, 0.8216)
gloss = 0.9395
focus = 0.6747
hue = 4.437
hue_spread = 58.68
saturation = 0.9847
fade = 0.8523
}
variant member_17 {
reach = (10.72, 8.412, 5.431)
reach_waves = (0.5556, 0.3659, 0.1573)
reach_start = (0.09858, 0.1923, 0.04568)
size = (7.453, 2.62, 1.213)
size_waves = (0.4995, 0.6233, 0.1103)
size_start = (0.8643, 0.9355, 0.7482)
turn = (-88.27, 142.2, 14.43)
turn_waves = (0.1092, 0.4405, 0.3894)
turn_start = (0.6399, 0.9631, 0.8099)
gloss = 0.4883
focus = 0.7242
hue = 36.33
hue_spread = 81.16
saturation = 0.9841
fade = 0.9123
}