Article 1655 of rec.games.corewar: From: wangsawm@prism.CS.ORST.EDU (W. Mintardjo) Newsgroups: rec.games.corewar Subject: Twilight Pits evolution Message-ID: <1mm16cINNq2u@flop.ENGR.ORST.EDU> Date: 26 Feb 93 21:13:48 GMT Article-I.D.: flop.1mm16cINNq2u Organization: CS Dept, Oregon State University Lines: 211 NNTP-Posting-Host: prism.cs.orst.edu Here is my vampire program, Twilight Pits. It has been my favorite vampire since the first time I wrote it. I wrote an article: > They are better than bombers against replicators. But still, both Sucker 4 > and Twilight Pits lose 75% of the time against Note Paper. Oops, a correction here. After running some more battles. I figured out that the number to be more accurate should be 60% (still in favor for Note Paper). First incarnation, Twilight Pits 3: ------------------------------------------------------------------------------- ;redcode verbose ;name Twilight Pits 3 ;author W. Mintardjo ;strategy v1: bombs --> pits --> slavers ;strategy v2: 2 pass core-clear (1 SPL + 1 DAT) ;strategy v3: simplification of version 2 offs EQU 196 start SPL 0, <-290 ;135x < b-field s MOV t, @t ;JMP spot SUB trap, t JMP -2, pits --> slavers ;strategy v2: 2 pass core-clear (1 SPL + 1 DAT) ;strategy v3: simplification of version 2. One pass and delayed core-clear ;strategy v4: IMP protection aided with DJN stream. DJN reset core-clear ;strategy v5: Separated module. Different init ;strategy v6: Launched code. Draining more enemy's process. Use decoys ;strategy : Different step-size ;strategy Bugs: Its mirror is unprotected step EQU 91 init EQU 86 boota EQU 3000 spacea EQU 6 spaceb EQU 8 setup MOV trap, boota ptra MOV start+3, boota-spacea+setup+2 MOV start+2, boota-spacea+setup+1 MOV start+1, boota-spacea+setup MOV start+0, boota-spacea+setup-1 ptrb MOV clear+3, boota+spaceb+setup+1 MOV clear+2, boota+spaceb+setup MOV clear+1, boota+spaceb+setup-1 MOV clear+0, boota+spaceb+setup-2 MOV dbomb, boota+spaceb+setup-2+step JMP boota-spacea+setup-1, <1112 dbomb DAT <0-(spacea+spaceb-2+spacea), <0-(spacea+spaceb-2+spacea) ; Put some decoys here start SPL 0, <0-(spacea-1) s MOV spacea, @spacea ;JMP spot SUB spacea+spaceb+s-2, spacea+s p DJN s, <3025 trap JMP spaceb-2-init, 60. Or perhaps we could try to use different evaluation to see how good a program is. There are at least seven types of programs: stone, paper, cmp-scanner, b-scanner, vampire, spl/jmp bomber and spiral. If our program works fine against at least four of them (half the number of type), then our program must be not bad at all? What's about writing program that could easily take >60 victories over imps? paper does not seem to be the answer. A pure paper (like Note Paper) with anti-imp could hardly beat them >30. An intermediate class between replicators and spirals could serve the same purpose. What's about multi imp-threader? (from there I started writing Paratroops). The ratio is still 2:1 in favor for multi imp-threader programs. Not quite enough. Can this kind of program or paper program enhanced? Probably, and to add a little complexity to the situation, here is Chimera. The first time I wrote Chimera, it seemed as an awkward combination between Twilight Pits and spirals. But works great against paper and multi imp-threader. It doesn't quite catch up bomber or spiral/stone combos. A slightly win over cmp-scanners. Again, this deprived many multi process programs, even pure paper like Note Paper. Maybe replicator/anti-vamp/anti-spiral program? ------------------------------------------------------------------------------- ;redcode ;name Chimera v3.5 ;author W. Mintardjo IMP0 EQU imp IMP1 EQU IMP0+2667 IMP2 EQU IMP1+2667 step EQU 283 init EQU 276 boota EQU 3211 spacea EQU 8 spaceb EQU 1 ; decoys go here setup MOV trap, boota ptra MOV start+3, boota-spacea+setup+2 MOV start+2, boota-spacea+setup+1 MOV start+1, boota-spacea+setup MOV start+0, boota-spacea+setup-1 ptrb MOV clear+2, boota+spaceb+setup+2 MOV clear+1, boota+spaceb+setup+1 MOV clear+0, boota+spaceb+setup MOV dbomb, boota+spaceb+setup+step SPL 16, <3706 SPL 8, <1933 SPL 4, <1812 SPL 2, <2009 JMP IMP0, <7368 JMP IMP1, <6011 SPL 2, <5810 JMP IMP2, <4809 JMP IMP0+1, <3908 SPL 4, <7515 SPL 2, <4914 JMP IMP1+1, <2213 JMP IMP2+1, <7212 SPL 2, <7011 JMP IMP0+2, <6710 JMP IMP1+2, <6509 SPL 8, <6108 SPL 4, <5615 SPL 2, <5214 JMP IMP2+2, <3509 JMP IMP0+3, <1908 SPL 2, <2415 JMP IMP1+3, <3314 JMP IMP2+3, <4601 SPL 4, <3600 SPL 2, <4159 JMP IMP0+4, <3102 JMP IMP1+4, <2901 SPL 2, <2168 JMP IMP2+4, <1515 SPL boota-spacea+setup-1, <7115 SPL boota-spacea+setup-1, <6302 SPL boota-spacea+setup-1, <5301 SPL boota-spacea+setup-1, <5900 JMP boota-spacea+setup-1, <1112 dbomb DAT <1-(spacea+spaceb+spacea+spaceb), <1-(spacea+spaceb+spacea+spaceb) start SPL 0, spacea+1 s MOV spacea, @spacea ;JMP spot SUB spacea+spaceb+s, @-1 p DJN s, <3154 trap JMP spaceb-init,