#kothorg
[6:05:21]digital.wilderness : <@UBZCDSVKN> Is this the one you're looking for? [11:56:53]john.kipling.lewis : Okay... that's incredible. How did you find that?[12:04:10]john.kipling.lewis : 1997... now I feel old again. :rolling_on_the_floor_laughing:[12:06:57]roy.van.rijn : Now I’m firing up my old evolver… just to see if it can create something that does something (written in Java, is very stupid, but quite fast)[12:07:38]roy.van.rijn : I mostly use that code for optimizing warriors, for example the warrior created/submitted yesterday that uses some more advanced code to calculate candidate step sizes[13:09:27]john.kipling.lewis : I wish I had thought of an GA for optimizing step sizes. That would have been smarter (and useful) than what I created. (in perl 5!) It just makes random Redcode noise and then recombines it with "successful" version with some mutation rates. Nothing amazing ever came from it... that I know of.[13:15:20]roy.van.rijn : That is what my ‘evolving’-code does, mostly… I just started it and the best is has done up to now is:
```
;redcode
;name a7cf7452-12b9-408f-be28-cf70666e90f0
;author Roy van Rijn
;assert 1
START spl.ab #242 , }2
mov.i }115 , {432
mov.i >115 , {500
djn.f #0 , <-30
```[13:24:44]john.kipling.lewis : Dude... that's ... very close to this:
`
;redcode-94
;name invicta duo
;author John K. Lewis
;assert 1
step equ 5211
spl 1
spl 1
spl 1
ant spl @0,step
mov }ant,>ant
pic mov 64, step+64
add #6117, step-1
jmp -2
for 60
dat 0,0
rof
index for 7
dat index, 10-index
rof
`[13:27:59]john.kipling.lewis : OH... <@UBX2E0GR4> is for/rof implimented on the site? It didn't seem to work for me.[13:38:06]roy.van.rijn : Hey John, about that warrior, can I ask a couple of questions? The ‘paper’ part of 5 lines long, but you are starting 8 parallel processes by doing spl 1/spl1/spl1. Instead you could do:
```
spl 1
mov -1,0
mov -1,0
```
Other improvements can be experimented with, have you tried duplicating the two ant-lines making it a double copying paper? Or changing the jmp to a djn-stream?[13:56:38]john.kipling.lewis : The idea was to "bomb/clear" the extra spaces below the paper with dat code from empty space. That's the reason for the extra processes.[13:58:02]dougajmcdonald : <@UBZCDSVKN> Speaking to Gareth, for/rof is implemented but only in a simple way[13:58:09]dougajmcdonald : so for example, this should work:[13:58:18]dougajmcdonald : [13:58:30]dougajmcdonald : but I don't think labels with for/rof do[13:59:20]roy.van.rijn : <@UBZCDSVKN> That doesn’t really add much I’m afraid, but the bomb-step add interleafing with the next copy is a fun thing[14:10:52]john.kipling.lewis : <@UBQGHU2CC> I was fascinated with 4 line micro things. Papers, bombers, scanners... etc. I loved the idea of a 4 line thing you could "throw" around the core and spawn out a process.[14:22:48]john.kipling.lewis : Here's an example of a 4 line code that kills scanners.
```
;redcode-94
;name Agony Killer
;author John Lewis
;strategy Jump Jump Jump
;
;
spl 1
mov.i <2, <1
jmp @0, -7
dat #0, #0
```[14:23:12]john.kipling.lewis : I think this was the birth of the other code above.[14:25:02]john.kipling.lewis : Yes, the missing link between:[14:25:10]john.kipling.lewis : ```
;redcode-94
;name invicta
;author John K. Lewis
;assert 1
spl 1
mov -1,0
mov -1,0
ant spl @0,1221
mov }ant,>ant
mov >ant,>ant
mov >ant,>ant
jmp ant,{ant
```[14:27:45]roy.van.rijn : The idea of adding to a different paper can be used to create something fun, I’m going to experiment with that if you don’t mind :wink:[16:44:02]john.kipling.lewis : I'm sharing to share. Let me know what you come up with![17:21:17]roy.van.rijn : This is the paper I’m experimenting with now:
```
spl 1
spl 1
spl 1
pStep1 equ 6846
pStep2 equ 2001
pStep3 equ 5450
pStep4 equ 4496;5931
pStep5 equ 7597;1443
pStep6 equ 1590;6558
pap spl @0 , }pStep1
mov.i }-1 , >-1
spl @0 , >pStep2
mov.i }-1 , >-1
add.x #pStep3 , -pStep2+1
mov.i #pStep4 , {pStep5
mov.i #pStep6 , <pStep2-1
djn.f -3 , <pStep2+pStep2-2
end
```
Not a lot left of the original… I admit, but the idea of using pStep2 (now twice) is the same[21:11:40]john.kipling.lewis : How is the warrior doing? What meta does it beat, what is it losing to?[21:19:05]roy.van.rijn : <- inspired by it[21:37:23]john.kipling.lewis : Interesting![21:42:41]roy.van.rijn : (it is the paper mentioned above with a qscan and boot)