Creatures › Star
Star
Five arms of interlocking rings, like chains, bending and swelling as they reach out. Inspired by Star, a DancerDNA creature.
22 genes · 11 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 Star mutates, breeds and morphs.
| Gene | What it does | Range | Value |
|---|---|---|---|
twist | how far the arms twist | -45.84 to 45.84 | -29.76 |
twist_waves | how many half-waves the twist makes along an arm | 0.5 to 4 | 1.731 |
twist_start | where along the arm the twist starts | -1 to 1 | 0.2835 |
rise | how far the arms bend up and down | -45.84 to 45.84 | -22.87 |
rise_waves | 0.5 to 4 | 3.569 | |
rise_start | -1 to 1 | 0.7635 | |
sway | how far the arms bend from side to side | -45.84 to 45.84 | -7.982 |
sway_waves | 0.5 to 4 | 2.758 | |
sway_start | -1 to 1 | 0.7958 | |
swell | how much the links grow and shrink: across, up and along | (-0.4, -0.4, -0.4) to (0.4, 0.4, 0.4) | (0.2831, 0.1906, -0.1473) |
swell_waves | how many half-waves the swelling makes along an arm | (0, 0, 0) to (20, 20, 20) | (4.965, 17.21, 1.795) |
swell_start | (-1, -1, -1) to (1, 1, 1) | (0.1605, -0.7255, -0.9763) | |
flat_1 | any hue | hsv(334, 0.93, 0.02, 1) | |
flat_2 | any hue | hsv(145.2, 0.47, 0.01, 1) | |
flat_3 | any hue | hsv(96, 0.99, 0.77, 1) | |
flat_4 | any hue | hsv(44.5, 0.47, 0.84, 1) | |
flat_gaps | (0.25, 0.25, 0.25) to (1, 1, 1) | (0.9819, 0.3743, 0.495) | |
upright_1 | any hue | hsv(198, 0.7, 1, 1) | |
upright_2 | any hue | hsv(56.7, 0.88, 1, 1) | |
upright_3 | any hue | hsv(114.2, 0.9, 1, 1) | |
upright_4 | any hue | hsv(319.8, 0.41, 1, 1) | |
upright_gaps | (0.25, 0.25, 0.25) to (1, 1, 1) | (0.2962, 0.3338, 0.4979) |
The code
creature Star
// Five arms of interlocking rings, like chains, bending and swelling as they reach out.
// Inspired by Star, a DancerDNA creature.
gene twist = -29.76 in -45.84..45.84 // how far the arms twist
gene twist_waves = 1.731 in 0.5..4 // how many half-waves the twist makes along an arm
gene twist_start = 0.2835 in -1..1 // where along the arm the twist starts
gene rise = -22.87 in -45.84..45.84 // how far the arms bend up and down
gene rise_waves = 3.569 in 0.5..4
gene rise_start = 0.7635 in -1..1
gene sway = -7.982 in -45.84..45.84 // how far the arms bend from side to side
gene sway_waves = 2.758 in 0.5..4
gene sway_start = 0.7958 in -1..1
gene swell = (0.2831, 0.1906, -0.1473) in (-0.4, -0.4, -0.4)..(0.4, 0.4, 0.4) // how much the links grow and shrink: across, up and along
gene swell_waves = (4.965, 17.21, 1.795) in (0, 0, 0)..(20, 20, 20) // how many half-waves the swelling makes along an arm
gene swell_start = (0.1605, -0.7255, -0.9763) in (-1, -1, -1)..(1, 1, 1)
// The colours of the links lying flat and of those standing upright, from the middle out, and
// the gaps between them.
gene flat_1 = hsv(334, 0.93, 0.02) in hsv(0, 0, 0)..hsv(360, 1, 1)
gene flat_2 = hsv(145.2, 0.47, 0.01) in hsv(0, 0, 0)..hsv(360, 1, 1)
gene flat_3 = hsv(96, 0.99, 0.77) in hsv(0, 0, 0)..hsv(360, 1, 1)
gene flat_4 = hsv(44.5, 0.47, 0.84) in hsv(0, 0, 0)..hsv(360, 1, 1)
gene flat_gaps = (0.9819, 0.3743, 0.495) in (0.25, 0.25, 0.25)..(1, 1, 1)
gene upright_1 = hsv(198, 0.7, 1) in hsv(0, 0.4, 1)..hsv(360, 1, 1)
gene upright_2 = hsv(56.7, 0.88, 1) in hsv(0, 0.4, 1)..hsv(360, 1, 1)
gene upright_3 = hsv(114.2, 0.9, 1) in hsv(0, 0.4, 1)..hsv(360, 1, 1)
gene upright_4 = hsv(319.8, 0.41, 1) in hsv(0, 0.4, 1)..hsv(360, 1, 1)
gene upright_gaps = (0.2962, 0.3338, 0.4979) in (0.25, 0.25, 0.25)..(1, 1, 1)
let flat = spectrum(flat_1, flat_2 at flat_gaps.x, flat_3 at flat_gaps.x + flat_gaps.y, flat_4 at flat_gaps.x + flat_gaps.y + flat_gaps.z)
let upright = spectrum(upright_1, upright_2 at upright_gaps.x, upright_3 at upright_gaps.x + upright_gaps.y, upright_4 at upright_gaps.x + upright_gaps.y + upright_gaps.z)
shine 1
sharpness 1
repeat 5 as arm {
branch {
chain(arm)
}
roll 72
}
part chain(arm) {
shape ring
repeat 20 as k {
let along = k / 20
// Every other link stands upright. The first arm leaves out its first link, which would
// overlap the others' in the middle.
if arm > 0 or k > 0 {
branch {
if k % 2 == 0 {
colour flat(along)
} else {
colour upright(along)
yaw 90
}
lay
}
}
move (0, 0.25, 0)
roll twist * sin(180 * twist_waves * (along + twist_start))
pitch rise * sin(180 * rise_waves * (along + rise_start))
yaw sway * sin(180 * sway_waves * (along + sway_start))
grow (1 + swell.x * sin(180 * swell_waves.x * (along + swell_start.x)), 1 + swell.y * sin(180 * swell_waves.y * (along + swell_start.y)), 1 + swell.z * sin(180 * swell_waves.z * (along + swell_start.z)))
move (0, 0.25, 0)
}
}
variant member_2 {
twist = 45.48
twist_waves = 0.9779
twist_start = 0.648
rise = -8.515
rise_waves = 1.842
rise_start = -0.05395
sway = -45.44
sway_waves = 3.964
sway_start = 0.5414
swell = (0.3538, 0.3306, -0.3017)
swell_waves = (1.841, 14.81, 6.744)
swell_start = (-0.6536, 0.01239, -0.08043)
flat_1 = hsv(323.3, 0.85, 0.03)
flat_2 = hsv(261.9, 0.72, 0.61)
flat_3 = hsv(186.8, 0.84, 0.49)
flat_4 = hsv(168.4, 0.55, 0.76)
flat_gaps = (0.6707, 0.6461, 0.7932)
upright_1 = hsv(33.5, 0.95, 1)
upright_2 = hsv(307.3, 0.49, 1)
upright_3 = hsv(229.8, 0.8, 1)
upright_4 = hsv(14.5, 0.62, 1)
upright_gaps = (0.9068, 0.5627, 0.3953)
}
variant member_3 {
twist = 32.88
twist_waves = 1.98
twist_start = -0.9731
rise = 34.91
rise_start = -0.8264
sway = 21.51
sway_waves = 3.611
sway_start = 0.3791
swell = (0.2831, 0.0673, -0.1398)
swell_waves = (16.06, 17.21, 1.638)
swell_start = (0.2231, 0.08812, 0.4532)
flat_2 = hsv(249.5, 0.97, 0.47)
flat_3 = hsv(120.3, 0.21, 0.94)
flat_4 = hsv(159.5, 0.45, 0.87)
flat_gaps = (0.4711, 0.5315, 0.685)
upright_2 = hsv(228.4, 0.75, 1)
upright_3 = hsv(223.4, 0.59, 1)
upright_4 = hsv(357.7, 0.75, 1)
upright_gaps = (0.7178, 0.3008, 0.6523)
}
variant member_4 {
twist = -21.25
twist_waves = 1.631
twist_start = -0.9434
rise = 18.76
rise_waves = 3.341
rise_start = 0.02778
sway = 8.318
sway_waves = 3.263
sway_start = -0.07877
swell = (-0.2262, 0.0357, 0.3958)
swell_waves = (17.87, 17.76, 13.32)
swell_start = (0.7625, -0.1508, 0.7646)
flat_1 = hsv(166.3, 0.97, 0.8)
flat_2 = hsv(30.4, 0.84, 0.43)
flat_3 = hsv(80.8, 0.84, 0.43)
flat_4 = hsv(9.8, 0.07, 0.86)
flat_gaps = (0.8052, 0.3671, 0.4974)
upright_1 = hsv(138.6, 0.91, 1)
upright_2 = hsv(227.3, 0.54, 1)
upright_3 = hsv(291.8, 0.79, 1)
upright_4 = hsv(250.4, 0.66, 1)
upright_gaps = (0.3208, 0.3313, 0.7113)
}
variant member_5 {
twist = 22.5
twist_waves = 1.631
twist_start = 0.822
rise = -44
rise_waves = 1.43
rise_start = 0.2559
sway = -14
sway_waves = 1.329
sway_start = 0.5122
swell = (0.2999, 0.1816, 0.3011)
swell_waves = (14.21, 3.647, 7.402)
swell_start = (-0.9036, 0.535, 0.7646)
flat_1 = hsv(276.2, 0.81, 0.96)
flat_2 = hsv(247.6, 0.72, 0.66)
flat_3 = hsv(353, 0.85, 0.99)
flat_4 = hsv(87.7, 0.28, 0.91)
flat_gaps = (0.3527, 0.6461, 0.5309)
upright_1 = hsv(12.7, 0.98, 1)
upright_2 = hsv(282.3, 0.7, 1)
upright_3 = hsv(291.8, 0.79, 1)
upright_4 = hsv(87.7, 0.41, 1)
upright_gaps = (0.8277, 0.3664, 0.8541)
}
variant member_6 {
twist = 5.73
twist_waves = 1
twist_start = 0
rise = 5.73
rise_waves = 0.9209
rise_start = 0.2053
sway = 5.73
sway_waves = 1
sway_start = 0
swell = (0.1, -0.05093, 0.1)
swell_waves = (1, 1, 1)
swell_start = (0.02175, 0, 0.2227)
flat_1 = hsv(226.2, 0.4, 0.07)
flat_2 = hsv(356.5, 0.79, 0.29)
flat_3 = hsv(359.9, 1, 1)
flat_4 = hsv(199.7, 0.67, 0.43)
flat_gaps = (0.9534, 0.25, 0.25)
upright_1 = hsv(36.6, 0.68, 1)
upright_2 = hsv(176.4, 1, 1)
upright_3 = hsv(63.5, 0.91, 1)
upright_4 = hsv(316.9, 0.71, 1)
upright_gaps = (0.25, 0.5906, 0.6515)
}
variant member_7 {
twist = 18.63
twist_waves = 1
twist_start = -0.522
rise = 5.73
rise_waves = 1
rise_start = 0.4323
sway = 5.73
sway_waves = 1.419
sway_start = -0.5552
swell = (-0.2346, 0.1, -0.3505)
swell_waves = (11.77, 0.6157, 3.04)
swell_start = (-0.05229, -0.7118, 0.8688)
flat_1 = hsv(344.5, 0.8, 0.17)
flat_2 = hsv(285.2, 0.62, 0.27)
flat_3 = hsv(68.8, 0.92, 0.74)
flat_4 = hsv(359.9, 1, 1)
flat_gaps = (0.982, 0.3743, 0.8162)
upright_1 = hsv(256.8, 0.83, 1)
upright_2 = hsv(233.6, 0.67, 1)
upright_3 = hsv(185.2, 0.84, 1)
upright_4 = hsv(261.3, 0.78, 1)
upright_gaps = (0.9329, 0.25, 0.456)
}
variant member_8 {
twist = 16.42
twist_waves = 1
twist_start = 0
rise = -6.365
rise_waves = 1
rise_start = -0.5806
sway = 5.73
sway_waves = 1
sway_start = -0.2325
swell = (-0.04512, -0.07427, 0.2569)
swell_waves = (10.77, 6.434, 1)
swell_start = (0.8062, 0.005035, -0.06574)
flat_1 = hsv(57.6, 0.64, 0.99)
flat_2 = hsv(320.6, 0.43, 0.59)
flat_3 = hsv(270.7, 0.7, 0.26)
flat_4 = hsv(231.1, 0.21, 0.13)
flat_gaps = (0.6366, 0.5522, 0.25)
upright_1 = hsv(182, 0.81, 1)
upright_2 = hsv(141.2, 0.84, 1)
upright_3 = hsv(185.2, 0.84, 1)
upright_4 = hsv(299.1, 0.98, 1)
upright_gaps = (0.9329, 0.25, 0.6523)
}
variant member_9 {
twist = 45.48
twist_waves = 0.9779
twist_start = 0.5734
rise = -14.1
rise_waves = 2.484
rise_start = 0.9662
sway = 8.318
sway_waves = 2.129
sway_start = 0.3794
swell = (-0.3417, 0.0811, -0.05453)
swell_waves = (9.34, 0.8021, 0.2679)
swell_start = (-0.5902, 0.01239, 0.1435)
flat_1 = hsv(287.2, 0.56, 0.8)
flat_2 = hsv(111.9, 0.14, 0.25)
flat_3 = hsv(97.3, 0.37, 0.78)
flat_4 = hsv(95, 0.99, 0.75)
flat_gaps = (0.5955, 0.6461, 0.8258)
upright_1 = hsv(229.2, 0.85, 1)
upright_2 = hsv(303.5, 0.59, 1)
upright_3 = hsv(60, 0.52, 1)
upright_4 = hsv(199.6, 0.49, 1)
upright_gaps = (0.6195, 0.5376, 0.5804)
}
variant member_10 {
twist = -29.2
twist_waves = 1
twist_start = 0.7652
rise = -17.16
rise_waves = 0.824
rise_start = 0.6399
sway = -25.23
sway_waves = 1.459
sway_start = 0.1232
swell = (0.1044, 0.1, 0.2199)
swell_waves = (15.49, 0.6157, 1)
swell_start = (0.6905, 0, -0.7192)
flat_1 = hsv(344.5, 0.8, 0.17)
flat_2 = hsv(330.1, 0.06, 0.24)
flat_3 = hsv(278.2, 0.87, 0.33)
flat_4 = hsv(359.9, 1, 1)
flat_gaps = (0.25, 0.4782, 0.25)
upright_1 = hsv(150.2, 0.99, 1)
upright_2 = hsv(176.4, 1, 1)
upright_3 = hsv(185.2, 0.84, 1)
upright_4 = hsv(68.3, 0.98, 1)
upright_gaps = (0.25, 0.653, 0.468)
}
variant member_11 {
twist = -3.176
twist_waves = 3.578
twist_start = 0.61
rise = 0.007878
rise_start = -0.01213
sway = -31.67
sway_waves = 1.281
sway_start = 0.99
swell = (0.2831, 0.0673, -0.06135)
swell_waves = (0.8381, 17.21, 1.018)
swell_start = (0.1149, 0.01215, -0.9763)
flat_2 = hsv(233.9, 0.53, 0.97)
flat_3 = hsv(120.3, 0.21, 0.94)
flat_4 = hsv(132.5, 0.21, 0.29)
flat_gaps = (0.4711, 0.7836, 0.2573)
upright_1 = hsv(307.5, 0.79, 1)
upright_2 = hsv(275.9, 0.88, 1)
upright_3 = hsv(17.7, 0.8, 1)
upright_4 = hsv(137.7, 0.98, 1)
upright_gaps = (0.5544, 0.5734, 0.9883)
}
variant member_12 {
twist = -29.25
twist_waves = 1.631
twist_start = -0.4702
rise = 6.452
rise_waves = 1.436
rise_start = -0.3237
sway = 8.318
sway_waves = 3.438
sway_start = -0.3798
swell = (-0.3305, 0.0357, -0.2379)
swell_waves = (1.261, 17.76, 4.237)
swell_start = (0.9146, -0.144, 0.7646)
flat_1 = hsv(325.5, 0.45, 0.42)
flat_2 = hsv(151.4, 0.69, 0.7)
flat_3 = hsv(220.5, 0.07, 0.91)
flat_4 = hsv(9.8, 0.07, 0.86)
flat_gaps = (0.8041, 0.3671, 0.3841)
upright_1 = hsv(160.5, 0.66, 1)
upright_2 = hsv(65.2, 0.74, 1)
upright_3 = hsv(291.8, 0.79, 1)
upright_4 = hsv(28.3, 0.48, 1)
upright_gaps = (0.6036, 0.4493, 0.7119)
}