Creatures › Phoenix
Phoenix
Two wings of long, glowing feathers, fanned out side by side, each feather a little longer or shorter than the last. Inspired by Phoenix, a DancerDNA creature.
13 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 Phoenix mutates, breeds and morphs.
| Gene | What it does | Range | Value |
|---|---|---|---|
feather | how long the feathers are | 3 to 30 | 26 |
fan | how far each feather turns sideways from the last | -17.2 to 17.2 | 15.99 |
lift | how far each feather tips up or down from the last | -17.2 to 17.2 | 0 |
twist | how far each feather rolls from the last | -17.2 to 17.2 | 5.73 |
spacing | how far apart the feathers' roots are | -0.1 to 0.1 | 0.04056 |
ripples | how many times the feathers swell and shrink along a wing | 0 to 4 | 0.2214 |
ripple | how much longer or shorter each feather is than the last | -0.2 to 0.2 | -0.164 |
start | where along the wing the swelling starts | -1 to 1 | -0.2569 |
plumage_1 | any hue | hsv(242.1, 0.97, 0.71, 1) | |
plumage_2 | any hue | hsv(3.3, 0.92, 1, 1) | |
plumage_3 | any hue | hsv(345.5, 0.62, 0.14, 1) | |
plumage_4 | any hue | hsv(200.2, 0.4, 1, 1) | |
plumage_gaps | (0.25, 0.25, 0.25) to (1, 1, 1) | (0.6051, 0.8738, 0.5588) |
The code
creature Phoenix
// Two wings of long, glowing feathers, fanned out side by side, each feather a little longer or
// shorter than the last.
// Inspired by Phoenix, a DancerDNA creature.
gene feather = 26 in 3..30 // how long the feathers are
gene fan = 15.99 in -17.2..17.2 // how far each feather turns sideways from the last
gene lift = 0 in -17.2..17.2 // how far each feather tips up or down from the last
gene twist = 5.73 in -17.2..17.2 // how far each feather rolls from the last
gene spacing = 0.04056 in -0.1..0.1 // how far apart the feathers' roots are
gene ripples = 0.2214 in 0..4 // how many times the feathers swell and shrink along a wing
gene ripple = -0.164 in -0.2..0.2 // how much longer or shorter each feather is than the last
gene start = -0.2569 in -1..1 // where along the wing the swelling starts
// The plumage, from the first feather to the last, and the gaps between its colours.
gene plumage_1 = hsv(242.1, 0.97, 0.71) in hsv(0, 0, 0)..hsv(360, 1, 1)
gene plumage_2 = hsv(3.3, 0.92, 1) in hsv(0, 0.4, 1)..hsv(360, 1, 1)
gene plumage_3 = hsv(345.5, 0.62, 0.14) in hsv(0, 0, 0)..hsv(360, 1, 1)
gene plumage_4 = hsv(200.2, 0.4, 1) in hsv(0, 0.4, 1)..hsv(360, 1, 1)
gene plumage_gaps = (0.6051, 0.8738, 0.5588) in (0.25, 0.25, 0.25)..(1, 1, 1)
let plumage = spectrum(plumage_1, plumage_2 at plumage_gaps.x, plumage_3 at plumage_gaps.x + plumage_gaps.y, plumage_4 at plumage_gaps.x + plumage_gaps.y + plumage_gaps.z)
symmetric x {
wing
}
part wing {
shape ball
grow (1, 1, feather)
repeat 20 as i {
let along = i / 19
colour plumage(along)
lay
yaw fan
pitch lift
roll twist
forward spacing
grow (1, 1, 1 + ripple * sin(180 * ripples * (along + start)))
}
}
variant member_2 {
feather = 28.88
fan = -7.557
lift = 4.757
twist = -8.568
ripples = 3.361
ripple = -0.1797
start = 0.8159
plumage_1 = hsv(55.6, 0.13, 0.98)
plumage_3 = hsv(103.6, 0.85, 0.75)
plumage_4 = hsv(160.2, 0.65, 1)
plumage_gaps = (0.9938, 0.3066, 0.2919)
}
variant member_3 {
feather = 7.989
fan = 5.41
lift = 12.1
twist = -6.084
spacing = -0.09039
ripples = 1.65
ripple = 0.1297
plumage_1 = hsv(106.1, 0.74, 0.87)
plumage_3 = hsv(258, 0.63, 0.9)
plumage_4 = hsv(266.8, 0.59, 1)
plumage_gaps = (0.3253, 0.7106, 0.8568)
}
variant member_4 {
feather = 15.73
fan = -1.47
lift = 15.13
twist = 14.83
spacing = 0.0121
ripples = 0.6776
ripple = 0.1297
start = -0.3665
plumage_1 = hsv(210.6, 0.59, 0.26)
plumage_2 = hsv(37.7, 0.71, 1)
plumage_3 = hsv(250.2, 0.8, 0.33)
plumage_4 = hsv(65.7, 0.82, 1)
plumage_gaps = (0.3253, 0.6103, 0.9376)
}
variant member_5 {
feather = 8.795
fan = -9.496
lift = -16.57
twist = -5.973
spacing = 0.08681
ripples = 1.253
ripple = 0.1297
start = -0.2783
plumage_1 = hsv(36.8, 0.03, 0.69)
plumage_2 = hsv(38.9, 0.82, 1)
plumage_3 = hsv(192.8, 0.49, 0.84)
plumage_4 = hsv(42.2, 0.81, 1)
plumage_gaps = (0.8796, 0.6619, 0.9376)
}
variant member_6 {
feather = 9.147
fan = -13.68
lift = 12.1
twist = -14.49
spacing = -0.008415
ripples = 1.253
ripple = 0.06042
start = 0.07792
plumage_1 = hsv(228, 0.22, 0.81)
plumage_2 = hsv(14.7, 0.56, 1)
plumage_3 = hsv(202.1, 0.66, 0.69)
plumage_4 = hsv(255.6, 0.89, 1)
plumage_gaps = (0.7583, 0.51, 0.9617)
}
variant member_7 {
feather = 21.57
fan = 2.109
lift = -15.03
twist = 11.66
spacing = 0.01675
ripples = 0.7774
ripple = 0.1611
start = -0.6918
plumage_1 = hsv(257.5, 0.93, 0.45)
plumage_2 = hsv(18.4, 0.8, 1)
plumage_3 = hsv(120.1, 0.59, 0.77)
plumage_4 = hsv(260.5, 0.96, 1)
plumage_gaps = (0.6677, 0.6322, 0.4376)
}
variant member_8 {
feather = 23.65
fan = 2.109
lift = 5.419
twist = 9.563
spacing = 0.01675
ripples = 3.195
ripple = -0.1969
start = 0.396
plumage_1 = hsv(257.5, 0.93, 0.45)
plumage_2 = hsv(258.5, 0.73, 1)
plumage_3 = hsv(120.1, 0.59, 0.77)
plumage_4 = hsv(108, 0.93, 1)
plumage_gaps = (0.6677, 0.7972, 0.6812)
}
variant member_9 {
feather = 24.86
fan = 9.205
lift = -15.44
twist = -14.53
spacing = -0.03083
ripples = 2.107
ripple = -0.1252
start = -0.1699
plumage_1 = hsv(339.8, 0.84, 0.79)
plumage_2 = hsv(193.6, 0.86, 1)
plumage_3 = hsv(129.1, 0.23, 0.44)
plumage_4 = hsv(215.3, 0.59, 1)
plumage_gaps = (0.7689, 0.6206, 0.3339)
}
variant member_10 {
feather = 20.57
fan = -5.137
lift = 5.097
twist = 11.66
spacing = -0.03083
ripples = 2.645
ripple = 0.08711
start = 0.8796
plumage_1 = hsv(50.3, 0.88, 0.67)
plumage_2 = hsv(252, 0.65, 1)
plumage_3 = hsv(20.9, 1, 0.55)
plumage_4 = hsv(215.3, 0.59, 1)
plumage_gaps = (0.5125, 0.416, 0.2871)
}
variant member_11 {
feather = 11.33
fan = -7.946
lift = -8.807
twist = 10.75
spacing = -0.05251
ripples = 0.9833
ripple = -0.1716
start = -0.14
plumage_1 = hsv(286.9, 0.51, 0.21)
plumage_2 = hsv(71.3, 0.45, 1)
plumage_3 = hsv(197.6, 0.58, 0.5)
plumage_4 = hsv(173.3, 0.92, 1)
plumage_gaps = (0.3008, 0.3004, 0.4292)
}
variant member_12 {
feather = 14.57
fan = 10.99
lift = 4.156
twist = -6.111
spacing = 0.03176
ripples = 2.24
ripple = -0.01125
start = -0.3286
plumage_1 = hsv(105.3, 0.91, 0.3)
plumage_2 = hsv(359.1, 0.72, 1)
plumage_3 = hsv(91.5, 0.03, 0.83)
plumage_4 = hsv(26.3, 0.64, 1)
plumage_gaps = (0.8332, 0.7627, 0.845)
}
variant member_13 {
feather = 9.462
fan = 15.57
lift = 14.01
twist = 7.63
spacing = 0.03084
ripples = 1.88
ripple = 0.07719
start = 0.4533
plumage_1 = hsv(40.7, 0.41, 0.65)
plumage_2 = hsv(12.5, 0.53, 1)
plumage_3 = hsv(250.6, 0.4, 0.89)
plumage_4 = hsv(26.3, 0.64, 1)
plumage_gaps = (0.3701, 0.5865, 0.667)
}
variant member_14 {
feather = 10.56
fan = -5.36
lift = -13.76
twist = -7.08
spacing = -0.03967
ripples = 0.1712
ripple = -0.09676
start = 0.679
plumage_1 = hsv(98.6, 0.61, 0.7)
plumage_2 = hsv(333.5, 0.82, 1)
plumage_3 = hsv(45.1, 0.77, 0.89)
plumage_4 = hsv(318.2, 0.92, 1)
plumage_gaps = (0.3749, 0.6712, 0.2604)
}
variant member_15 {
feather = 9.933
fan = 11.81
lift = -7.277
twist = -12.77
spacing = 0
ripples = 2.619
ripple = 0.01537
start = -0.1225
plumage_1 = hsv(285.3, 0.69, 0.82)
plumage_2 = hsv(46.4, 0.98, 1)
plumage_3 = hsv(188.9, 0.27, 0.94)
plumage_4 = hsv(199.5, 0.87, 1)
plumage_gaps = (0.341, 0.7679, 0.7582)
}
variant member_16 {
feather = 15.49
fan = -2.952
lift = 13
twist = -7.963
spacing = 0.07453
ripples = 3.309
ripple = -0.1608
start = 0.8765
plumage_1 = hsv(89.4, 0.35, 0.63)
plumage_2 = hsv(27.3, 0.97, 1)
plumage_3 = hsv(269.7, 0.17, 0.1)
plumage_4 = hsv(94, 0.92, 1)
plumage_gaps = (0.4934, 0.9992, 0.4544)
}
variant member_17 {
feather = 13.24
fan = 4.395
lift = -11.27
twist = 5.427
spacing = -0.05476
ripples = 2.386
ripple = 0.1466
start = -0.1529
plumage_1 = hsv(290.3, 0.34, 0.07)
plumage_2 = hsv(91.7, 0.87, 1)
plumage_3 = hsv(13.9, 0.81, 0.95)
plumage_4 = hsv(12.2, 0.75, 1)
plumage_gaps = (0.3366, 0.3599, 0.3723)
}