Article 1613 of rec.games.corewar: Newsgroups: rec.games.corewar From: adb2y@faraday.clas.Virginia.EDU (Allen David Boozer) Subject: Newbie questions! Message-ID: <1993Feb9.210801.22688@murdoch.acc.Virginia.EDU> Sender: usenet@murdoch.acc.Virginia.EDU Organization: University of Virginia Date: Tue, 9 Feb 1993 21:08:01 GMT Lines: 125 Hi, all! I just started playing with Core Wars a few days ago. I have a few newbie questions: 1) The best corewars simulator I have found so far is Corewar Pro 3.0. Is this what you all use? 2) Here the latest verion of my first serious warrior: ---- Cut Here ---- ;redcode ;name Split-pit ;author David Boozer ;Strategy Bomb core with JMP's to a "pit", then clear the core. Pit ;Strategy causes opponent to clear core forwards, while clear core ;Strategy routine clears core backwards. loop: mov ptr, @ptr ; Bomb core with JMP instructions sub info, ptr djn loop, #421 mov #421, -1 djn -3, #6 jmp clear ; Clear the core with DAT's dat #0 ; 0's used to hide from scanners dat #0 dat #0 dat #0 dat #0 ptr jmp trap, #0 ; JMP instruction used to bomb core dat #0 dat #0 dat #0 dat #0 dat #0 dat #0 dat #0 dat #0 dat #0 dat #0 dat #0 dat #0 dat #0 dat #0 dat #0 dat #0 dat #0 dat #0 dat #0 dat #0 dat #0 dat #0 dat #0 dat #0 dat #0 dat #0 dat #0 dat #0 info mov #-19, <19 ; Spacing of bombs dat #0 dat #0 dat #0 dat #0 dat #0 dat #0 dat #0 dat #0 dat #0 dat #0 dat #0 dat #0 dat #0 dat #0 dat #0 dat #0 dat #0 dat #0 clear mov dat0, Lines: 134 Sender: news@dunix.drake.edu (USENET News System) Nntp-Posting-Host: acad.drake.edu Organization: Drake University, Des Moines, Iowa, USA Date: Thu, 11 Feb 1993 15:51:17 GMT Sefan and I (and Jules in a posthumous kind of way) would like to present: ;redcode ;name Charon v8.1 ;kill Charon ;author Cisek,Strack,Kline ;strategy creation date 4/22/92 ;strategy v2.0 4/22/92 total code overhaul ;strategy mod 3 cmp scan with optimal step, new deadly trap (SPL 0, JMP -1) ;strategy v3.0 5/3/92 integrated with Stefan Strack's Echo (much smaller) ;strategy v4.0 5/8/92 [pretty much a failure] ;strategy v5.0 5/12/92 same as 3.0, new clear core routine ;strategy v6.0 6/11/92 finally moved off axis (v5.0 was getting slaughtered ;strategy by programs copied across the axis) ;strategy v7.0 7/6/92 2 instructions smaller, different constants, ;strategy linear decrement triggers clear core. ;strategy [no longer hits itself to start clear core] ;strategy v8.0 12/22/92 now forward-scans for an extended time ;strategy using step-size that kills slow-moving imps ;strategy also protecting 3 lines against decrement ;strategy v8.1 1/25/93 new step-constants ;strategy Charon is the >original< spl/jmp bombing cmp scanner. ;strategy It scans using an off-axis CMP-scan, bombs with the spl/jmp ;strategy combination (thus slowing the enemy down), and eventually ;strategy clears the core with dats. ;strategy Submitted: @date@ STEP equ 68 ;scan constants: DIST equ 34 ;small, so can be reused in core clear DJNOFF equ decr-DIST FIRST equ DJNOFF+149 ;optimal offset to DJN train attack add switch,@compptr ;switch A- and B-fields mov jump,@comp compptr mov split, Sender: news@vuse.vanderbilt.edu Nntp-Posting-Host: necs Organization: Vanderbilt University School of Engineering, Nashville, TN, USA References: <1993Feb11.095117.1@acad.drake.edu> Date: Thu, 11 Feb 1993 19:25:07 GMT Lines: 35 Newsgroups: rec.games.corewar Subject: Re: Charon v8.1 Summary: Expires: References: <1993Feb11.095117.1@acad.drake.edu> Sender: Followup-To: Distribution: Organization: Vanderbilt University School of Engineering, Nashville, TN, USA Keywords: In article <1993Feb11.095117.1@acad.drake.edu> pk6811s@acad.drake.edu writes: >Sefan and I (and Jules in a posthumous kind of way) would like to present: > >;redcode >;name Charon v8.1 > >Charon is a spl-jmp bombing cmp-scanner. It is the only scanner >on the Hill that relies completely on scanning/stunning/clearing >to win. * IT DOES NOT USE A GATE *. Well, Agony 3.1 uses the same principle and actually goes one step further: Charon v8.1 needs a <2667 in the B-field of its SPL/JMP bomb to muck up imps, whereas Agony clobbers them with a straight SPL 0,0 carpet (code soon). >For anyone who doesn't have a copy of Charon v7.0: > [..] > djn scan,<-5 ;mutagenize/distract/count-down to clear This must be an early test version of Paul's (which doesn't work BTW). The real Charon v7.0 has djn scan, Lines: 68 Sender: news@dunix.drake.edu (USENET News System) Nntp-Posting-Host: acad.drake.edu Organization: Drake University, Des Moines, Iowa, USA Date: Thu, 11 Feb 1993 15:53:09 GMT Here are a couple of warriors that I don't believe I have published before. Neither was successful on the Hill, but both illustrate some interesting principles. The first is Antivamp, which traces pit-trap snares back to their source. It is very effective against Sucker 4 and Twilight Pits, but otherwise a dud. But I have included the technique in Imprimis, Emerald, and Eeek to get some cheap points against S4 and TP. The second is Newscan, which is a wacky, cmp-scanning pit-trapper. Newscan uses a non-fixed distance between the a and b-fields of the cmp and cannot be defended against by reflections. Unlike the Charon and Agony-based cmp-scanners, which use 'cmp a,a+dist', Newscan uses 'cmp a,-a'. It first attacks the b-field location by moving a template jmp statement (jmp 3,0) and adding the cmp instruction to it. Then it attacks the a-field location by moving a different template jmp statement to a safe place, subtracting the cmp instruction from it, and moving that to wherever it then points. While Sucker 4 attacks one location every 3 instructions, Newscan searches 2 locations in every 3 and is therefore twice as fast. It also does not leave as many useless snares in core and can't be tracked back as easily by Antivamp. Unfortunately, Newscan is so large that it is spotted first by all the other cmp-scanners, and has a hard time against S4 and TP because of their very small size. ;redcode quiet ;name Antivamp ;kill Antivamp ;author P.Kline ;strategy traces snares back to pit-trappers avamp mov -2,<-10 sub @avamp, Organization: University of Cincinnati Distribution: rec.games.corewar Date: Wed, 17 Feb 1993 18:49:41 GMT Lines: 11 Hello. Granted....I am a newbie, but I'm having immense trouble getting a warrior programmed. Is there any other tutorials besides the one on Soda? I would immensely appreciate any mail or postings. So far, I have a warrior that sits there....and sits, and sits.....and yes, just plain sits again. -Randall Flagg- -- ------------------------------------------------------------------------- | "I'm not dead, I'm metaphysically challenged." estorman@uceng.uc.edu| | =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= | Article 1635 of rec.games.corewar: Newsgroups: rec.games.corewar From: pk6811s@acad.drake.edu Subject: Re: core war tutorial WANTED Message-ID: <1993Feb18.112549.1@acad.drake.edu> Lines: 152 Sender: news@dunix.drake.edu (USENET News System) Nntp-Posting-Host: acad.drake.edu Organization: Drake University, Des Moines, Iowa, USA References: <1993Feb15.070307.11381@ucc.su.OZ.AU> Date: Thu, 18 Feb 1993 17:25:49 GMT In article <..> andy@extro.ucc.su.OZ.AU (Andrew Miehs) writes: > I'm looking for a good tutorial on core war STRATEGY. I have read plenty > on how to program Redcode, but it doesn't give any hints as to how to program > _successfully_. Have any of the big-time players taken the time out to > write such a document? It'd be quite helpful for us newbies. > Gee, success seems to be so transient, how about hearing from someone who is just having FUN? :) Writing successful Redcode is a lot like writing successful poetry - you have to write volumes of stuff before you get anything good. You also have to read a lot; read and study every warrior you can find including the old ones. A lot of problems have been addressed and solved in the past, like imps and imp-gates. Then you have to watch hours of battles, preferably on an emulator with a core-display where you can see everything that's happening. Play pairs of warriors against each other dozens of times until you completely understand why one beats (or can't beat) the other. Then speculate on what change would be necessary to the losing program to make it more aggressive, or less vulnerable. You need to understand the strengths of the basic warrior-forms. Among these are: bomber - very fast,very small, kills stationary opponents cmp-scanner - moderately fast, small, kills replicating opponents b-scanner - very small, kills replicating opponents and larger scanners replicator - kills bombers, ties imps imp - difficult to kill, kills single-process opponents, ties a lot pit-trapper - very small, kills replicators and others as well All have their weaknesses also - being slower, larger, less aggressive, etc. These characterizations are subject to change with new developments, but seem to have held up over time. Some of the successful programs use combinations of forms to take advantage of their mutual strengths. It is very important to understand the power of 'magic' numbers. The most important of these are the optimal-pattern numbers, which efficiently bomb/scan the core. The ones published for coresize 8000 (by Nandor?) are: 3359 or 3039 mod 1 3094 or 2234 mod 2 3364 or 3044 mod 4 3315 or 2365 mod 5 2936 or 2376 mod 8 2930 or 2430 mod 10 if you need small numbers use: 73 mod 1 98 mod 2 76 mod 4 95 mod 5 If you want to experiment with other numbers, use a short testing program to see how well they pattern the core: start mov @start,start add inc,start jmp start inc dat #76 The size of your program is _very_ important, and here's why. A stone which bombs at 33% of c can hit every 100'th location in 240 cycles, and every 12'th in 2000. A cmp-scanner can scan them in half the time. Even if no one is using mod-100 and mod-12 patterns, they are approaching that kind of speed. If your program is 12 instructions or longer, you WILL be covered very fast. If your program is less than 12 instructions you will (sometimes) be missed a bit longer. Note that 12 is an example only, but somewhere around there is a break-point. If you can't make your program smaller, you could break it up into components and hide them around core. One thing that should not be overlooked is bombs or pointers that you create close to your active code - they can be attacked by scanners, and the fallout might affect your program. A useful approach to KotH is targeting a group of existing warriors. If you can identify a group with a common weakness, you can take advantage. For example, you might see a lot of cmp-scanners out there. Knowing that a fast bomber will beat them, you put one together with an optimal pattern number and a core clear and whammo! you are 20th on the Hill :) Then someone submits a paper warrior and off you go. Then you look at the report showing that you got massacred by all the imps and start thinking about how you can add a gate to your bomber to get a few more wins. Run a few dozen tests to get it right, post it, and now you are #18. Unfortunately adding the gate made you enough larger that the scanners are winning a few more (each!) so it's a tradeoff. At this point you make a choice to continue enhancing your bomber, or try something else. Both will be educational but I recommend the bomber since you have gained 'expertise' in bombing. Try different constants, research all the bombers you can find, see how they were used in combination with paper and imps as in Flash Paper, Smooth Noodle Map, Gamma Paper, Impression, Imprimis, etc. There will be programs that beat you 80% of the time - why? And is it one program or several that do that? Do not assume that a variation has been tried by anyone, and do not be surprised to find out later that it has. Testing fighters on your own machine is critical. Run lots of tests and watch them all the way to completion. When you make a change, do not assume anything about the effect - rerun your tests. Test against the best fighters you can get your hands on. If your program has multiple phases (ex: bombing and clearing) what is the effect of lengthening the first phase? The second? If you have multiple components, experiment with the spacing between them. It is very useful (and fun) to communicate with other participants. Most are helpful and will give advice. Some may not respond, usually because they have become otherwise-occupied. Feel free to post questions on rec.games.corewar, like: My Blasto program doesn't work on the Hill, how come?" blasto dat #2365 loop mov blasto,1000 add blasto,loop jmp loop Thanks in advance for your helpful advice, Courteous Newcomer and you will likely get a response like: Dear courteous, but naive Corewar participant, your Blasto program fails to work because you need to start the program at 'loop', not at 'blasto'. Just add the following line at the end: end loop Good luck, Battle-Scarred Veteran A few thoughts on communicating over the network. Remember that others do not get what you are 'thinking', only what appears in cold black-and- white (or green) on their screen. So be courteous, and try not to take immediate offense at jokes and the like. Use of the smiley and frowny faces is recommended [ :-) :-( ] for clarifying your state of mind. Sooner or later you will be looking at someone else's Great Warrior program, and have the idea that you can make it even better. If you put up a test, be sure to include a credit like: ;strategy testing a variation on Great Warrior Most of the time your change will be harmful instead of helpful, but if you do succeed you have an obligation to share it with the author if he's still around. Then he will tell you whether it's ok to put it up under your name, your combined names, or "thanks for the suggestion, I will make the change and credit you", or whatever. This is a sensitive area and other people's (helpful) comments are welcomed, but the point to remember is to grant credit where credit is due. You know, there are lots of 'tricks' out there that need to be catalogued somewhere. I'm thinking of every sort of 'ah-ha' idea that has made a program successful. Like Gamma Paper's using a very fast mod-8 bomber to clear out the scanners before replicating, or using predecremental dat in an imp-gate, or using a spl-zero to grow cycles in a stone. Maybe we need some articles like 'One Hundred Tricks with Bombers'. There's a lot of good stuff been published over the years, but no summation available anywhere. Anyway, good luck and _welcome_ to all newbies. Paul Kline pk6811s@acad.drake.edu Article 1636 of rec.games.corewar: From: wangsawm@prism.CS.ORST.EDU (W. Mintardjo) Newsgroups: rec.games.corewar Subject: Re: core war tutorial WANTED Message-ID: <1m1egvINNrd6@flop.ENGR.ORST.EDU> Date: 19 Feb 93 01:52:31 GMT Article-I.D.: flop.1m1egvINNrd6 References: <1993Feb15.070307.11381@ucc.su.OZ.AU> <1993Feb18.112549.1@acad.drake.edu> Organization: CS Dept, Oregon State University Lines: 25 NNTP-Posting-Host: prism.cs.orst.edu pk6811s@acad.drake.edu in article <1993Feb18.112549.1@acad.drake.edu> writes: ---------- | ... | cmp-scanner - moderately fast, small, kills replicating opponents | b-scanner - very small, kills replicating opponents and larger scanners ^^^^^^^^^^^^^^^ Actually, B-scanner and CMP-scanner (assuming the true form of larger scanner) are almost equal in strength. CMP-scanner scans two locations in three steps (67% c) while B-scanner scans only one locations in two steps (50% c). Also, most CMP-scanners use DJN stream as part of their scanning which gives them additional attack + decoy. Both faster scanning and DJN stream compensate CMP scanner's size when fighting against B-scanner. | ... | pit-trapper - very small, kills replacators and others as well They are better than bombers against replicators. But still, both Sucker 4 and Twilight Pits lose 75% of the time against Note Paper. | ... ---------- --- Mintardjo W. Article 1641 of rec.games.corewar: From: gt7804b@prism.gatech.EDU (Wayne Edward Sheppard) Newsgroups: rec.games.corewar Subject: Nothing new yet Message-ID: <85740@hydra.gatech.EDU> Date: 20 Feb 93 07:14:36 GMT Organization: Georgia Institute of Technology Lines: 38 I was just wondering if anybody has had any new ideas in the last ten weeks? All I have seen is a couple new imp spirals and a couple new scanners. BUT THERE HAS BEEN NO NEW IDEAS, NO NEW DEVELOPMENTS in a long while. Has Corewars degenerated into the optimum programs? What happened to the Rock-Paper-Scissor relationship? It seems that paper has been left out. The Rock programs (Imp Spirals) have eliminated all of the paper programs. All of the replicators that used to get alot of points by beating up on Stone are now out of luck. Is it possible to design a replicator that can take a impspiral out? But then replicators lose against most scanners There needs to be some way to break the gridlock. I still have a post from P.Kline oabout Scanner eradication from last September. Things sure have changed since then. I remember when Dan Nabwhatever posted his new 'Empire' program, which scored 195 with only 1% losses. That shook the hill. Will I find Corewar boring? Will I get tired of submiting the same old programs? Will I quit like Hastings did? I hope not. I would like to encourage everyone to post their code. Maybe someone can improve it. Maybe someone can be inspired by it. Maybe it will help new people get into the game, which might spawn new ideas. I want to know if we have found the perfect warrior, the imp ring. Is there any program that can beat an imp ring with a win-to-loss ratio of 7 to 3? If not, we have hit a dead end. -- Wayne Edward Sheppard Georgia Institute of Technology, Atlanta Georgia, 30332 uucp: ...!{decvax,hplabs,ncar,purdue,rutgers}!gatech!prism!gt7804b Internet: gt7804b@prism.gatech.edu Article 1643 of rec.games.corewar: From: durham@cup.portal.com (Mark Allen Durham) Newsgroups: rec.games.corewar Subject: Reply for Kuck Message-ID: <76100@cup.portal.com> Date: Sat, 20 Feb 93 09:10:58 PST Organization: The Portal System (TM) Lines: 25 Note: This is in reply to a post by Norbert Kuck (stud2@aifb.uni-karslruhe.de), but I was unable to reach him via the posted address. Since the answer to his question is probably of general interest anyway, I decided to post it. The question was, "What is the stone-scissors-paper analogy?" The stone-scissors-paper analogy has to do with a decision game called "Paper-Scissors-Stone" much like "Evens & Odds". The game is played by two people. On the count of three, each player reveals their choice between paper or scissors or stone through the use of hand signs. Paper is indicated by an open hand, stone by a closed hand, and scissors by extension of the index and middle fingers, separated to look like a pair of scissors. Stone beats scissors (because you can crush scissors with a stone) beats paper (because scissors cut paper) beats stone (because paper can wrap around stone). [In "Evens & Odds", players reveal either one or two extended fingers. If the sum of the extended fingers is even, the player with Evens "wins".] The reference in Core War to paper-scissors-stone is due to someone's demonstration (sorry, I forget whom) that there are (at least) three classes of programs which demonstrate cyclical superiority similar to that found in the decision game. Mark A. Durham durham@cup.portal.com Article 1644 of rec.games.corewar: Newsgroups: rec.games.corewar From: ivner@lysator.liu.se (Anders Ivner) Subject: Re: Nothing new yet In-Reply-To: gt7804b@prism.gatech.EDU's message of 20 Feb 93 07:14:36 GMT Message-ID: Sender: news@lysator.liu.se Organization: Lysator Computer Society, Link|ping University, Sweden References: <85740@hydra.gatech.EDU> Date: Sat, 20 Feb 1993 19:12:20 GMT Lines: 86 In article <85740@hydra.gatech.EDU> gt7804b@prism.gatech.EDU (Wayne Edward Sheppard) writes: I still have a post from P.Kline oabout Scanner eradication from last September. Things sure have changed since then. I remember when Dan Nabwhatever posted his new 'Empire' program, which scored 195 with only 1% losses. That shook the hill. I think you've confused the facts a bit here... Dan Nabutovsky's program was called 'Impossible', and was in fact an improved version of 'Impire' which had conquered the hill one week earlier. I would like to encourage everyone to post their code. Maybe someone can improve it. Maybe someone can be inspired by it. Maybe it will help new people get into the game, which might spawn new ideas. Ok, so here goes: first an idea I've been having for awhile, but not quite managed to implement. loop add const, scan scan mov From: fedimit@wisipc.weizmann.ac.il (Dan Nabutovsky) Date: Sun, 21 Feb 1993 19:20:09 GMT References: <1993Feb21.165806.28483@wisipc.weizmann.ac.il> Organization: Weizmann Institute of Science, Computation Center Lines: 13 In article <85740@hydra.gatech.EDU> gt7804b@prism.gatech.EDU (Wayne Edward Sheppard) writes: > > I still have a post from P.Kline oabout Scanner eradication from last > September. Things sure have changed since then. I remember when Dan > Nabwhatever posted his new 'Empire' program, which scored 195 with > only 1% losses. That shook the hill. > First imp ring, IMPire, was posted by Anders Ivner, not by me. It loosed about 8% of games and got ~180 points. Only then I posted my programs Impossible (first imp spiral) and Impressive. One of them scored ~187 with 1% losses, other scored ~195 with 2% losses. Dan Nabwhatever. :-> Article 1649 of rec.games.corewar: Newsgroups: rec.games.corewar From: pk6811s@acad.drake.edu Subject: Re: Nothing new yet Message-ID: <1993Feb22.084906.1@acad.drake.edu> Lines: 113 Sender: news@dunix.drake.edu (USENET News System) Nntp-Posting-Host: acad.drake.edu Organization: Drake University, Des Moines, Iowa, USA References: <85740@hydra.gatech.EDU> Date: Mon, 22 Feb 1993 14:49:06 GMT In article <...> ivner@lysator.liu.se (Anders Ivner) writes: > > loop add const, scan > scan mov jmz loop, > This should work as both an emerald-like bomber and a cmp-scanner, since > something would be found if: > 1) the b-fields of both b and b-1 is non-zero. > or > 2) the b-field of the effective address of " indicate that "a", too, is worth bombing. > Along a similar line is this bomber-scanner called T.Rex. In T.Rex there is a bombing component (line 'stone') into which I drop 2 processes. Note there is no jmp so stone does not grow additional processes. That is to allow the 'scan' component to check the location about-to-be-bombed every 4th or 8th (I can't remember) bomb, just before it is bombed. If the about-to-be-bombed b-field is a 2667-imp, then back up the bomber (it will have advanced past that point now) and change it's increment to 2667. At the same time release some fast replicators. T.Rex works well if the imps are 2667-imps AND they have had time to leave trails of more than a few locations, one or both of which assumptions does not seem to hold on the Hill very much. Also, T.Rex is somewhat of a slow bomber, since one-fourth of the processes in 'stone' are dying at 'dat1' and one additional process is in the scan loop. It does bail out of the scan process after 150 scans. ;redcode quiet ;name T.Rex ;kill T.Rex ;author P.Kline ;strategy stone-paper with a lookout for imps ;strategy added anti-vamp code step equ 2376 boot equ 2000 imp equ 2667 start spl scan,1 ; spl 1,1 spl 1,1 mov Date: 23 Feb 93 08:11:19 GMT Organization: Georgia Institute of Technology Lines: 39 Here is an interesting cmp-scanner that has two coreclears! he two coreclears are needed against impspirals. After a small (compared to Charon 8.1) scanning time, the core is blanketed with spl 0. The offset for this coreclear is 381. 381=8001/(7*3) is the optimal coreclear for 3 and 7 point rings. This should write over the ring completely. Now all it has to do is a dat coreclear. I was able to get it down to 14 lines, and all of the major bugs are out. But it doesn't look like the double coreclear is worth the extra lines. ;redcode ;strategy Basic spl/jmp cmp scanner ;strategy with TWO coreclears ;strategy first coreclear spl 0 at offset of 381=8001/(7*3) ;strategy second coreclear dat 0 ;strategy Problem : Two lines larger that Charon 8 add off,1 loc cmp 1,50 slt #20,-1 djn -3,<1499 mov j,@loc dec mov s, Sender: news@ucc.su.OZ.AU Nntp-Posting-Host: extro.ucc.su.oz.au Organization: Sydney University Computing Service, Sydney, NSW, Australia Date: Thu, 25 Feb 1993 05:58:42 GMT Lines: 28 hi guys, first of all i want to thank paul kline for that fabulous strategy posting, a few more by other authors could make a collection well worth archiving. and now, i want to bounce some ideas off you. i have a kinda new idea, which would hopefully beat the scissors/paper/stone deadlock, and i wanna check the ground before i proceed. i'm kinda wary of reveling the full scope of my idea just yet (not so much for fear of having it stolen, as for fear of being laughed off the net.) so we'll talk in generic terms. the faq indicates that paper-type replicators (mainly imps) are the bane of stone-type bombers, right? so what's the best defense against a paper attack? what are the chances of survival of a very small bomber with some sort of imp-gateway? what are the likely weaknesses of such a program? also, would someone kindly explain the use of reflections. i think i understand what they are, but it would be handy if you could make it clear, perhaps with an example or two. thanx again, i look forward to offering you something worthy of competition. malcolm ryan (c/o andrew miehs) -- +-------------------------------+---------------------------------------------+ | Andrew Miehs | | | Mail: andy@extro.ucc.su.oz.au | $$$ THIS SPACE FOR RENT $$$ | | NB: Don't call me andy! | | Article 1652 of rec.games.corewar: From: emeu09@castle.ed.ac.uk (Mech Eng Student) Newsgroups: rec.games.corewar Subject: Re: Sample redcode. Message-ID: <32298@castle.ed.ac.uk> Date: 25 Feb 93 10:40:43 GMT References: Sender: nntpusr@castle.ed.ac.uk Organization: Edinburgh University Computing Service Lines: 24 In article , parrinel@ux1.cso.uiuc.edu (Chris Parrinello) writes: |> |> I'm a new player and I have written my first recode which I submitted to |> KotH and was subsequently booted off :-). Anyway, I just read Paul Kline's |> article (thanks!) about reading and writing A LOT of code, he mentions a |> few basic techniques. Is there a place where I could ftp a collection |> of the basic strategies used by programers? Please followup responses |> to this newsgroup because I'm sure other people would be interested. |> |> Thanks in advance... |> |> Chris Would it be possible to have a beginner's hill? If all of your code just gets wasted the same by the semi-permanent guys at the top how do you know what to expand on? It would be nice to know what things work against which types of code. Perhaps even a test hill which includes all of the basic strategies on their own and just posts back how well you did against each thus exposing your weaknesses. Just an idea TTFN Roderick Easton 2nd year Student Edinburgh University SCOTLAND Article 1653 of rec.games.corewar: Newsgroups: rec.games.corewar From: pk6811s@acad.drake.edu Subject: Re: Newbie questions about strategy Message-ID: <1993Feb25.090428.1@acad.drake.edu> Lines: 200 Sender: news@dunix.drake.edu (USENET News System) Nntp-Posting-Host: acad.drake.edu Organization: Drake University, Des Moines, Iowa, USA References: <1993Feb25.055842.12548@ucc.su.OZ.AU> Date: Thu, 25 Feb 1993 15:04:28 GMT In article <. . .> andy@extro.ucc.su.OZ.AU (Andrew Miehs) writes: > > the faq indicates that paper-type replicators (mainly imps) are the bane of > stone-type bombers, right? so what's the best defense against a paper attack? > what are the chances of survival of a very small bomber with some sort of > imp-gateway? what are the likely weaknesses of such a program? > > also, would someone kindly explain the use of reflections. i think i > understand what they are, but it would be handy if you could make it clear, > perhaps with an example or two. > Paper's strength is in existing at so many locations that a bomber can't kill it all. Eventually it will overwrite the stationary bomber and kill it. But it is susceptible to various attacks incorporating the 'spl' command. Vampires drop 'jmp' instructions all over core to make the paper jump into a 'slave pit' like: trap mov bomb,<-50 spl -1 jmp trap which grow cycles rapidly and slows the rest of the paper down. However, as W. Mintardjo pointed out, it is possible to design paper that can overwhelm a simple trap. Cmp-scanners and B-scanners search for the opponent and drop stun-bombs like: spl 0 jmp -1 or spl 0 spl 0 . . . <- a 'carpet' of spl-zeros spl 0 which also slow the paper down. Under continuous attack, most of the replicators will be stunned, and the rest will be destroyed in the core clear. Other fighters just drop the stun bombs in a pattern and trust to chance to catch the paper - usually a successful strategy. By-the-way, contrary to what was believed a year or two ago, a single spl-zero will not be a successful stun bomb against today's paper. Another strategy is to aim for a tie. If your warrior can beat some group of others on the Hill, but loses to paper, then maybe it could settle for tying paper. That is what imps do. Also, Return of the Living Dead seemed to tie paper a lot. ---- A reflection is a copy of your active code that is placed X locations away. It's sole purpose is to hide your code from a cmp-scanner which uses X as the cmp-distance. Reflections are very successful against scanners like Charon where the cmp-distance is half the inc-distance, but only half as successful against Agony-type's where the cmp- and inc- distances are unrelated. To demonstrate reflections, try running this version of Charon against this version of Eloquent and see how long it takes Charon to drop a bomb on Eloquent. Eloquent is a quad of replicators that stay together and reflect one another at 34 and 49. At one time it was winning up to 80% against Charon and No Mucking About. ;redcode ;name Charon v8.1 ;kill Charon ;author Cisek,Strack,Kline ;strategy (strategy lines deleted) STEP equ 68 ;scan constants: DIST equ 34 ;small, so can be reused in core clear DJNOFF equ decr-DIST FIRST equ DJNOFF+149 ;optimal offset to DJN train attack add switch,@compptr ;switch A- and B-fields mov jump,@comp compptr mov split, Lines: 39 Sender: news@dunix.drake.edu (USENET News System) Nntp-Posting-Host: acad.drake.edu Organization: Drake University, Des Moines, Iowa, USA Date: Fri, 26 Feb 1993 17:41:06 GMT Here's a tip that was worth 6 points and put Eclipse on the Hill. Eclipse starts with a b-scan. When it finds something it assumes 'imp', saves the found instruction to use as an increment in a bombing run, bombs for a while, then releases some small bombers. To avoid triggering the bombing run when a djn-stream was discovered I checked for minus-one like this: next add #step,@ptrptr scan jmz next,@ptr ptrptr cmp #-1,@ptr <- ignore djn-streams slt #105,@ptrptr jmn next,next . . . What I just realized was that Charon and Agony both have two instructions with minus-one for a b-field, and that Eclipse was therefore ignoring those locations. So I changed it to this: next add #step,@ptrptr scan jmz next,@ptr ptrptr cmp minone,@ptr <- ignore djn-streams slt #105,@ptrptr jmn next,next . . . start sub #1,minone <- create minone about 3000 locations away jmp next Now Eclipse ignores djn-streams but recognizes the locations in Charon and Agony as 'opponent'. Result - 6 more points and finally on the Hill. I'm still working on the bombers, but here is one interesting variation which bombs forward and decrements backward: b1 add #2,2 spl -1,<-51 mov <-1,<51 jmp -2,<-2 Paul Kline pk6811s@acad.drake.edu 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, Sender: news@news.iastate.edu (USENET News System) Organization: Iowa State University, Ames IA References: <32298@castle.ed.ac.uk> Date: Sat, 27 Feb 1993 01:00:12 GMT Lines: 28 In <32298@castle.ed.ac.uk> emeu09@castle.ed.ac.uk (Mech Eng Student) writes: >Would it be possible to have a beginner's hill? If all of your code just gets >wasted the same by the semi-permanent guys at the top how do you know what to >expand on? It would be nice to know what things work against which types of code. >Perhaps even a test hill which includes all of the basic strategies on their own >and just posts back how well you did against each thus exposing your weaknesses. I would like to see a beginners hill also. Here are a few specific suggestions: 1. Have the warriors score be calculated by ((2*wins)+ties-age) rather than ((2*wins+ties). This automatically will remove successful warriors, leaving room for new beginners code. 2. Ban specific successful authors. I would suggest banning anyone that has had a warrior in the top ten on the regular hill that is age > 100. 3. Do not post beginners hill results to the net. Also, do not automatically forward warriors from beginners hill to other to tournaments. Hopefully the lack of noterity will discourage authors from `sandbagging'. 4. Keep the rules the same as for KOTH, to make the transition easier. Rodney Schuler Nuclear Engineering Remember: One, JUST ONE thermonuclear device Iowa State University can ruin your whole day! rschuler@iastate.edu Article 1657 of rec.games.corewar: From: sadkins@bigbird.cs.ohiou.edu (Scott W. Adkins) Newsgroups: rec.games.corewar Subject: Re: Beginners Hill Message-ID: <1993Feb27.030042.23549@oucsace.cs.ohiou.edu> Date: 27 Feb 93 03:00:42 GMT References: <32298@castle.ed.ac.uk> Sender: usenet@oucsace.cs.ohiou.edu (Network News Poster) Organization: Ohio University CS Dept., Athens Lines: 49 In article rschuler@iastate.edu (Rodney A Schuler) writes: > >I would like to see a beginners hill also. Here are a few specific >suggestions: > >1. Have the warriors score be calculated by ((2*wins)+ties-age) rather >than ((2*wins+ties). This automatically will remove successful warriors, >leaving room for new beginners code. I think this is not a good enough scoring method and would result in too many changes... if there are good beginning programs, shouldn't they at least stay on long enough for those others to test their programs against? Maybe we should keep the scoring the same (so that it is similar to the real hill) and look for other ways to improve it for beginners. >2. Ban specific successful authors. I would suggest banning anyone that >has had a warrior in the top ten on the regular hill that is age > 100. I thought about this, and even thought at one time that this was a good idea... but I think it would be better to say that each author may have at most one warrior on the hill at a time... this would give more authors the chance to get on the hill... Also, the age limit is a good way to limit warriors as well... this would supercede the #1 above... >3. Do not post beginners hill results to the net. Also, do not >automatically forward warriors from beginners hill to other to tournaments. >Hopefully the lack of noterity will discourage authors from `sandbagging'. I somehow have an uneasy feeling about this. I am more under the impression that a beginner's hill should automatically release the code to any of the contestants that are trying to get on the hill... This would allow each person to learn about how the other warriors tick, as well as discourage those who think their code is valuable from playing on the hill to begin with... (they should play on the real hill at that point). The beginner's hill is one for learning, not stagnation... sandbagging is a problem for all hills and tournaments and archives and ... >4. Keep the rules the same as for KOTH, to make the transition easier. Exactly... this means no #1 above... Changes would mean the following: 1) age > 100 knocks a warrior off (should there be a penalty for resubmission of same warrior?) 2) maximum of 1 warrior per author on the hill at one time 3) source for each warrior currently on the hill should be automatically given to the person trying to get on the hill -- Scott W. Adkins Internet: sadkins@bigbird.cs.ohiou.edu ~~~~~~~~~~~~~~~ ak323@cleveland.freenet.edu Ohio University of Athens Bitnet: adkins@ouaccvma.bitnet Article 1658 of rec.games.corewar: From: sadkins@bigbird.cs.ohiou.edu (Scott W. Adkins) Newsgroups: rec.games.corewar Subject: Hills in general... Message-ID: <1993Feb27.031654.25038@oucsace.cs.ohiou.edu> Date: 27 Feb 93 03:16:54 GMT Sender: usenet@oucsace.cs.ohiou.edu (Network News Poster) Organization: Ohio University CS Dept., Athens Lines: 39 Well, while we are still on the subject of hills and beginners... what about having a Hall of Fame or something... if a warrior got pushed off the hill because the age > 100 or something like that, then another hill should be created to accomodate these warriors. The hill could grow without size (I am sure it would grow slowly, so boundless is not too bad) and allow others to challenge those on that hill just to see how they would do... To make things easier, I think we would need a few more comment lines: 1) ;redcode-b [ quiet | verbose ] Challenge the Beginner's Hill... 2) ;redcode-h [ quiet | verbose ] Challenge the Hall of Fame Hill... quiet -> just send back results of battles (none) and verbose -> send back redcode and results of battles 3) ;report [source] ;report-b [source] ;report-x [source] ;report-h [source] Give current standings of the hills... this would eliminate all those suicide programs that check to see the current hill standings. If the source option is provided, then include the sources of the programs as well. For the real and experimental hills, the ;source line must be included before the source is released. 4) ;source Allows the source of your warrior to be distributed when challenging the hill or while on the hill. Note: This is the default case for the beginner's hill and the hall-of-fame hill. It is *not* the default case for the experimnetal hill and the real hill... Well, I had better stop here. I plan on setting up a corewar server eventually, but it will be quite different from KotH style... it will be both a mail server and a socket server (i.e, you can telnet to it), which will allow you access to all warriors in the archive, and also allow you to test and debug your warriors, etc. But that will be later. Scott -- Scott W. Adkins Internet: sadkins@bigbird.cs.ohiou.edu ~~~~~~~~~~~~~~~ ak323@cleveland.freenet.edu Ohio University of Athens Bitnet: adkins@ouaccvma.bitnet Article 1659 of rec.games.corewar: From: durham@cup.portal.com (Mark Allen Durham) Newsgroups: rec.games.corewar Subject: State of the EBS Address Message-ID: <76612@cup.portal.com> Date: Sat, 27 Feb 93 20:26:33 PST Organization: The Portal System (TM) Distribution: world Lines: 103 State of the EBS Address February 27, 1993 Fellow Core War Enthusiasts, The Electronic Branch Section of the International Core War Society has existed informally since the Summer of 1991. In the Fall of 1991, I petitioned the ICWS, on behalf of all Core War enthusiasts with access to electronic mail, to recognize the EBS as an official Branch Section. Although I never received an official "Certificate of Recognition" from the (then) Director, as stated in the "Guidelines for Establishing A Local Core Wars Section" document, I HAVE received affirmation from both the (then) Director and the present Director of the ICWS of the EBS's official status. Part of being an official Branch Section is the establishment of Branch Section rules. The EBS has only one rule: 1. Members of the EBS are those with access to electronic mail. The EBS currently charges no dues and has no other membership rules. Since the establishment of the USENET newsgroup rec.games.corewar, the vast majority of the EBS's business has been carried out there. An effort is underway to provide a server for those members of the EBS without access to rec.games.corewar. As a Branch Section of the ICWS, the EBS currently has the following obligations only: 1. The EBS is required to promote the use of MARS and Redcode programs consistent with standards documents approved by the ICWS and its Director (currenty Jon Newman, jonn@microsoft.com). 2. The EBS is required to conduct tournaments in a timely, periodic fashion, and will choose no more than ten (10) winners yearly from such tournaments. Programs chosen as winners are then to be presented formally by the EBS to the ICWS for inclusion in the annual ICWS tournament. Throughout the existence of the EBS, I have served as its de facto Representative to the ICWS. It is with a heavy heart and a light wallet that I am forced to bid farewell to the net, at least for awhile. Obviously, I can no longer serve in that position. The EBS's most important need is for someone to come forward and volunteer to serve as liason and Representative to the ICWS. All that is needed is your own personal conviction, a willingness to work under the above constraints, and to contact the Director and inform him that you are currently representing the EBS. You should also see to it that the EBS holds its annual tournament, selects ten finalists, and sends them on to the annual ICWS tournament. I hope to be back by March of 1994 when Core War celebrates its Tenth Anniversary. In the interim, I will try to maintain as much contact as possible through the ICWS and other avenues. Other than the above, the EBS is in excellent condition. The EBS is well served by its archive in /pub/corewar at soda.berkeley.edu and the ongoing Core War tournaments known as King of the Hill. Activity on rec.games.corewar, although somewhat seasonal, continues to be strong and even increase over time. The rec.games.corewar FAQ continues to improve and now reaches a much wider audience, possibly bringing others into the fold. The benefit to Core War enthusiasts is clear when you consider that the EBS entrants have dominated the last two ICWS tournaments. In fact, the EBS has become the tail that wags the dog. I hope that the EBS does not turn its back on the ICWS, but continues to work with the ICWS and Core War enthusiasts in general. I do not want to be alarmist. I do not see signs that there may be a parting of the ways. I am just pointing out that there is potential here. There are two items the EBS needs to tackle over the next year. The first is the draft of the new standard. Although new standards fall under the jurisdiction of the ICWS, it is clear that the EBS can serve a very useful function in developing, testing, and proposing the adoption of a new standard. Second, the EBS should probably establish some rules for choosing officers. Volunteerism has served us well so far, and part of the appeal of the EBS has been its lack of rigid structure, but the continued survival of the EBS depends on developing at least some semblance of structure to hold the group together. Personal Reflections: For perhaps the first time in nine years, I truly feel that Core War is not in immediate danger of being forgotten. I am confident that I could leave civilization for five years, come back, and find that there is still a rec.games.corewar, still an ICWS, and still a group of the finest people on the face of the Earth engaged in playing Core War. And probably someone saying, "It won't last a month." About a year ago, maybe more, someone posted to rec.games.corewar that there really was no point to a King of the Hill program. XTC, the best warrior at the time, was considered to be practically invincible. They said it would still be on the hill a month later; even a year later. They were almost right. XTC fell off the hill somewhere around a month later. I recently submitted it to KotH to see how well it would fare now that it is a year later. XTC did make it onto the hill. Dead last. It survived only until the next challenger appeared. When you consider that the hill is twice the size it was a year ago, it is clear that Core War HAS progressed over the last year, and that there is always room for innovation and improvement. Mark A. Durham Article 1660 of rec.games.corewar: From: durham@cup.portal.com (Mark Allen Durham) Newsgroups: rec.games.corewar Subject: April Fools Message-ID: <76613@cup.portal.com> Date: Sat, 27 Feb 93 20:28:02 PST Organization: The Portal System (TM) Distribution: world Lines: 27 (It's a month early, but I just had to get this off my hard disk before signing off. Like postcards from mortuaries which state "We hope that you did not receive this in a time of personal crisis", I did not intend to personally offend if you see yourself in this mirror. MAD ;) ) April 1, 1993 Dear rec.games.corewar, Could someone please send me the standards, the Redcode warriors, all of the posts to rec.games.corewar, and anything else having to do with corewar over the last nine years? Could someone post the FAQ? I didn't feel like reading it last time and I can't wait around to see if it will ever be posted again. Of course, I don't have FTP and this isn't even my account. So don't bother posting a reply. I don't even have time to read this newsgroup. Is there a corewar system for a Cray? Could you bring it to me? I don't trust the Post Office or UPS. Oh, and bring the Cray. I don't have one of those either, but I won't play games on anything less. I have no money and I can't read. Someone else is typing this for me. Average Student Prestigious University