GenoCode Getting startedThe languageCreatures Open the app

Creatures › Transformer

Transformer: Tubes, cubes, cones, balls and rings, scattered in waves and copied into all eight corners of space, each copy a slightly stretched mirror image of the next. Inspired by Transformer, a DancerDNA creature.

Transformer

Tubes, cubes, cones, balls and rings, scattered in waves and copied into all eight corners of space, each copy a slightly stretched mirror image of the next. Inspired by Transformer, a DancerDNA creature.

16 genes · 12 variants

Open in GenoCodeDownload Transformer.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.

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

Genes

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

GeneWhat it doesRangeValue
mirror_xhow the left half is made from the right: -1 is an exact mirror image(-1.1, 0.9, 0.9) to (-0.9, 1.1, 1.1)(-0.9654, 1.076, 1.073)
mirror_ythe lower quarter from the upper(0.9, -1.1, 0.9) to (1.1, -0.9, 1.1)(1.058, -1.061, 1.011)
mirror_zthe back eighth from the front(0.9, 0.9, -1.1) to (1.1, 1.1, -0.9)(1.006, 0.9291, -1.085)
reachhow far the shapes wander: across, up and forward(3, 3, 3) to (20, 20, 20)(4.991, 11.64, 19.04)
reach_waveshow many waves they wander in, from the first shape to the last(0, 0, 0) to (0.7958, 0.7958, 0.7958)(0.5784, 0.7485, 0.4928)
reach_startwhere the waves start(0, 0, 0) to (1, 1, 1)(0.5995, 0.3055, 0.9678)
sizehow big the shapes grow(1, 1, 1) to (8, 8, 8)(1.855, 4.302, 7.492)
size_waves(0, 0, 0) to (0.7958, 0.7958, 0.7958)(0.556, 0.4642, 0.7644)
size_start(0, 0, 0) to (1, 1, 1)(0.8292, 0.1354, 0.7251)
turnhow far the shapes turn: up, sideways and round(-343.8, -343.8, -343.8) to (343.8, 343.8, 343.8)(315.7, -137.7, 163.3)
turn_waves(0, 0, 0) to (0.7958, 0.7958, 0.7958)(0.5032, 0.4259, 0.1233)
turn_start(0, 0, 0) to (1, 1, 1)(0.145, 0.6595, 0.1057)
glosshow strong the highlights are0 to 10.4599
focushow tight the highlights are0 to 10.1187
centrethe colour of shapes near the middlehues 0° + 252°hsv(238.9, 1, 1, 1)
edgethe colour of the farthest shapeshues 0° + 252°hsv(56.6, 0.64, 0.3, 1)

The code

creature Transformer
// Tubes, cubes, cones, balls and rings, scattered in waves and copied into all eight corners of
// space, each copy a slightly stretched mirror image of the next.
// Inspired by Transformer, a DancerDNA creature.

gene mirror_x = (-0.9654, 1.076, 1.073) in (-1.1, 0.9, 0.9)..(-0.9, 1.1, 1.1)  // how the left half is made from the right: -1 is an exact mirror image
gene mirror_y = (1.058, -1.061, 1.011) in (0.9, -1.1, 0.9)..(1.1, -0.9, 1.1)   // the lower quarter from the upper
gene mirror_z = (1.006, 0.9291, -1.085) in (0.9, 0.9, -1.1)..(1.1, 1.1, -0.9)  // the back eighth from the front

gene reach       = (4.991, 11.64, 19.04) in (3, 3, 3)..(20, 20, 20)                           // how far the shapes wander: across, up and forward
gene reach_waves = (0.5784, 0.7485, 0.4928) in (0, 0, 0)..(0.7958, 0.7958, 0.7958)            // how many waves they wander in, from the first shape to the last
gene reach_start = (0.5995, 0.3055, 0.9678) in (0, 0, 0)..(1, 1, 1)                           // where the waves start
gene size        = (1.855, 4.302, 7.492) in (1, 1, 1)..(8, 8, 8)                              // how big the shapes grow
gene size_waves  = (0.556, 0.4642, 0.7644) in (0, 0, 0)..(0.7958, 0.7958, 0.7958)
gene size_start  = (0.8292, 0.1354, 0.7251) in (0, 0, 0)..(1, 1, 1)
gene turn        = (315.7, -137.7, 163.3) in (-343.8, -343.8, -343.8)..(343.8, 343.8, 343.8)  // how far the shapes turn: up, sideways and round
gene turn_waves  = (0.5032, 0.4259, 0.1233) in (0, 0, 0)..(0.7958, 0.7958, 0.7958)
gene turn_start  = (0.145, 0.6595, 0.1057) in (0, 0, 0)..(1, 1, 1)

gene gloss  = 0.4599 in 0..1                                          // how strong the highlights are
gene focus  = 0.1187 in 0..1                                          // how tight the highlights are
gene centre = hsv(238.9, 1, 1) in hsv(0, 1, 1)..hsv(252, 1, 1)        // the colour of shapes near the middle
gene edge   = hsv(56.6, 0.64, 0.3) in hsv(0, 0, 0)..hsv(252, 1, 0.5)  // the colour of the farthest shapes

let skin = spectrum(centre, edge)

halves

part halves {
  branch {
    quarters
    grow mirror_x
    quarters
  }
}

part quarters {
  branch {
    eighths
    grow mirror_y
    eighths
  }
}

part eighths {
  branch {
    shapes
    grow mirror_z
    shapes
  }
}

part shapes {
  shine gloss
  sharpness focus
  let farthest = length(reach)
  repeat 10 as k {
    branch {
      let along = k / 9
      shape k % 5
      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 skin(length(place) / farthest)
      lay
    }
  }
}

variant member_2 {
  mirror_x    = (-1.06, 0.9671, 1.084)
  mirror_y    = (1.1, -0.9745, 0.9777)
  mirror_z    = (1.013, 0.913, -0.9129)
  reach       = (4.025, 15.83, 18.68)
  reach_waves = (0.7818, 0.2807, 0.4275)
  reach_start = (0.07705, 0.3785, 0.9331)
  size        = (6.876, 1.011, 1.365)
  size_waves  = (0.6611, 0.2257, 0.1127)
  size_start  = (0.1241, 0.3186, 0.1496)
  turn        = (324.9, -149.6, 184.7)
  turn_waves  = (0.1668, 0.05536, 0.5407)
  turn_start  = (0.01349, 0.4675, 0.5868)
  gloss       = 0.5637
  focus       = 0.1768
  centre      = hsv(10, 1, 1)
  edge        = hsv(109.8, 0.37, 0.02)
}

variant member_3 {
  mirror_x    = (-0.9373, 1.044, 1.008)
  mirror_y    = (0.9419, -0.984, 0.9964)
  mirror_z    = (1.013, 0.913, -0.9129)
  reach       = (18.37, 10.93, 16.83)
  reach_waves = (0.7818, 0.4295, 0.6803)
  reach_start = (0.2068, 0.2129, 0.9331)
  size        = (5.746, 1.011, 6.167)
  size_waves  = (0.3424, 0.5866, 0.7126)
  size_start  = (0.5269, 0.2152, 0.1496)
  turn        = (-146.9, -341.2, 324.1)
  turn_waves  = (0.1895, 0.5734, 0.2598)
  turn_start  = (0.6295, 0.4012, 0.2795)
  gloss       = 0.3502
  focus       = 0.1155
  centre      = hsv(196, 1, 1)
  edge        = hsv(47, 0.85, 0.41)
}

variant member_4 {
  mirror_x    = (-1.047, 1.029, 0.9231)
  mirror_y    = (1.048, -0.9481, 0.9494)
  mirror_z    = (1.025, 1.016, -1.007)
  reach       = (16.43, 8.257, 9.228)
  reach_waves = (0.7818, 0.4313, 0.7088)
  reach_start = (0.1874, 0.6913, 0.4858)
  size        = (6.313, 1.011, 7.477)
  size_waves  = (0.6172, 0.5657, 0.6571)
  size_start  = (0.7918, 0.9021, 0.7712)
  turn        = (124.4, 269.5, -182.8)
  turn_waves  = (0.7268, 0.08601, 0.4895)
  turn_start  = (0.9133, 0.8689, 0.893)
  gloss       = 0.08317
  focus       = 0.2864
  centre      = hsv(106.7, 1, 1)
  edge        = hsv(143.6, 0.69, 0.02)
}

variant member_5 {
  mirror_x    = (-0.9291, 1.017, 1.038)
  mirror_y    = (1.063, -0.9561, 0.9594)
  mirror_z    = (1.002, 1.069, -0.9437)
  reach       = (10.5, 18.96, 10.28)
  reach_waves = (0.7173, 0.7297, 0.2097)
  reach_start = (0.8442, 0.08285, 0.9803)
  size        = (2.708, 3.845, 1.151)
  size_waves  = (0.2968, 0.619, 0.7384)
  size_start  = (0.9469, 0.2041, 0.6565)
  turn        = (-339, -94.13, -4.362)
  turn_waves  = (0.7268, 0.743, 0.2628)
  turn_start  = (0.1985, 0.7353, 0.07249)
  gloss       = 0.274
  focus       = 0.1092
  centre      = hsv(68.3, 1, 1)
  edge        = hsv(207.9, 0.41, 0.12)
}

variant member_6 {
  mirror_x    = (-1.052, 1.004, 0.9425)
  mirror_y    = (1.026, -1.038, 1.004)
  mirror_z    = (1.083, 0.9781, -0.9648)
  reach       = (16.64, 19.89, 10.28)
  reach_waves = (0.3952, 0.1807, 0.06855)
  reach_start = (0.06055, 0.04899, 0.5075)
  size        = (4.08, 3.845, 3.357)
  size_waves  = (0.3831, 0.619, 0.5222)
  size_start  = (0.8008, 0.6039, 0.7527)
  turn        = (-219.9, -183.6, -4.362)
  turn_waves  = (0.7268, 0.08093, 0.04366)
  turn_start  = (0.4766, 0.8133, 0.07249)
  gloss       = 0.8038
  focus       = 0.1373
  centre      = hsv(29.8, 1, 1)
  edge        = hsv(143.6, 0.69, 0.02)
}

variant member_7 {
  mirror_x    = (-0.9246, 1.011, 0.9714)
  mirror_y    = (1.026, -1.038, 1.004)
  mirror_z    = (1.037, 1.098, -0.9385)
  reach       = (16.64, 15.34, 18.77)
  reach_waves = (0.09293, 0.6435, 0.3298)
  reach_start = (0.6673, 0.2066, 0.9903)
  size        = (2.192, 4.867, 7.477)
  size_waves  = (0.3109, 0.1811, 0.1919)
  size_start  = (0.9634, 0.9415, 0.7527)
  turn        = (-316.8, 269.5, 296.3)
  turn_waves  = (0.0966, 0.1139, 0.07768)
  turn_start  = (0.9666, 0.6862, 0.07249)
  gloss       = 0.999
  focus       = 0.1555
  centre      = hsv(110, 1, 1)
  edge        = hsv(143.6, 0.69, 0.02)
}

variant member_8 {
  mirror_x    = (-0.9095, 1.011, 1.094)
  mirror_y    = (1.026, -1.038, 1.004)
  mirror_z    = (1.002, 1.069, -0.9437)
  reach       = (16.3, 19.89, 10.28)
  reach_waves = (0.3952, 0.3343, 0.7537)
  reach_start = (0.6314, 0.8465, 0.679)
  size        = (2.972, 3.845, 7.477)
  size_waves  = (0.2281, 0.619, 0.4828)
  size_start  = (0.679, 0.05621, 0.7527)
  turn        = (-41.39, 269.5, -4.362)
  turn_waves  = (0.7268, 0.06998, 0.7638)
  turn_start  = (0.9666, 0.377, 0.07249)
  gloss       = 0.7963
  focus       = 0.144
  centre      = hsv(214.9, 1, 1)
  edge        = hsv(225.8, 0.41, 0.2)
}

variant member_9 {
  mirror_x    = (-0.9413, 1.08, 1.075)
  mirror_y    = (0.9097, -1.054, 1.019)
  mirror_z    = (0.9761, 0.9896, -0.9724)
  reach       = (19.85, 14.98, 19.95)
  reach_waves = (0.1938, 0.3314, 0.7036)
  reach_start = (0.8911, 0.9183, 0.1837)
  size        = (5.03, 6.723, 2.976)
  size_waves  = (0.5795, 0.7332, 0.6247)
  size_start  = (0.7882, 0.3163, 0.8494)
  turn        = (-338.4, 113.6, 86.89)
  turn_waves  = (0.2204, 0.06403, 0.313)
  turn_start  = (0.2123, 0.4689, 0.1855)
  gloss       = 0.5721
  focus       = 0.834
  centre      = hsv(11.4, 1, 1)
  edge        = hsv(8.9, 0.31, 0.32)
}

variant member_10 {
  mirror_x    = (-1.062, 1.001, 0.9411)
  reach       = (14.98, 14.31, 5.856)
  reach_waves = (0.1102, 0.1865, 0.5766)
  reach_start = (0.9617, 0.2026, 0.5352)
  size        = (5.08, 1.543, 3.873)
  size_waves  = (0.4502, 0.6127, 0.4629)
  size_start  = (0.618, 0.3652, 0.808)
  turn        = (-173.1, -137.7, 145.2)
  turn_waves  = (0.7171, 0.3895, 0.6106)
  turn_start  = (0.4704, 0.4458, 0.9969)
  gloss       = 0.8652
  focus       = 0.7228
  centre      = hsv(47.4, 1, 1)
  edge        = hsv(189.6, 0.41, 0.02)
}

variant member_11 {
  mirror_x    = (-0.9413, 1.08, 1.075)
  mirror_y    = (1.061, -1.024, 0.9389)
  mirror_z    = (0.9362, 0.9342, -1.039)
  reach       = (19.85, 3.001, 18.66)
  reach_waves = (0.1904, 0.4032, 0.3616)
  reach_start = (0.9916, 0.07116, 0.03809)
  size        = (2.844, 2.675, 2.745)
  size_waves  = (0.2702, 0.1133, 0.2891)
  size_start  = (0.07638, 0.1702, 0.5224)
  turn        = (-338.4, -130.5, 86.89)
  turn_waves  = (0.2679, 0.2536, 0.06887)
  turn_start  = (0.909, 0.07045, 0.1855)
  gloss       = 0.02105
  focus       = 0.7658
  centre      = hsv(116.2, 1, 1)
  edge        = hsv(42.7, 0.15, 0.25)
}

variant member_12 {
  mirror_x    = (-1.084, 0.9818, 0.9569)
  mirror_y    = (1.037, -1.025, 0.9851)
  mirror_z    = (0.9334, 0.9378, -0.9445)
  reach       = (17.88, 18.2, 12.18)
  reach_waves = (0.06961, 0.3664, 0.7608)
  reach_start = (0.4042, 0.4254, 0.5262)
  size        = (7.368, 2.488, 6.649)
  size_waves  = (0.311, 0.6345, 0.2357)
  size_start  = (0.2111, 0.7011, 0.8735)
  turn        = (-111.3, -176, 86.89)
  turn_waves  = (0.1928, 0.7837, 0.3386)
  turn_start  = (0.4741, 0.5516, 0.5962)
  gloss       = 0.8493
  focus       = 0.569
  centre      = hsv(2, 1, 1)
  edge        = hsv(188.3, 0.31, 0.12)
}

variant member_13 {
  mirror_x    = (-0.9291, 1.017, 1.038)
  mirror_y    = (0.9082, -1.003, 1.004)
  mirror_z    = (1.027, 1.089, -1.037)
  reach       = (13.95, 8.257, 14.34)
  reach_waves = (0.7818, 0.5895, 0.6817)
  reach_start = (0.2068, 0.304, 0.279)
  size        = (4.494, 1.011, 7.72)
  size_waves  = (0.09837, 0.7605, 0.1247)
  size_start  = (0.7691, 0.9021, 0.124)
  turn        = (31.18, 27.53, 151.2)
  turn_waves  = (0.09903, 0.02196, 0.4895)
  turn_start  = (0.03072, 0.1364, 0.2159)
  gloss       = 0.298
  focus       = 0.1155
  centre      = hsv(156.8, 1, 1)
  edge        = hsv(76, 0.41, 0.35)
}

← StarfishAll creaturesTree →