Creatures › Starfish
Starfish
Four arms, each a wobbling stem of rings ending in a spiral of long petals with a bead at the end of each. Inspired by Starfish, a DancerDNA creature.
23 genes · 14 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 Starfish mutates, breeds and morphs.
| Gene | What it does | Range | Value |
|---|---|---|---|
stem_start | how far from the middle the stems start | -15 to 15 | -1.961 |
stride | how far apart the stem's rings are | -1.5 to 2 | 0.5112 |
ring_stretch | how long the rings are drawn out along the stem | 2 to 5 | 3.633 |
ripples | how many times the rings swell and shrink along the stem | 2.387 to 3.979 | 3.789 |
bend | how far each ring turns sideways from the last | -5.73 to 5.73 | -1.724 |
wobbles | how many times the stem wobbles up and down | 0.955 to 1.91 | 1.58 |
wobble_start | -0.5 to 0.5 | 0.02209 | |
flower_tilt | how far the flowers tip up from their stems | -114.6 to 114.6 | 35.67 |
flower_out | how far out the flowers are | 15 to 35 | 16.37 |
flower_turn | how far they turn to the side | -57.3 to 85.94 | 12.82 |
petals | how many petals | 4 to 15 | 11.18 |
petal_length | 4 to 12 | 8.511 | |
petal_rise | how far each petal tips up from the last | -5.73 to 17.19 | 1.944 |
petal_turn | how far each turns sideways from the last | -5.73 to 85.94 | 9.983 |
bud_out | how far out the beads are | 4 to 9 | 7.041 |
ring_1 | any hue | hsv(92.8, 0.66, 0.97, 1) | |
ring_2 | any hue | hsv(239.3, 0.4, 0.38, 1) | |
ring_3 | any hue | hsv(190.3, 0.71, 0.91, 1) | |
petal_1 | any hue | hsv(283, 0.93, 0.87, 1) | |
petal_2 | any hue | hsv(244.7, 0.75, 1, 1) | |
petal_3 | any hue | hsv(183, 0.31, 0.24, 1) | |
petal_4 | any hue | hsv(193.7, 0.76, 1, 1) | |
petal_gaps | (0.25, 0.25, 0.25) to (1, 1, 1) | (0.4193, 0.8327, 0.6268) |
The code
creature Starfish
// Four arms, each a wobbling stem of rings ending in a spiral of long petals with a bead at the
// end of each.
// Inspired by Starfish, a DancerDNA creature.
gene stem_start = -1.961 in -15..15 // how far from the middle the stems start
gene stride = 0.5112 in -1.5..2 // how far apart the stem's rings are
gene ring_stretch = 3.633 in 2..5 // how long the rings are drawn out along the stem
gene ripples = 3.789 in 2.387..3.979 // how many times the rings swell and shrink along the stem
gene bend = -1.724 in -5.73..5.73 // how far each ring turns sideways from the last
gene wobbles = 1.58 in 0.955..1.91 // how many times the stem wobbles up and down
gene wobble_start = 0.02209 in -0.5..0.5
gene flower_tilt = 35.67 in -114.6..114.6 // how far the flowers tip up from their stems
gene flower_out = 16.37 in 15..35 // how far out the flowers are
gene flower_turn = 12.82 in -57.3..85.94 // how far they turn to the side
gene petals = 11.18 in 4..15 // how many petals
gene petal_length = 8.511 in 4..12
gene petal_rise = 1.944 in -5.73..17.19 // how far each petal tips up from the last
gene petal_turn = 9.983 in -5.73..85.94 // how far each turns sideways from the last
gene bud_out = 7.041 in 4..9 // how far out the beads are
// The rings' colours, from the middle out, and the petals' with the gaps between them.
gene ring_1 = hsv(92.8, 0.66, 0.97) in hsv(0, 0, 0.7)..hsv(360, 1, 1)
gene ring_2 = hsv(239.3, 0.4, 0.38) in hsv(0, 0, 0)..hsv(360, 1, 1)
gene ring_3 = hsv(190.3, 0.71, 0.91) in hsv(0, 0, 0.7)..hsv(360, 1, 1)
gene petal_1 = hsv(283, 0.93, 0.87) in hsv(0, 0, 0)..hsv(360, 1, 1)
gene petal_2 = hsv(244.7, 0.75, 1) in hsv(0, 0.4, 1)..hsv(360, 1, 1)
gene petal_3 = hsv(183, 0.31, 0.24) in hsv(0, 0, 0)..hsv(360, 1, 1)
gene petal_4 = hsv(193.7, 0.76, 1) in hsv(0, 0.4, 1)..hsv(360, 1, 1)
gene petal_gaps = (0.4193, 0.8327, 0.6268) in (0.25, 0.25, 0.25)..(1, 1, 1)
let rings = spectrum(ring_1, ring_2, ring_3)
let blooms = spectrum(petal_1, petal_2 at petal_gaps.x, petal_3 at petal_gaps.x + petal_gaps.y, petal_4 at petal_gaps.x + petal_gaps.y + petal_gaps.z)
shine 1
sharpness 1
pitch -90
// The arms in the original's order: ahead, behind, then to each side.
arm
yaw 180
arm
yaw 90
arm
yaw 180
arm
part arm {
stem
branch {
pitch flower_tilt
flower
}
}
part stem {
branch {
shape ring
forward stem_start
reshape { grow (1, 1, ring_stretch) }
repeat 30 as k {
let along = k / 29
let swell = 1 + wave(ripples * along) / 2
colour rings(along)
forward stride
reshape { grow (swell, swell, 1.05) }
yaw bend
pitch degrees(wave(wobbles * along + wobble_start) / 14)
lay
}
}
}
part flower {
branch {
shape ball
forward flower_out
grow 1.2
yaw flower_turn
reshape { grow (1, 1, petal_length) }
repeat ceil(petals) as k {
grow 1.05
pitch petal_rise
yaw petal_turn
colour blooms(k / (petals - 1))
lay
branch {
reshape { grow (1, 1, 1 / petal_length) }
forward bud_out
lay
}
}
}
}
variant member_2 {
stem_start = -3.863
stride = 0.8487
ring_stretch = 3.669
ripples = 3.82
bend = -2.414
wobbles = 1.493
wobble_start = -0.1639
flower_tilt = 4.136
flower_out = 15.1
flower_turn = 40.79
petals = 9.623
petal_length = 8.772
petal_rise = 0.2405
petal_turn = 17.13
bud_out = 6.764
ring_1 = hsv(128.9, 0.8, 0.97)
ring_2 = hsv(230.5, 0.31, 0.14)
ring_3 = hsv(173.4, 0.6, 0.98)
petal_1 = hsv(268.7, 0.98, 0.95)
petal_2 = hsv(342.5, 0.63, 1)
petal_3 = hsv(172, 0.38, 0.32)
petal_4 = hsv(259.8, 0.64, 1)
petal_gaps = (0.4614, 0.9823, 0.5445)
}
variant member_3 {
stem_start = 14.25
stride = -1.107
ring_stretch = 2.295
ripples = 2.807
bend = 3.543
wobbles = 1.704
wobble_start = -0.4026
flower_tilt = -80.55
flower_out = 15.81
flower_turn = -14.08
petals = 10.12
petal_length = 6.982
petal_rise = -0.8544
petal_turn = 50.84
bud_out = 6.767
ring_1 = hsv(39.4, 0.56, 0.89)
ring_2 = hsv(21.3, 0.91, 0.95)
ring_3 = hsv(273.4, 0.33, 0.87)
petal_1 = hsv(220.4, 0.73, 0.83)
petal_2 = hsv(221.6, 0.49, 1)
petal_3 = hsv(275.2, 0.2, 0.56)
petal_4 = hsv(319.3, 0.54, 1)
petal_gaps = (0.675, 0.3129, 0.3009)
}
variant member_4 {
stem_start = 2.749
stride = 1.119
ring_stretch = 3.692
ripples = 3.064
bend = 3.197
wobbles = 1.116
wobble_start = 0.4841
flower_tilt = 34.86
flower_out = 21.14
flower_turn = 50.89
petals = 11.38
petal_length = 5.246
petal_rise = 0.9676
petal_turn = 6.16
bud_out = 7.861
ring_1 = hsv(336.4, 0.86, 0.85)
ring_2 = hsv(148.4, 0.3, 0.07)
ring_3 = hsv(70.5, 0.56, 0.99)
petal_1 = hsv(124.8, 0.8, 0.91)
petal_2 = hsv(215.7, 0.67, 1)
petal_3 = hsv(318.2, 0.62, 0.88)
petal_4 = hsv(259.8, 0.64, 1)
petal_gaps = (0.8628, 0.9302, 0.7001)
}
variant member_5 {
stem_start = 2.749
stride = 1.119
ring_stretch = 3.349
ripples = 3.064
bend = 3.197
wobbles = 1.116
wobble_start = -0.0318
flower_tilt = 1.816
flower_out = 19.43
flower_turn = 50.89
petals = 11.38
petal_length = 11.71
petal_rise = -5.587
petal_turn = 6.16
bud_out = 7.861
ring_1 = hsv(336.4, 0.86, 0.85)
ring_2 = hsv(148.4, 0.3, 0.07)
ring_3 = hsv(70.5, 0.56, 0.99)
petal_1 = hsv(124.8, 0.8, 0.91)
petal_2 = hsv(224.3, 0.65, 1)
petal_3 = hsv(225.8, 0.59, 0.11)
petal_4 = hsv(259.8, 0.64, 1)
petal_gaps = (0.7386, 0.3568, 0.7001)
}
variant member_6 {
stem_start = 2.749
stride = -0.6118
ring_stretch = 4.787
ripples = 3.064
bend = -0.192
wobbles = 1.116
wobble_start = 0.4841
flower_tilt = 34.86
flower_out = 29.33
flower_turn = 2.224
petals = 11.38
petal_length = 5.749
petal_rise = 13.01
petal_turn = 6.16
bud_out = 7.373
ring_1 = hsv(336.4, 0.86, 0.85)
ring_2 = hsv(142.2, 0.55, 0.39)
ring_3 = hsv(70.5, 0.56, 0.99)
petal_1 = hsv(124.8, 0.8, 0.91)
petal_2 = hsv(18.5, 0.72, 1)
petal_3 = hsv(318.2, 0.62, 0.88)
petal_4 = hsv(259.8, 0.64, 1)
petal_gaps = (0.8628, 0.9302, 0.67)
}
variant member_7 {
stem_start = 14.25
stride = -1.076
ring_stretch = 2.914
ripples = 2.533
bend = 5.363
wobbles = 1.712
wobble_start = -0.21
flower_tilt = -17.13
flower_out = 15.73
flower_turn = -37.2
petals = 10.12
petal_length = 7.901
petal_rise = -0.9835
petal_turn = 32.03
bud_out = 7.865
ring_1 = hsv(61.9, 0.33, 0.95)
ring_2 = hsv(21.3, 0.91, 0.95)
ring_3 = hsv(273.4, 0.33, 0.87)
petal_1 = hsv(237.8, 0.64, 0.84)
petal_2 = hsv(214.1, 0.65, 1)
petal_3 = hsv(284.3, 0.64, 0.94)
petal_4 = hsv(252.7, 0.66, 1)
petal_gaps = (0.7793, 0.3129, 0.3009)
}
variant member_8 {
stem_start = 2.749
stride = 1.119
ring_stretch = 3.349
ripples = 2.947
bend = 0.5653
wobbles = 1.116
wobble_start = 0.1169
flower_tilt = 1.816
flower_out = 24.65
flower_turn = -50.74
petals = 11.13
petal_length = 11.71
petal_rise = -4.728
petal_turn = 11.7
bud_out = 7.512
ring_1 = hsv(336.4, 0.86, 0.85)
ring_2 = hsv(232.3, 0.38, 0.89)
ring_3 = hsv(116.9, 0.48, 0.91)
petal_1 = hsv(24.1, 0.73, 0.85)
petal_2 = hsv(138.5, 0.91, 1)
petal_3 = hsv(225.8, 0.59, 0.11)
petal_4 = hsv(260.3, 0.5, 1)
petal_gaps = (0.7386, 0.6882, 0.2591)
}
variant member_9 {
stem_start = 9.001
stride = -0.1912
ring_stretch = 3.615
ripples = 3.091
bend = 2.916
wobbles = 1.401
wobble_start = 0.1295
flower_tilt = 13.02
flower_out = 16.31
flower_turn = -4.83
petals = 14.14
petal_length = 11.43
petal_rise = 8.701
petal_turn = 5.353
bud_out = 5.474
ring_1 = hsv(278.2, 0.19, 0.97)
ring_2 = hsv(301.4, 0.13, 0.9)
ring_3 = hsv(195.4, 0.42, 0.83)
petal_1 = hsv(233.3, 0.5, 0.16)
petal_2 = hsv(115.6, 0.9, 1)
petal_3 = hsv(140.2, 0.51, 0.75)
petal_4 = hsv(226.4, 0.52, 1)
petal_gaps = (0.8438, 0.3663, 0.7746)
}
variant member_10 {
stem_start = 9.001
stride = -0.1912
ring_stretch = 3.615
ripples = 3.751
bend = 2.916
wobbles = 1.401
wobble_start = 0.1295
flower_tilt = 101.3
flower_out = 22.98
flower_turn = 25.73
petals = 13.08
petal_length = 11.43
petal_rise = 8.701
petal_turn = 5.188
bud_out = 5.432
ring_1 = hsv(129.8, 0.03, 0.88)
ring_2 = hsv(301.4, 0.13, 0.9)
ring_3 = hsv(195.4, 0.42, 0.83)
petal_1 = hsv(233.3, 0.5, 0.16)
petal_2 = hsv(46.1, 0.75, 1)
petal_3 = hsv(208.6, 0.21, 0.43)
petal_4 = hsv(91.9, 0.52, 1)
petal_gaps = (0.9623, 0.3369, 0.9221)
}
variant member_11 {
stem_start = 14.29
stride = -0.8658
ring_stretch = 2.954
ripples = 3.003
bend = 3.327
wobbles = 1.647
wobble_start = 0.1046
flower_tilt = 32
flower_out = 15.73
flower_turn = -3.481
petals = 11.55
petal_length = 10.56
petal_rise = 5.842
petal_turn = 7.895
bud_out = 6.717
ring_1 = hsv(40.1, 0.12, 0.91)
ring_2 = hsv(21.3, 0.91, 0.95)
ring_3 = hsv(275.9, 0.31, 0.84)
petal_1 = hsv(234.5, 0.63, 0.81)
petal_2 = hsv(200.9, 0.65, 1)
petal_3 = hsv(227.8, 0.32, 0.56)
petal_4 = hsv(186, 0.6, 1)
petal_gaps = (0.9623, 0.3129, 0.379)
}
variant member_12 {
stem_start = 6.345
stride = -0.5627
ring_stretch = 3.558
ripples = 3.724
bend = -2.754
wobbles = 1.401
wobble_start = 0.1521
flower_tilt = 58.43
flower_out = 26.57
flower_turn = -26.72
petals = 12.14
petal_length = 5.061
petal_rise = 5.488
petal_turn = 5.188
bud_out = 7.618
ring_1 = hsv(19.4, 0.53, 0.98)
ring_2 = hsv(273, 0.25, 0.5)
ring_3 = hsv(312.6, 0.11, 0.78)
petal_1 = hsv(329.9, 0.86, 0.66)
petal_2 = hsv(25.9, 0.95, 1)
petal_3 = hsv(212.9, 0.53, 0.46)
petal_4 = hsv(110.6, 0.76, 1)
petal_gaps = (0.5681, 0.5911, 0.6596)
}
variant member_13 {
stem_start = 14.28
stride = -0.7079
ring_stretch = 3.084
ripples = 2.644
bend = 5.259
wobbles = 1.712
wobble_start = 0.2649
flower_tilt = 3.72
flower_out = 15.73
flower_turn = 25.73
petals = 11.5
petal_length = 9.635
petal_rise = 5.351
petal_turn = 9.162
bud_out = 6.634
ring_1 = hsv(43.8, 0.16, 0.92)
ring_2 = hsv(21.3, 0.91, 0.95)
ring_3 = hsv(282.8, 0.26, 0.78)
petal_1 = hsv(194.2, 0.59, 0.48)
petal_2 = hsv(46.1, 0.75, 1)
petal_3 = hsv(234, 0.35, 0.6)
petal_4 = hsv(186, 0.6, 1)
petal_gaps = (0.858, 0.4019, 0.337)
}
variant member_14 {
stem_start = -9.948
stride = 0.5762
ring_stretch = 4.284
ripples = 3.445
bend = -1.924
wobbles = 1.318
wobble_start = 0.2904
flower_tilt = 40.73
flower_out = 33.18
flower_turn = 84.3
petals = 7.743
petal_length = 4.72
petal_rise = 12.61
petal_turn = 24.93
bud_out = 4.882
ring_1 = hsv(267.3, 0.79, 0.96)
ring_2 = hsv(27, 0.58, 0.68)
ring_3 = hsv(270.6, 0.08, 0.92)
petal_1 = hsv(314.8, 0.3, 0.62)
petal_2 = hsv(243.5, 0.72, 1)
petal_3 = hsv(227.3, 0.45, 0.43)
petal_4 = hsv(259.8, 0.64, 1)
petal_gaps = (0.5431, 0.7159, 0.8019)
}
variant member_15 {
stem_start = 2.749
stride = -1.04
ring_stretch = 4.787
ripples = 3.064
bend = -0.192
wobbles = 1.116
wobble_start = 0.4841
flower_tilt = 34.86
flower_out = 17.6
flower_turn = 2.224
petals = 11.38
petal_length = 5.749
petal_rise = 13.01
petal_turn = 1.826
bud_out = 7.373
ring_1 = hsv(111.1, 0.96, 0.77)
ring_2 = hsv(24.1, 0.78, 0.86)
ring_3 = hsv(299.7, 0.58, 0.75)
petal_1 = hsv(143.1, 0.04, 0.88)
petal_2 = hsv(69.6, 0.95, 1)
petal_3 = hsv(31.3, 0.66, 0.14)
petal_4 = hsv(259.8, 0.64, 1)
petal_gaps = (0.8628, 0.9302, 0.4369)
}