Thread View: rec.games.corewar
2 messages
2 total messages
Started by Wayne Edward Sheppard
Wed, 30 Dec 1992 22:22
Outlaw ImpRings? - There's a better way
Author: Wayne Edward Sheppard
Date: Wed, 30 Dec 1992 22:22
Date: Wed, 30 Dec 1992 22:22
16 lines
998 bytes
998 bytes
I don't know about the rest of you, but these imprings has made
corewar boring. But we shouldn't change the rules to fight them.
How about changing the core size. 8000 is too friendly for imps.
Do imprings work good when there are alot of points? A coresize
of 9000 would make the smallest impring have 7 points. Is this
enough? 8400 core size would require 11 point rings.
If an impring had more points, wouldn't it be easier to kill?
--
Wayne Edward Sheppard
Georgia Institute of Technology, Atlanta Georgia, 30332
uucp: ...!{decvax,hplabs,ncar,purdue,rutgers}!gatech!prism!gt7804b
Internet: gt7804b@prism.gatech.edu
Re: Outlaw ImpRings? - There's a better way
Author: Daniel Starr
Date: Thu, 31 Dec 1992 11:16
Date: Thu, 31 Dec 1992 11:16
67 lines
3141 bytes
3141 bytes
In article <78903@hydra.gatech.EDU> gt7804b@prism.gatech.EDU (Wayne Edward Sheppard) writes: >I don't know about the rest of you, but these imprings has made >corewar boring. But we shouldn't change the rules to fight them. >How about changing the core size. 8000 is too friendly for imps. >Do imprings work good when there are alot of points? A coresize >of 9000 would make the smallest impring have 7 points. Is this >enough? 8400 core size would require 11 point rings. > >If an impring had more points, wouldn't it be easier to kill? > Nope. The nifty thing about an impring, after all, is that just like a classic imp, each instruction prepares the very next one that executes. As a result, no matter how many points there are, only one -- the one about to execute -- is vulnerable to bombing/mutation at any given time. But imprings aren't that hard to kill. You just need to decrement a lot in front of your program. A program like this spl 0, <-3 mov <-3,<-4 djn -1,<-5 will cause ANY impring or spiral to crash when it hits the line three above the top. (In point of fact, any program with an SPL 0 can't lose to an impring, although it can tie, since an impring kills programs by subverting them and letting them die when they outrun the slower ring into core.) (This also illustrates the real advantage of "spirals" -- overlapping offset rings: each has its vulnerable instruction in a different place at any given time, so a single djn stream can't hit both: if it hits one, it necessarily bypasses the other.) Anyway, unless I'm overlooking something (comments, anyone?), the only disadvantage of larger imprings is that they're messier to launch. Speaking of launches, anyone found a simpler way than this? -- d EQU 8001/7 imp mov 0,d start mov imp,100 spl 1 spl 1 spl 1 jmp <launch jmp main-program jmp start+100+d*6 jmp start+100+d*5 jmp start+100+d*4 jmp start+100+d*3 jmp start+100+d*2 jmp start+100+d*1 jmp start+100+d*0 launch dat #0 ... main-program ... For spirals, add a MOV imp,100+d at the top, an extra SPL 1, and precede each of the normal JMP start+100+d*n statements with a JMP start+100+d*(n+1). This creates two rings, the first always one instruction ahead of the second. (I'm assuming here that I am correctly interpreting when Dan N. means by spirals. If I'm not, please enlighten me. (: ) -- -------------------------------------------------------------------- |Daniel Starr | "Wait! Wait! Maybe THIS will work!" | |dstarr@minerva.cis.yale.edu | | --------------------------------------------------------------------
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads