## "Solid" LTL Ships

For discussion of other cellular automata.

### "Solid" LTL Ships

Another "Collection" thread of mine . THis thread is for "solid" ships in LTL rules. Solid ships are ships that consists of a static core with "fire" on the edges that cause the static core to move. Most cores are donut shaped.
An example is SlowShip.rle. These can be found by changing the range of SlowShip.rle. I have made a script specialized to do just that:
`#slowshipconvert.py#A script to change the range of slowship rules#DISCLAIMER: Drastic range changes will remove the dynamics.#Thanks to Dean Hickerson's algorithm!#By Saka.from decimal import *import golly as ggetcontext().prec = 8#Input timerangeto = int(g.getstring("Range to convert to?","10"))rangetostr = str(rangeto)#Now for calculations!meaningoflife = Decimal((2*Decimal(rangeto)+1)**2/(2*Decimal(10)+1)**2)newbmin = str(int(round(133*meaningoflife))) #Huh. Decimal to number to integer to stringnewbmax = str(int(round(265*meaningoflife)))newsmin = str(int(round(154*meaningoflife)))newsmax = str(int(round(262*meaningoflife)))newrule = "R"+rangetostr+",C0,M1,"+"S"+newsmin+".."+newsmax+","+"B"+newbmin+".."+newbmax+",NM"g.setrule(newrule)`

I have found one in range 17:
`# C/798 diagonal shipx = 42, y = 43, rule = R17,C0,M1,S428..728,B369..736,NM20b4o\$18b8o\$24b3o\$21b4o2bo\$18b10o\$17b9ob2o\$16b11o2bo\$15b13o2bo\$14b15o\$13b16o\$12b18o\$7bo3b20o\$6bo3b22o\$5bo3b24o\$4b2ob27o\$2bobob29o\$b18o4b13o\$2ob14o8b12o\$2ob13o9b13o\$2ob13o10b12o3bo\$15o12b12o2bo\$o2b12o12b12o2bo\$o2b12o12b12ob2o\$o2b13o10b13ob2o\$4b12o10b13ob2o\$bo3b12o8b14obo\$6b13o4b18o\$7b29obobo\$8b27ob2o\$9b24o3bo\$10b22o3bo\$11b19o4bo\$12b18o\$13b16o\$13b15o\$11bo2b13o\$12bo2b11o\$13b2ob9o\$14b10o\$14bob6o\$15b2o\$16b8o\$18b4o!`
`x = 17, y = 10, rule = B3/S23b2ob2obo5b2o\$11b4obo\$2bob3o2bo2b3o\$bo3b2o4b2o\$o2bo2bob2o3b4o\$bob2obo5bo2b2o\$2b2o4bobo2b3o\$bo3b5ob2obobo\$2bo5bob2o\$4bob2o2bobobo!`

(Check gen 2)

Saka

Posts: 2354
Joined: June 19th, 2015, 8:50 pm
Location: In the kingdom of Sultan Hamengkubuwono X

### Re: "Solid" LTL Ships

A c/474 diagonal
`# c/474 diagonal ship in an range-17 rulex = 37, y = 36, rule = R17,C0,M1,S428..729,B369..737,NM13b4o\$11b4o\$10b4ob4o5bo\$8b14o3b2o\$8b16o2b2o\$7b23o\$6b25o\$5b27o\$5b28o\$4b30o\$4bob29o\$3bob31o\$2bo2b31o\$4b32o\$4b30ob2o\$4b30ob2o\$3b31o2bo\$3b31o2bo\$3b31o\$o2b31o\$o2b30o\$2ob30o\$b2ob29o\$b31o\$b31obo\$2b31o\$3b30o\$4b28o\$5b27o\$6b25o\$7b3ob19o\$9b2ob17o\$10b2o2b14o\$12bo5b4ob4o\$22b4o\$20b4o!`

Very fast one:
`# c/144 orthogonal ship in an range-22 rulex = 50, y = 50, rule = R22,C0,M1,S707..1203,B611..1217,NM24b6o\$19b14o\$17bo6b11o\$15bo5b16o\$13bo4b20o\$11b2o3b23o\$10b2o2b26o\$9b3ob28o\$7b4ob30o\$6b37o\$5b35ob3o\$5b36ob2o\$4b38ob2o\$3b40ob2o\$2b41o2bo\$2b21o3b18o2bo\$b19o9b15o\$b18o12b14o2bo\$b17o14b13o2bo\$17o16b13o\$16o17b13o2bo\$16o18b13obo\$15o19b13obo\$15o19b13obo\$15o20b15o\$15o20b15o\$o2b12o19b16o\$o2b12o19b16o\$3b13o18b16o\$bob13o17b17o\$bo2b13o16b16o\$4b14o14b17o\$2bo2b14o12b18o\$2bo2b15o9b19o\$3bo2b17o3b22o\$3bo2b41o\$4bo2b40o\$5bo2b38o\$5b2ob37o\$6b38o\$7b32ob3o\$7b31ob3o\$8b29ob3o\$9b26o2b3o\$10b24o2b2o\$11b21o3b2o\$13b16o5bo\$14b12o6bo\$16b15o\$19b8o!`
`x = 17, y = 10, rule = B3/S23b2ob2obo5b2o\$11b4obo\$2bob3o2bo2b3o\$bo3b2o4b2o\$o2bo2bob2o3b4o\$bob2obo5bo2b2o\$2b2o4bobo2b3o\$bo3b5ob2obobo\$2bo5bob2o\$4bob2o2bobobo!`

(Check gen 2)

Saka

Posts: 2354
Joined: June 19th, 2015, 8:50 pm
Location: In the kingdom of Sultan Hamengkubuwono X

### Re: "Solid" LTL Ships

Very nice discoveries, but I really wish you (and muzik) would put all your LtL-related posts in the "Larger than Life" thread.

Andrew
Moderator

Posts: 633
Joined: June 2nd, 2009, 2:08 am
Location: Melbourne, Australia

### Re: "Solid" LTL Ships

Andrew wrote:Very nice discoveries, but I really wish you (and muzik) would put all your LtL-related posts in the "Larger than Life" thread.

`x = 17, y = 10, rule = B3/S23b2ob2obo5b2o\$11b4obo\$2bob3o2bo2b3o\$bo3b2o4b2o\$o2bo2bob2o3b4o\$bob2obo5bo2b2o\$2b2o4bobo2b3o\$bo3b5ob2obobo\$2bo5bob2o\$4bob2o2bobobo!`

(Check gen 2)

Saka

Posts: 2354
Joined: June 19th, 2015, 8:50 pm
Location: In the kingdom of Sultan Hamengkubuwono X

### Re: "Solid" LTL Ships

c/666 diagonal
`# c/666 diagoanl ship in a range-19 rule# Sakax = 43, y = 43, rule = R19,C0,M1,S530..900,B460..920,NM16b9o\$14b9o2b3o\$12b13o3b2o\$10b17o3b2o\$9b20o2b2o\$8b23ob3o\$7b25ob3o\$6b31o\$6b32o\$5b2ob31o\$4b2ob33o\$4bob34o\$3bob36o\$2bo2b13o7b17o\$2bob13o9b16o\$bo2b12o11b15o\$bob12o13b15o\$bob11o15b14o\$ob12o16b13o\$ob11o17b13o\$13o17b13o\$13o17b13o\$13o17b13o\$13o17b11obo\$13o17b11obo\$14o15b11obo\$15o13b12obo\$b15o11b13obo\$b16o9b13obo\$2b16o7b13o2bo\$2b36obo\$3b34ob2o\$4b32ob2o\$4b34o\$5b33o\$6b3ob27o\$7b3ob25o\$9b2ob23o\$10b2o2b20o\$11b2o3b17o\$13b2o3b13o\$15b5ob8o\$18b9o!`

I SCREANED when I ran oscar.lua (Well actually I just gasped a bit but you get the idea)
Not good for our hexakosioihexekontahexaphobic friends...

Can anybody find a ship with range < 10?
`x = 17, y = 10, rule = B3/S23b2ob2obo5b2o\$11b4obo\$2bob3o2bo2b3o\$bo3b2o4b2o\$o2bo2bob2o3b4o\$bob2obo5bo2b2o\$2b2o4bobo2b3o\$bo3b5ob2obobo\$2bo5bob2o\$4bob2o2bobobo!`

(Check gen 2)

Saka

Posts: 2354
Joined: June 19th, 2015, 8:50 pm
Location: In the kingdom of Sultan Hamengkubuwono X

### Re: "Solid" LTL Ships

Oh wow, 2c/666 diagonal...
`x = 34, y = 34, rule = R15,C0,M1,S336..570,B290..577,NM12b8o\$10b8o\$8b12o3bo\$7b16o2bo\$6b18o2bo\$5b24o\$4b26o\$4bob25o\$3bob26o\$2bob28o\$4b28o\$3b10o7b13o\$3b9o9b12o\$2b10o10b11o\$ob9o12b11o\$11o12b11o\$11o12b11o\$11o12b9o\$11o12b9o\$11o11b9o\$12o10b9obo\$13o8b10o\$b13o5b11obo\$b29obo\$2b27obo\$3b25obo\$4b23ob2o\$5b24o\$6b2ob19o\$7b2ob17o\$8b2o2b14o\$10bo4b10o\$12b2o3b6o\$17b3o!`

WHY???

EDIT:
A really cool property of LTL rules is that 2 objects dont even have to touch each other to do cool things. This happens with solid objects because of the "ring of fire" they have:
`x = 156, y = 119, rule = R22,C0,M1,S707..1203,B611..1217,NM24b6o\$19b14o\$17bo6b11o\$15bo5b16o\$13bo4b20o\$11b2o3b23o\$10b2o2b26o\$9b3ob28o\$7b4ob30o\$6b37o\$5b35ob3o\$5b36ob2o\$4b38ob2o\$3b40ob2o\$2b41o2bo\$2b21o3b18o2bo\$b19o9b15o\$b18o12b14o2bo\$b17o14b13o2bo\$17o16b13o\$16o17b13o2bo\$16o18b13obo\$15o19b13obo\$15o19b13obo\$15o20b15o\$15o20b15o\$o2b12o19b16o\$o2b12o19b16o\$3b13o18b16o\$bob13o17b17o\$bo2b13o16b16o\$4b14o14b17o\$2bo2b14o12b18o\$2bo2b15o9b19o\$3bo2b17o3b22o\$3bo2b41o\$4bo2b40o\$5bo2b38o\$5b2ob37o\$6b38o\$7b32ob3o\$7b31ob3o\$8b29ob3o\$9b26o2b3o\$10b24o2b2o\$11b21o3b2o\$13b16o5bo\$14b12o6bo\$16b15o\$19b8o20\$126b6o\$123b14o\$121b11o6bo\$119b16o5bo\$118b20o4bo\$117b23o3b2o\$116b26o2b2o\$115b28ob3o\$114b30ob4o\$113b37o\$112b3ob35o\$112b2ob36o\$111b2ob38o\$110b2ob40o\$110bo2b41o\$109bo2b18o3b21o\$112b15o9b19o\$108bo2b14o12b18o\$108bo2b13o14b17o\$110b13o16b17o\$107bo2b13o17b16o\$107bob13o18b16o\$107bob13o19b15o\$107bob13o19b15o\$106b15o20b15o\$106b15o20b15o\$106b16o19b12o2bo\$106b16o19b12o2bo\$106b16o18b13o\$106b17o17b13obo\$107b16o16b13o2bo\$107b17o14b14o\$107b18o12b14o2bo\$108b19o9b15o2bo\$108b22o3b17o2bo\$109b41o2bo\$109b40o2bo\$110b38o2bo\$111b37ob2o\$112b38o\$113b3ob32o\$114b3ob31o\$115b3ob29o\$116b3o2b26o\$118b2o2b24o\$119b2o3b21o\$121bo5b16o\$123bo6b12o\$125b15o\$129b8o!`
`x = 17, y = 10, rule = B3/S23b2ob2obo5b2o\$11b4obo\$2bob3o2bo2b3o\$bo3b2o4b2o\$o2bo2bob2o3b4o\$bob2obo5bo2b2o\$2b2o4bobo2b3o\$bo3b5ob2obobo\$2bo5bob2o\$4bob2o2bobobo!`

(Check gen 2)

Saka

Posts: 2354
Joined: June 19th, 2015, 8:50 pm
Location: In the kingdom of Sultan Hamengkubuwono X

### Re: "Solid" LTL Ships

c/128d, nice round number and new fastest speed record
`x = 33, y = 33, rule = R16,C0,M1,S382..646,B333..656,NM11bo9bo\$9b2o11b2o\$8b2o2b9o2b2o\$7b2o2b11o2b2o\$6b2ob15ob2o\$5b2ob17ob2o\$4b2ob19ob2o\$3b2ob21ob2o\$2bo2b23ob2o\$2bob25ob2o\$bo2b25o2bo\$o2b27o2bo\$o2b28o\$2b29o\$2b29o\$2b29o\$2b29o\$2b29o\$2b29o\$2b29o\$o2b28o\$bo2b26o2bo\$bo2b25o2bo\$2b2ob24ob2o\$4bob22ob2o\$4b2ob20ob2o\$5b2ob18ob2o\$6b2ob16ob2o\$7b2ob14ob2o\$9bo2b10o3bo\$9bo3b7o3b2o\$10b2o10bo\$12bo7b2o!`
`x = 17, y = 10, rule = B3/S23b2ob2obo5b2o\$11b4obo\$2bob3o2bo2b3o\$bo3b2o4b2o\$o2bo2bob2o3b4o\$bob2obo5bo2b2o\$2b2o4bobo2b3o\$bo3b5ob2obobo\$2bo5bob2o\$4bob2o2bobobo!`

(Check gen 2)

Saka

Posts: 2354
Joined: June 19th, 2015, 8:50 pm
Location: In the kingdom of Sultan Hamengkubuwono X

### Re: "Solid" LTL Ships

I finally found something
c/142d
`x = 29, y = 28, rule = R13,C0,M1,S256..433,B222..440,NM15b5o\$8bo3b10o\$7bo2b13o\$5b2ob16o\$4b2ob18o\$3b22o\$2b22obo\$2b23obo\$b25o\$b11o5b9obo\$b10o7b9o\$10o9b8o\$10o9b10o\$10o9b10o\$ob8o9b10o\$2b8o9b10o\$2b9o7b11o\$bob9o5b11o\$3b25o\$2bob23o\$5b22o\$3bob21o\$4b19obo\$5b17obo\$6b14o2bo\$7b11o\$8b9o2bo\$10b7o!`
`x = 17, y = 10, rule = B3/S23b2ob2obo5b2o\$11b4obo\$2bob3o2bo2b3o\$bo3b2o4b2o\$o2bo2bob2o3b4o\$bob2obo5bo2b2o\$2b2o4bobo2b3o\$bo3b5ob2obobo\$2bo5bob2o\$4bob2o2bobobo!`

(Check gen 2)

Saka

Posts: 2354
Joined: June 19th, 2015, 8:50 pm
Location: In the kingdom of Sultan Hamengkubuwono X

### Re: "Solid" LTL Ships

yay more
2c/468d
`x = 34, y = 35, rule = R15,C0,M1,S336..571,B290..577,NM15b2o\$11b10o\$9b10o\$8b14o2bo\$7b17ob2o\$6b19ob2o\$5b24o\$4b26o\$4bob25o\$3bob27o\$2bob29o\$4b11o5b13o\$bob10o8b13o\$3b9o10b12o\$2b9o12b11o\$ob9o12b11o\$11o13b10o\$10o14b10o\$11o13b8obo\$11o12b9obo\$11o12b9obo\$12o10b10o\$13o8b10obo\$b13o6b11obo\$b29obo\$2b27o2bo\$3b26obo\$4b26o\$5b24o\$6b2ob20o\$7b2ob18o\$9bo2b15o\$10bo3b11o\$12b2o3b7o\$15b6o!`

Weehoo a 2c/1122o
`x = 77, y = 77, rule = R32,C0,M1,S1475..2510,B1274..2539,NM38b5o\$35b11o\$33b14o\$31bo7b10o\$45b5o\$39b5o4b3o\$36b12o2b2o\$34b16o2bo\$33b19o\$31b22o\$30b19ob5o\$29b21o2b4o\$28b23o3b2o\$27b25o3b2o\$26b26o\$25b28o\$24b30o\$23b32o\$22b33o\$21b35o\$13bo6b37o\$12b2o5b39o\$11b2o4b42o\$10b2o4b44o\$7bob3o3b46o\$6bob3o2b49o\$5b2ob2o2b51o\$4b2ob3ob53o\$3b3ob2ob26o5b24o\$3b2ob28o9b23o\$2b3ob27o11b23o\$b31o13b23o\$b3ob26o15b22o\$b3ob25o17b22o5bo\$4ob24o19b22o4bo\$3o2b24o19b22o4b2o\$3o2b23o21b22o3b2o\$3o2b23o21b22o3b2o\$3o2b23o21b22o3b3o\$3o3b22o21b23o2b3o\$b2o3b22o21b23o2b3o\$b2o3b22o21b23o2b3o\$b2o4b22o19b24o2b3o\$2bo4b22o19b24ob4o\$2bo5b22o17b25ob3o\$9b22o15b26ob3o\$9b23o13b31o\$10b23o11b27ob3o\$11b23o9b28ob2o\$12b24o5b29ob3o\$13b53ob3ob2o\$14b51ob3ob2o\$15b48o3b3obo\$16b46o3b3obo\$17b44o4b2o\$18b41o5b3o\$19b39o5b3o\$20b37o6bo\$21b35o\$22b33o\$23b31o\$23b30o\$24b28o\$20bo4b26o\$20b2o4b24o\$21b2o3b23o\$21b4o2b21o\$22b5ob19o\$24b21o\$25b19o\$24bo2b15o\$25b2o2b11o\$26b4o3b3o\$27b6o\$28b11o5bo\$30b14o\$32b9o!`
`x = 17, y = 10, rule = B3/S23b2ob2obo5b2o\$11b4obo\$2bob3o2bo2b3o\$bo3b2o4b2o\$o2bo2bob2o3b4o\$bob2obo5bo2b2o\$2b2o4bobo2b3o\$bo3b5ob2obobo\$2bo5bob2o\$4bob2o2bobobo!`

(Check gen 2)

Saka

Posts: 2354
Joined: June 19th, 2015, 8:50 pm
Location: In the kingdom of Sultan Hamengkubuwono X

### Re: "Solid" LTL Ships

HORRAY!
RANGE 8!
c/48d!
`x = 19, y = 19, rule = R8,C0,M1,S101..172,B87..174,NM7bo3b2o\$5b9o\$3b12o\$2b14o\$2b15o\$b17o\$b17o\$17obo\$b16o\$b8ob8o\$b16o\$17obo\$18o\$b17o\$2b15o\$3b13o\$4b11o\$5b2o2bo2b2o\$7bo3bo!`

And it kinda looks like the millenium falcon but really just barely!

My favorite phase:
`x = 35, y = 35, rule = R8,C0,M1,S101..172,B87..174,NM15b5o\$12b11o\$10b15o\$9b17o\$8b19o\$6b9o5b8o\$5b8o9b7o\$5b6o13b6o\$4b6o15b6o\$3b6o16b7o\$2b6o18b7o\$2b5o20b6o\$b6o21b6o\$b5o23b5o\$b5o23b5o\$5o24b6o\$5o25b5o\$5o25b5o\$5o25b5o\$5o25b5o\$b5o23b6o\$b5o23b5o\$b6o22b5o\$2b5o21b6o\$2b6o19b6o\$3b7o16b6o\$4b7o14b7o\$5b7o12b7o\$6b7o10b7o\$7b9o4b9o\$8b20o\$9b18o\$10b15o\$12b12o\$15b6o!`

It isn't fully solid though, it blows up, but it has a core and the rule is from the original R10 rule, so I'll count it

I wrote a tiny program (Well, except the oscar part) and it found this neat R10 c/39o
`x = 23, y = 24, rule = R10,C0,M1,S155..260,B133..265,NM10b3o\$7b9o\$5b2ob7obo\$4b12obo\$3bob14o\$2bob16o\$2b19o\$bob8ob8obo\$b8o5b8o\$8o7b6obo\$7o9b7o\$7o9b7o\$7o9b7o\$7o9b7o\$8o7b6obo\$b8o5b8o\$bob8ob8obo\$2b19o\$2bob16o\$3bob14o\$4b12obo\$5b2ob7obo\$7b9o\$10b3o!`

Oh my god my script is awesome 3c/563o
`# 3c/563 orthogonal ship in a range-11 rule# Sakax = 26, y = 25, rule = R11,C0,M1,S185..314,B160..318,NM9bob3o\$11b3o\$8b7o\$7b10o\$5bob11o\$4bob13obo\$5b15obo\$3b18o\$2b21o\$o2b8o3b8o2bo\$2b8o5b9o\$b8o7b9o\$8o8b10o\$b8o7b9o\$2b8o5b9o\$o2b8o3b8o2bo\$2b21o\$3b18o\$5b15obo\$4bob13obo\$5bob11o\$7b10o\$8b7o\$11b3o\$9bob3o!`

c/34d in Range 7!!
`x = 15, y = 15, rule = R7,C0,M1,S79..134,B68..135,NM4b5obo\$5b7o\$3b8o\$2b10obo\$ob11o\$15o\$6o3b5o\$6o3b6o\$6o3b5o\$b14o\$14o\$bob9o\$4b7o\$3bob6o\$5bobobo!`

My script is awesome! (I'll release it in a bit)

EDIT:
Funny 7c/27o ship I came accross in slowship converted into Range 6. Not solid though.
`x = 14, y = 17, rule = R6,C0,M1,S59..100,B51..102,NM5b3o\$4b6o\$6b2o\$5b4o\$4b6o\$3b8o\$2b10o\$6ob5obo\$5o3b6o\$6ob5obo\$2b10o\$3b8o\$4b6o\$5b4o\$6b2o\$4b6o\$5b3o!`
`x = 17, y = 10, rule = B3/S23b2ob2obo5b2o\$11b4obo\$2bob3o2bo2b3o\$bo3b2o4b2o\$o2bo2bob2o3b4o\$bob2obo5bo2b2o\$2b2o4bobo2b3o\$bo3b5ob2obobo\$2bo5bob2o\$4bob2o2bobobo!`

(Check gen 2)

Saka

Posts: 2354
Joined: June 19th, 2015, 8:50 pm
Location: In the kingdom of Sultan Hamengkubuwono X

### Re: "Solid" LTL Ships

I improved the script and here it is!
`# Solid.py# Makes soups and runs oscar until a ship is found# Seemingly stupid but actually very useful and fast# Mainly used for searching "Solid" ships in LTL since soups of the right size# produce only 1 object and separation is not needed so oscar can be run.# Best fit for solid LTL rules that have lower period oscs that stabilize quicker but can also be used for larger ranges.# Beeps when a ship is found.# By Saka with oscar.py code from Andrew Trevorrow.import golly as gif len(g.getselrect()) == 0:    g.exit("No selection!")else:    selection = g.getselrect()    g.new("Solid")g.select(selection)g.fitsel()result = "Soup"#maxGen = int(g.getstring("Maximum gens (To avoid expanding soups)")) # Maximum gens and population to avoid expanding soupsmaxPop = (selection[2]*selection[3])*10 #This is much, much bettern = -1while result != "S": #Old and not used anymore but whatever.    #g.setgen('0')    n += 1    if n % 100==0:        g.show(str(n)+" soups searched")        g.update()    g.reset()    g.randfill(50)    # The entire code of oscar.py :)    # Oscar is an OSCillation AnalyzeR for use with Golly.    # Author: Andrew Trevorrow (andrew@trevorrow.com), March 2006.    from glife import rect, pattern    from time import time    # --------------------------------------------------------------------    # initialize lists    hashlist = []        # for pattern hash values    genlist = []         # corresponding generation counts    poplist = []         # corresponding population counts    boxlist = []         # corresponding bounding boxes    # --------------------------------------------------------------------    def show_spaceship_speed(period, deltax, deltay):        # we found a moving oscillator        if (deltax == deltay) or (deltax == 0) or (deltay == 0):            speed = ""            if (deltax == 0) or (deltay == 0):                # orthogonal spaceship                if (deltax > 1) or (deltay > 1):                    speed += str(deltax + deltay)            else:                # diagonal spaceship (deltax == deltay)                if deltax > 1:                    speed += str(deltax)            if period == 1:                g.show("S")                g.exit("Found ship with speed " + speed + "c"+" after "+str(n)+" soups.")            else:                g.show("S")                g.exit("Found ship with speed " + speed + "c/" +str(period)+" after "+str(n)+" soups.")        else:            # deltax != deltay and both > 0            speed = str(deltay) + "," + str(deltax)            if period == 1:                g.show("S")                g.exit("Found knightship with speed " + speed + "c"+" after "+str(n)+" soups.")            else:                g.show("S")                g.exit("Found knightship with speed " + speed + "c/" + str(period)+" after "+str(n)+" soups.")    # --------------------------------------------------------------------    def oscillating():        # return True if the pattern is empty, stable or oscillating        # first get current pattern's bounding box        prect = g.getrect()        pbox = rect(prect)        if pbox.empty:            #g.show("The pattern is empty.")            return True        # get current pattern and create hash of "normalized" version -- ie. shift        # its top left corner to 0,0 -- so we can detect spaceships and knightships        h = g.hash(prect)        # check if outer-totalistic rule has B0 but not S8        rule = g.getrule().split(":")[0]        hasB0notS8 = rule.startswith("B0") and (rule.find("/") > 1) and not rule.endswith("8")        # determine where to insert h into hashlist        pos = 0        listlen = len(hashlist)        while pos < listlen:            if h > hashlist[pos]:                pos += 1            elif h < hashlist[pos]:                # shorten lists and append info below                del hashlist[pos : listlen]                del genlist[pos : listlen]                del poplist[pos : listlen]                del boxlist[pos : listlen]                break            else:                # h == hashlist[pos] so pattern is probably oscillating, but just in                # case this is a hash collision we also compare pop count and box size                if (int(g.getpop()) == poplist[pos]) and \                   (pbox.wd == boxlist[pos].wd) and \                   (pbox.ht == boxlist[pos].ht):                    period = int(g.getgen()) - genlist[pos]                    if hasB0notS8 and (period % 2 > 0) and (pbox == boxlist[pos]):                        # ignore this hash value because B0-and-not-S8 rules are                        # emulated by using different rules for odd and even gens,                        # so it's possible to have identical patterns at gen G and                        # gen G+p if p is odd                        return False                    if pbox == boxlist[pos]:                        # pattern hasn't moved                        if period == 1:                            pass                            #g.show("SL")                        else:                            pass                            #g.show("OSC")                    else:                        deltax = abs(boxlist[pos].x - pbox.x)                        deltay = abs(boxlist[pos].y - pbox.y)                        show_spaceship_speed(period, deltax, deltay)                    return True                else:                    # look at next matching hash value or insert if no more                    pos += 1        # store hash/gen/pop/box info at same position in various lists        hashlist.insert(pos, h)        genlist.insert(pos, int(g.getgen()))        poplist.insert(pos, int(g.getpop()))        boxlist.insert(pos, pbox)        return False    # --------------------------------------------------------------------    def fit_if_not_visible():        # fit pattern in viewport if not empty and not completely visible        r = rect(g.getrect())        if (not r.empty) and (not r.visible()): g.fit()    # --------------------------------------------------------------------    #g.show("Checking for oscillation... (hit escape to abort)")    oldsecs = time()    while not oscillating():        g.run(1)        newsecs = time()        #if newsecs - oldsecs >= 1.0:     # show pattern every second            #oldsecs = newsecs            #fit_if_not_visible()            #g.update()        if int(g.getpop()) > maxPop: #If not: Use int(g.getgen()) > maxGen            break`

Mostly just oscar.py
It has found quite a few ships, not released yet, still in my "Solid" folder.
How to use:
1. Use slowshipconvert.py in the top post (here) to convert to the desired range.
2. (Optional) Tweak the limits a bit, +-5 or something.
3. Select an area to search. Make sure that a 50% fill of the area produces only 1 "donut" when you fill it or else oscar will get stuck if it finds a osc+ship or ship+ship. Expanding soups will be skipped using a "smart maxPop" I made.
4. Still selecting the area, run solid.py
5. Wait until a ship is found (It will beep because it uses g.exit)

TODO:
-Display approximate soups/sec
-After a set amount of failed soups, adjust the rule and start over

EDIT:
VERY FAST c/10o with a very thin core found with the script
`x = 28, y = 28, rule = R10,C0,M1,S154..256,B133..269,NM12b3o\$11b6o\$10bob3o\$11b5o\$11b6o\$10b7o\$9b9o\$9b10o\$8b12o\$7b14o\$5b18o2bo\$bo2b8o3b10obo\$11o5b11o\$11o6b11o\$10o7b11o\$11o6b11o\$12o4b9obo\$bo2b9ob9o\$6b16o\$8b12o\$9b10o\$9b9o\$10b8o\$11b6o\$11b5o\$11b5o\$11b6o\$12b4o!`

Turns out the original slow ship rule has a 2c/542o!
`x = 24, y = 25, rule = R10,C0,M1,S154..262,B133..265,NM10b6o\$11b7o\$6bo2b10o\$5bob12o\$4bob14o\$3b18o\$2b18o\$b10o3b7o\$9o6b7o\$8o8b6obo\$7o10b7o\$7o10b7o\$7o10b7o\$7o10b7o\$ob6o9b7o\$2b6o8b8o\$3b6o6b9o\$3b8o2b10o\$4b18o\$3b16obo\$4b14obo\$5b11o2bo\$6b9o\$7b5o3bo\$9b4o!`
`x = 17, y = 10, rule = B3/S23b2ob2obo5b2o\$11b4obo\$2bob3o2bo2b3o\$bo3b2o4b2o\$o2bo2bob2o3b4o\$bob2obo5bo2b2o\$2b2o4bobo2b3o\$bo3b5ob2obobo\$2bo5bob2o\$4bob2o2bobobo!`

(Check gen 2)

Saka

Posts: 2354
Joined: June 19th, 2015, 8:50 pm
Location: In the kingdom of Sultan Hamengkubuwono X

### Re: "Solid" LTL Ships

Could you make a version of this that repeats and writes to a file somewhere?
Things to work on:
- Find a (7,1)c/8 ship in a Non-totalistic rule (someone please search the rules)
- Find a C/10 in JustFriends
- Find a C/10 in Day and Night
AforAmpere

Posts: 459
Joined: July 1st, 2016, 3:58 pm

### Re: "Solid" LTL Ships

AforAmpere wrote:Could you make a version of this that repeats and writes to a file somewhere?

I add 2 lines of comments to each file stating the ship of the speed and who found it and I dont know how to do that with a script. Would be cool tho!

I add them because the file names are R(range)-(period)o/d (slope listed before period if oblique)

I dont know why I settled on that but it would be a pain to change all the names.
`x = 17, y = 10, rule = B3/S23b2ob2obo5b2o\$11b4obo\$2bob3o2bo2b3o\$bo3b2o4b2o\$o2bo2bob2o3b4o\$bob2obo5bo2b2o\$2b2o4bobo2b3o\$bo3b5ob2obobo\$2bo5bob2o\$4bob2o2bobobo!`

(Check gen 2)

Saka

Posts: 2354
Joined: June 19th, 2015, 8:50 pm
Location: In the kingdom of Sultan Hamengkubuwono X