GenoCode Getting startedThe languageCreatures Open the app

Creatures › Star

Star: Five arms of interlocking rings, like chains, bending and swelling as they reach out. Inspired by Star, a DancerDNA creature.

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

Open in GenoCodeDownload Star.genie

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.

Star, member 2
member 2
Star, member 3
member 3
Star, member 4
member 4
Star, member 5
member 5
Star, member 6
member 6
Star, member 7
member 7
Star, member 8
member 8
Star, member 9
member 9
Star, member 10
member 10
Star, member 11
member 11
Star, member 12
member 12

Genes

The values that change when Star mutates, breeds and morphs.

GeneWhat it doesRangeValue
twisthow far the arms twist-45.84 to 45.84-29.76
twist_waveshow many half-waves the twist makes along an arm0.5 to 41.731
twist_startwhere along the arm the twist starts-1 to 10.2835
risehow far the arms bend up and down-45.84 to 45.84-22.87
rise_waves0.5 to 43.569
rise_start-1 to 10.7635
swayhow far the arms bend from side to side-45.84 to 45.84-7.982
sway_waves0.5 to 42.758
sway_start-1 to 10.7958
swellhow 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_waveshow 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_1any huehsv(334, 0.93, 0.02, 1)
flat_2any huehsv(145.2, 0.47, 0.01, 1)
flat_3any huehsv(96, 0.99, 0.77, 1)
flat_4any huehsv(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_1any huehsv(198, 0.7, 1, 1)
upright_2any huehsv(56.7, 0.88, 1, 1)
upright_3any huehsv(114.2, 0.9, 1, 1)
upright_4any huehsv(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)
}

← RibbonsAll creaturesStarfish →