[00:24] Join: datagram joined #corewars [00:47] Hmm, I am anxious to see the full results for this round [01:50] Join: Q-Thief joined #corewars [01:56] Part: Q-Thief left #corewars [03:51] Join: datagram_ joined #corewars [07:33] Join: Mizcu joined #corewars [08:07] http://news.bbc.co.uk/1/hi/sci/tech/4335160.stm [08:12] Hi Mizcu ! [08:13] hi data [08:13] How goes it [08:14] relatively well [08:14] though i lost to Nenad [08:14] It happens [08:14] What type warriors did you two send? [08:14] Seems we both sent papers [08:15] Ah [08:15] Well, atleast i did ;) [08:19] hmm.. i have to figure out what i want as graduation present from my aunt, how lives in Singapore [08:20] Heh [08:20] Money is always good! :P [08:20] nah, i have a chance to ask for something exotic [08:21] http://koti.mbnet.fi/mizcu/pallot.jpg [08:21] crap shot taken with the cam in my cellular [08:26] A past gift? [08:27] actually i bought first two(sets) when i visited there 6 years ago [08:27] rest were a requested gift [10:42] Mizcu: That's cool [10:42] maybe i should request some decorative shortsword or similiar [10:43] Heh [10:43] Do you play Go? Get an authentic asian board and the fancy stones [10:44] Not a bad idea, if i would play it [10:45] Heh [10:45] My set that I bought is nice [10:45] Played on it last night, actually [11:11] Join: Imrahil joined #corewars [11:12] ooh, a new nick [11:14] Dum dum dummm [11:14] Heh [11:56] MSG: Quit: Leaving [12:10] Sic hoc adfixum in obice legere potes, et liberaliter educatus [12:10] et nimis propinquus ades [12:11] If you can read this bumper sticker, you are [12:11] very well educated and much too close [12:18] well Mizcu, i don't have anything comparable to the Latinum, so I stick to bad English, even worse French and some good german [12:19] he, i say [12:19] but interestingly either I'm too stupid to get anything like a local test engine for my programm or there isn't anything like it [12:20] www.geocities.com/corewin2/ - for windows [12:21] thx [12:21] http://sourceforge.net/projects/corewar - for *nix [12:26] hm, ok, I think I'll read the beginners guide *g* [12:27] If you get questions, just ask and ill answer. Though i think i might be AFK for an hour or two [12:29] If you want to talk someone in German, ask Fizmo, Jens/Fluffy, Sascha or Fiveop once they arrive. [12:29] kk [12:29] is there any possility to copy more than a line of code? [12:44] not without looping while modifying the mov [12:45] ok, that's a more complex matter [12:46] you can copy stuff with only two lines, mov and a loop, but that requires use of addressing modes, and they are not first thing teached to beginners [12:52] well, I'll just stick to the FAQs and the guide then [12:54] how are the programms placed in the competition environment? [13:23] another is placed at position 0001-0100, and second semi-randomly [13:24] there is usually a minimum lenght set between the warriors [14:06] is it possible to change both sides of a following DAT with a jmn ? [14:08] no [14:22] Join: ranok joined #corewars [14:22] hello all [14:22] hi [14:23] how are you today? [14:24] nice and you? [14:24] ok [14:24] I think I just found something for my idle hours ;) [14:25] yeah? [14:25] what? [14:25] corewars ;) [14:25] oh [14:26] another newbie, whee! [14:26] I'd like to start [14:26] *lol* [14:26] yet, I'm a little confused [14:26] http://vyznev.net/corewar/guide.html#deep_math [14:26] ah [14:26] http://vyznev.net/corewar/guide.html [14:26] this helps you a lot [14:26] after reading this it's a matter of try and error [14:27] where are you from? [14:27] USA [14:28] wha, that's quite tricky, i try to increase either both values of the following dat or two dats [14:28] I get most of it, yet, I don't understand indirect addressing [14:28] both is near to impossible ^^ [14:28] or, have any strategy [14:28] Imrahil: add.f #1, 1 [14:28] well I'm using a bomb core and try to get it to replicating [14:29] ranok: aht, how should i explain this.. [14:29] argh, sometimes your in the middle of something and try it complicated, and then someone just walks along pastes a line of code and stupifys your 20 lines of code ;) [14:29] Imra: familiar feeling :) [14:31] not really for me [14:31] ranok: you have an instruction, say you are moving something with target having indirect addressing. First, the mov reads the target address, and the values in it. Then it takes either a- or b-field, depending on the indirect addressing you are using-- [14:32] ranok: and uses that as the target where stuff is moved to. [14:32] example 2: [14:32] jmp @1 [14:33] dat 0, 20 [14:34] jmp looks at instruction itself+1, and reads its b-field, because @ is b-field indirect. Then, it reads the value (20) and adds it to 1 in-memory. Then the value is used as the final destination, in that case itself+21 [14:34] The adding in-memory doesnt modify anything in the core [14:34] well, I'll just play with it [14:35] Unless <>{} is used, which is the second chapter in indirect addressing [14:35] well, add did the trick [14:35] copy mov @copya, *copya [14:35] add #1, copya [14:35] jmn.b -2, }1 [14:35] copya dat #2, #-8 [14:35] but this just goes from the jmn to the dat [14:35] not back to mov [14:36] you are adding 1,2 into copya [14:36] add.f 5, somewhere doesnt add 5,5 , but instead 5,somewhere [14:38] ah, im messing you up [14:38] correct ^^ [14:38] i shoulve written add.f #5, somewhere [14:38] well, so add.b #1, copya should add 1 in the b-field of copya? [14:39] no [14:39] add.ab #1, copya does [14:39] add.b #xxx, copya adds 0, copya [14:39] Hello gents [14:39] hi again, data [14:39] ranok, I'm also a USA player [14:39] interesting, I think this kind of code is nothing at all like any language I used before [14:39] It's assembly [14:40] really really simplified assembly [14:40] Da [14:40] But assembly none the less : ) [14:42] confusing none the less ;) [14:43] lol [14:43] atleast there aren;t any ints [14:43] int 21, wtf [14:48] hm, why does this programm no jump to the beginning of its copy? [14:49] Lemme explain it [14:49] (as direct msg) [14:51] would they got mad if I just sen t in a program [14:51] please explain, they? [14:51] koth admins [14:51] one that would most definatly suck [14:51] If its your own code, no [14:51] but you wont get very far there [14:52] sal.math.ualberta.ca has beginner-hill [14:52] But it is also somewhat challenging for a just-starter. [14:52] newsgroup? [14:53] Ints are confusing in 80x86 : ) ? [14:53] rec.games.corewar [14:54] http://groups.google.com/group/rec.games.corewar [14:59] i brb [14:59] restart into windows [15:00] MSG: Quit: Leaving [15:05] Please complain at Fizmo and ask him to post all of last round's results and warriors and the round robin please Mizcu :P [15:05] I am off to bed [15:05] Night night! [15:09] hm [15:09] i combined the midget with the dwarf [15:09] as a result it sometimes just erases everything else sometimes it just erases itself ;) [15:09] ah, the mice with the dwarf ;) [15:10] Killing own copies is quite common with replicators, you just have to live with it. [15:12] Problem: it does not kill the whole copy it just kills part of it [15:12] and so the Process count goes up and up and up and ... you know what i mean ;) [15:15] Join: ranok joined #corewars [15:15] I'm back [15:16] only a part of it.. you have spl 0 somewhere in the code? [15:18] no [15:18] It's just that the bomb is killed and the replicator just replicates trash [15:18] the concept of piper ist more interesting [15:19] just copy a very large amount of data [15:21] dtd: mov 2, -7 [15:21] jmp -1 [15:21] dat 0, 0 [15:21] end [15:21] would that work? [15:22] for what? [15:22] yes. But it would be useless against everything other than imps [15:22] you want to copy something endless behind you [15:22] imp countertask [15:22] I call it: DTD [15:23] destined to die [15:23] lol, start getting it working before giving it nice names ;) [15:27] well [15:27] it beat an imp [15:27] 8-2 [15:27] but then lost to a dwarf [15:27] 32-0 [15:29] mine beat an imp 2-0 [15:29] ^^ [15:29] w00t, nice [15:29] within 10 matches [15:29] ^^ [15:30] 4-0 [15:31] ouch [15:31] 7-0 against midget [15:38] 5-4 loss against the midget [15:40] 6-4 won ^^ [15:41] Usually more that 100 matches are done to be sure of result's accuracy [15:43] 50-47 won against midget ;) [15:46] hm, it would be interesting to know how many lines you really need for a copytool [15:46] not even one that copys itself [15:50] 2 with multiprocess, 3 with single [15:51] i don't really understand what you mean with multiprocess? [15:51] running multiple processes per each copy [15:51] Mouse uses just 1 per copy, modern paper usually use 8 per each [15:52] Mouse, Mice, bleh.. [15:53] i dont even get one multiple process to running [15:54] spl anywhere :) [15:57] Join: elkauka joined #corewars [15:58] hi [16:02] is it possible to have a DAT not terminating a process? [16:04] no [16:06] ah, i forgot to mention kauka in the list of Germans [16:09] ? [16:09] I thought dat 0,0 was a legal instruction [16:12] 15. Is it DAT 0, 0 or DAT #0, #0? How do I compare to core? [16:12] Core is initialized to DAT 0, 0. This is an illegal instruction (in source [16:12] code) under ICWS'88 rules and strictly compliant assemblers (such as KotH or [16:12] pmars -8) will not let you have a DAT 0, 0 instruction in your source code - [16:12] only DAT #0, #0. So this begs the question, how to compare something to see [16:12] if it is empty core. The answer is, most likely the instruction before your [16:12] first instruction and the instruction after your last instruction are both [16:12] DAT 0, 0. You can use them, or any other likely unmodified instructions, for [16:12] comparison. Note that under ICWS'94, DAT 0, 0 is a legal instruction. [16:15] legal in that you may use it in your warrior, not legal in way that you can step on one [16:15] scorpion vs midget seems to be a tie [16:17] 4700 imps [16:17] ^^ [16:17] Ah okay Mizcu [16:20] Join: Fluffy joined #corewars [16:20] Hi everybody! [16:20] hi fluffy [16:20] isn't arcor german? ^^ [16:21] Yes, I'm from Germany [16:21] ich auch ;) [16:22] elkauka: It seems, that we both have failed the Roy-limit ;-) [16:22] yup [16:23] is it possible to do 100 rounds in a row with this wincore? [16:23] ah, corewin ;) [16:23] Imrahil: Are you new to corewar? [16:23] absolutely [16:24] Unfortunately I don't use corewin [16:24] yes yo can [16:25] settings / rounds 100 [16:25] hm, I think I'll try my programm against whatever those other guys came up with [16:25] no elkauka, i mean without having to click start every round [16:25] Settings -> lower right corner, matches per round [16:27] * Fluffy is now reading the logs and therefore away for a moment [16:27] where the heck is settings supposed to be [16:29] there are a few buttons in the main frame (start, vie core etc) [16:29] and there is a button for settings [16:29] (maybe labeled with options or setup) [16:30] in setup i only have matches per round [16:31] and i set that to 100 [16:31] If I remember correctly there is an online tutorial and a FAQ for Corewin on its homepage [16:36] Imrahil: wenns dir leichter fällt frag einfach auf deutsch. fluffy spricht das auch [16:36] lol...hätte die logs wohl vorher mal lesen sollen... [16:37] :) [16:38] I was just thinking about the rules for the semifinal... [16:38] hm, doofer weise find ich einfach nix was in die richtung ginge [16:38] It is still possible to write normal stilk-style papers. [16:38] *silk [16:39] Simply create the paper by copying the given spl's and then adjust the values [16:40] well but thats an abuse of the rules isnt it? [16:40] Piper, Mice, Midget und meiner [16:41] ergebnis: 7 4 1 4 [16:41] hm [16:41] No, I don't think so, elkauka. [16:41] is there anything like a noob server or so? [16:41] You simply copy the given spl's. What is wrong with that. [16:41] Imrahil: Yes, one moment [16:41] Rounds is in setup for corewin [16:42] maxprocesse should be 32...but fizmo wants you start with 32 parallel running processes...not more [16:42] Fluffy, You can't do that because of the mov [16:42] It overwrites the spl [16:42] Imrahil: http://sal.math.ualberta.ca/ [16:43] datagram: Yes, you're right :( [16:43] I thought about that earlier : ) [16:43] * elkauka hasnt noitced the mov either [16:43] This round is the toughest yet, at least from my standpoint [16:43] It doesn't matter, because I'm more than out now ;-) [16:44] At least in 3800 you could use tiny warriors [16:44] Heh [16:44] You're now with me in spirit jens! [16:44] As I battle on [16:44] I would never do that ;-) [16:44] You had a tough bracket though [16:44] I'm a selfish guy ;-) [16:44] Heh [16:44] Did you see I made a paper? [16:44] Sort of [16:45] Either I win or I try to do anything to make nobody win ;-) [16:45] P switching scanner / kline paper was my Quarterfinal round entry [16:45] the next challenge, upload a warrior ^^ [16:46] But I suck/couldnt fit anymore code in, so it was just the default kline paper example [16:46] hehe [16:46] Imrahil: alles was du brauchst ist ein email programm, bei sal musst du dich außerdem vorher registrieren..ist alles ganz gut in deren hilfe erklärt [16:46] registriert bin ich [16:47] dann steht dem eigendlich nicht mehr im wege ... lies die aber die hilfe durch, das ist erklärt, was du noch an befehlen in der email haben musst [16:47] es ist ich versteht nicht Deutsches zu schlecht [16:48] obviously [16:48] Heh [16:48] Gogo babelfish! [16:48] datagram: Use English, at least then we can understand you ;-) [16:48] well, i think i did it ;) [16:48] Hey, once a week I get to pretend I speak german [16:48] That's the deal [16:49] Imrahil: sal brauch manchmal etwas bis es die ergebinsse ausspuckt, also etwas gedult [16:49] datagram: I was so stupid to make a backup of all my warriors, but didn't include my warrior for CWSET [16:49] Yeah I saw that [16:49] What ended up happening? [16:49] datagram: I had to write a new one from scratch [16:49] a simple paper with a shortened qscan [16:49] : / [16:49] What was the original [16:49] Original what? [16:50] The original version [16:50] Same thing, but better? [16:50] the mail has to go to or where? [16:50] [16:50] [16:50] datagram: It was a p/s [16:50] I see [16:50] That was popular this round [16:51] I has optimax running for almost the complete week [16:51] : / [16:51] Bad luck this tournament! [16:51] Next one you will go wild, don't worry :P [16:51] Karma! [16:51] hehe [16:51] You got the bracket I was supposed to get [16:51] when will my warrior be updated? [16:52] Roy didn't get 1st though [16:52] Imrahil, It challenges the hill [16:52] So it runs a tournament, and the warrior with the lowest score gets pushed off [16:52] if your score is better than the lowest, you stay on the hill [16:52] Imrahil: after 1 or 2 mins [16:52] kk [16:53] (17:49:14) elkauka:  Imrahil: sal brauch manchmal etwas bis es die ergebinsse ausspuckt, also etwas gedult [16:53] I also barely got on 94b the other day [16:53] By the end of the week I will be koth mwuhaha [16:53] Fluffy, How's this for a warrior name [16:53] "Warmaker" [16:53] on 94nop or 94b? [16:53] 94b [16:54] Join: Nenad joined #corewars [16:54] Hi [16:54] Actually Planter will do better on 94b once more scanners get pushed off [16:54] He's s/i resistant [16:54] Hi Nenad! [16:54] Hi Nenad [16:54] Okay, now I REALLY have to goto bed [16:54] 9 AM here [16:54] 0900 ;) [16:54] heh [16:54] * Fluffy waves [16:55] * Nenad waves [16:55] Hi Nenad! [16:55] Goodnight [16:55] Hi Jens [16:55] nenad/jens ... isnt in time to remove your topscoring warrior from the beginner hill? [16:55] hehe ... I've just noticed, that Yatima is koth on 94b. I thought, that it was near being pushed off [16:55] did you see Zul submitted Harmless Fluffy etc. at 94t? [16:56] so, you are not the only one :) [16:56] Yes, MK I MGM is still on that hill :) [16:57] elkauka: I think, I should do that. I've already killed all my other warriors on 94b a while ago [16:57] elkauka: I thought I'd leave one warrior on 94b, since I want to get the hill reports and to be able to monitor the hill. Svarog is a beginner strength warrior, not unbeatable in any way... If you recall, I voted for 100 age limit at 94b and I still want that to happen ... and also to be able to subscribe to the hill challenge results [16:58] Imrahil: Have already gotten on email from SAL about an successful assembly of your warrior? [16:59] elkauka: There are other much older warriors there - Unknown, Tom... [16:59] Star by Sascha Zapf [17:00] Fizmo/Joonas: Any news about implementing the age limit on SAL? [17:00] and adding that hill where the warriors killed by age limit mechanism will continue to fight :) [17:01] btw, are the rules for the next round posted ar rgc? [17:02] don't know [17:02] seems not... [17:03] but on corewar.info you can find them [17:05] Jens: why don't you try making something like SDN? You like making papers, but I didn't see you try to improve that approach suggested by Fizmo. [17:07] hmm .. S.D.N. looks interesting and I've already thought about that, but not yet [17:07] Working on my MARS is far more interesting at the moment [17:09] the rules for the semifinals are interesting... and very hard [17:10] at least you can reduce the 32 processes to any number below 32 [17:10] well, 32 is too much... [17:10] So normal scanners would be easy [17:11] since you can't split, the only way to "split" the processes is by multiple djn's [17:11] I won't be needing 32 processes at one place, that's for sure [17:11] but what's the point in scanners? [17:11] no papers [17:11] and stones are faster [17:12] that was probably Fizmo's intention [17:12] ... although stones won't be so easy to make [17:12] you can't enter coreclear by selfhit with dat [17:12] since you'll die [17:13] you can overwrite your inc with dat 1,1 [17:13] but you don't split [17:13] but, now to play ET [17:13] Maybe you could throw sth. other than a dat [17:13] what s that? [17:13] a computer game he likes to play [17:13] that much I could figure out myself ;-) [17:14] But what stands ET for? [17:14] I think that we should officially declare Mizcu are corewar beginners mentor... He's always here when new beginnes arrive. [17:14] *are=our [17:15] Do "old beginners" exist? [17:15] well, probably [17:15] if you read the discussion thread regarding actions to promote corewar... [17:16] I think that I saw some posts by guys who know about corewar for quite some time, but never did anything significant [17:16] then what? [17:16] however, they are not really "active" [17:17] Fluffy: et = return to castle wolfenstein: enemy territory [17:17] hmm ... yet another game, I don't know ;-) [17:18] x-mas lemmings is still the best game, that I've played so far [17:18] Chrono trigger, if you ask me [17:18] or civ2 [17:18] never played that, only the original civ [17:19] alpha centaury was even better [17:19] you should play that one [17:19] But I can still remember the days, when i've spent almost the complete day playing the original Tetris [17:20] I've got to go... see you later, guys [17:20] * Nenad waves [17:20] * Fluffy waves [17:20] MSG: [17:21] Imrahil: Is AotI your warrior? [17:29] yeah [17:29] pretty bad ^^ [17:29] No, I've started with a similar score on 94b [17:29] I took me a lot of different warriors until I got onto the hill [17:29] *phew* thanks for building up my selfesteem [17:30] :) [17:30] Simply try to improve the warrior, you've got. [17:30] Try different values [17:30] Later you should try to optimize it against some benchmarks [17:33] It's just swept away [17:34] Imrahil: http://sal.math.ualberta.ca/hill.php?key=94b&t=341&how=late&sortby=score&dir=desc [17:35] My first warrior was almost as worse (score: 49) [17:36] I've simply tried a lot of different strategies until I got stuck with papers [17:36] papers? [17:36] warriors, that endlessly create and start copies of themselves [17:36] my problem is that this isn't very fast [17:37] why does this thing split the task but does not create a new task [17:37] it's so slow i can nearly watch it in fullspeed [17:37] it your warrior long? If not, post it here. We could try to imporve it [17:38] *improve [17:38] Join: willvarfa joined #corewars [17:38] *it->is [17:38] evening all [17:38] Hi willvarfa! [17:40] it manages some ties but never a win [17:40] hm [17:40] i think I need a new strategy [17:41] 207 losses and 43 ties against piper [17:42] at http://www.koth.org/wilkies/ you can find the Wilkies-Benchmark (quite an old one). It contains good old and relatively simple warriors. [17:42] Timescape is a good example of a paper (replicator) [17:44] If I understand your description of AotI correctly, it throws imps and starts them. [17:45] Der Befehl "pmars" ist entweder falsch geschrieben oder [17:45] konnte nicht gefunden werden. [17:45] lol [17:45] hehe [17:45] pmars is the standard MARS for corewar [17:45] you can find it at http://sf.net/projects/corewar [17:45] but you have to compile it yourself [17:46] If you don't want to compile it, try to load the warriors of the Wilkies-benchmark in corewin [17:49] that works [17:49] :) [17:49] Now you only have to understand how the warriors work :) [17:50] write your own warriors [17:50] and become koth ;-) [17:51] lol [17:51] damn [17:51] It isn't that hard ;-) [17:51] 250 rounds are long [17:51] Where is the problem? [17:51] I am going against all the benchmark scripts with 250 rounds [17:52] matchup 7 of 12 [17:52] and it allready runs about 12 minutes [17:52] hmm ... how fast is your computer [17:52] ? [17:52] thats a pentium 3 with 2,8 ghz [17:53] and 512mb ram [17:53] set graphics off [17:53] allready did that [17:53] score 47 [17:53] lol [17:54] If I remember correctly, my first problem was to get a score of >100 against wilkies. It took me quite a lot of time [17:55] I has helped me a little to look at other peoples code. First I've tried to understand the code and then made slight changes [17:55] hm [17:56] final score 51 [17:56] ok, and that was a simple imp [17:56] string mov 0,1 [17:56] start mov string, 2 [17:56] spl -1 [17:56] thats it ;) [17:56] well, this code kind of cries for more ;) [17:57] hmm ... that way it is hard to overwrite the complete core [17:57] yeah [17:57] I'll try it combined with a selfreplication [17:57] try to start the imp a different positions of the core [17:57] for instance at every 20th location [17:58] *a->at [17:59] You could try to modify a dwarf to do that [17:59] I know how to do this, I'll try my idea first ;) [18:00] of course :) [18:00] And keep sending your warriors to the hill. That's what they are for ;) [18:08] MSG: [18:17] but why is this so slow [18:17] the heart of my warrior is atm this imp recreating [18:17] but it is so damn slow I can watch it groing [18:22] It isn't slow, but in the version, that you've posted, a lot of imps are executed at the same location! [18:22] That is why, that is seems to be so slow [18:29] WOW [18:29] your Idea with the bomb imp was really good [18:30] :) [18:30] no losses till now ;) [18:30] score 260 [18:31] against wilkies? [18:31] yeah, that was the first wilkie [18:31] ^^ [18:32] score dropped to 170 after the firestorm ^^ [18:32] keeps on dropping [18:33] You will soon notice, that often your warrior is very good against a certain type of opponent, but quite bad against the rest. [18:33] yeah [18:33] The art of corewar is to find a warrior, that is good against all types of warriors. [18:33] I optimized it against Tornado [18:35] hmm ... Tornado is a stone (i.e. bomber, which throws dat-bombs) [18:35] stones are easily beaten by papers and other types of programs, that run with a lot of processes [18:36] what is your final score against wilkies? [18:37] scoring is running [18:37] scoring against wilkies with 100 rounds per match: 77,5 [18:37] You could send your new version to 94b to see, whether it now scores better [18:38] Submitted: 2005-11-13 11:37:18.301609 GMT [18:38] Deceased: 2005-11-13 11:37:18.301609 GMT (pushed off / didn't make it) [18:39] even worse than my first [18:39] I see. You still might have a problem with your imps [18:39] ^^ [18:39] You start a lot of them in order to overwrite your opponent [18:39] that's the idea [18:40] But it seems, that they also overwrite your warrior! [18:40] You have to find a means to mop your imps up once they come too near [18:40] perhaps i just strike back to protect me against my own imps [18:40] there is sth. called "imp-gate" [18:41] a simple "jmp 0, < -10" always wins against an imp [18:42] start SPL protect [18:42] loop ADD.AB #41, data [18:42] MOV.I bomb, @data [18:42] SPL @data [18:42] JMP loop [18:42] data dat #0, #0 [18:42] bomb MOV 0, 1 [18:42] protect jmp 0, < -10 [18:43] won't work very well, because your protection isn't executed that often [18:43] hm [18:43] i could do it with every imp [18:44] the crucial part is the "< somePositionBeforeYourWarrior" [18:44] I understand your code [18:44] It can be placed anywhere in your warrior, where a free b-field is [18:45] i'll insert it at the JMP [18:45] good idea :) [18:45] start ADD.AB #41, data [18:45] MOV.I bomb, @data [18:45] SPL @data, < -5 [18:45] JMP start, < -6 [18:45] data dat #0, #0 [18:45] bomb MOV 0, 1 [18:45] But there are still other possibilites [18:45] that protects me from my own imps at least [18:46] you should try to run it [18:46] it still won't work very well against your own imps [18:49] hm [18:49] the problem is simple, it overwrites the code by inserting it right behind the border ;) [18:51] maybe you should change the step (41) to prevent this [18:55] i think the overwriting doesnt work [18:57] overwriting what? [18:57] hm, ok, it works, but it isn't done often enough [18:58] I thought the < -x didn't do anything to the mov [19:03] * willvarfa pings bvowk [19:06] Join: Fizmo joined #corewars [19:06] hi [19:06] Hi Fizmo! [19:06] hi all :) [19:06] hello Fiz [19:06] hi fizzer [19:07] Fizmo: Nice idea with the fixed number of processes, especially the part with overwriting the spl's! [19:08] heh, well. Let's see what kind of ideas we'll see :) [19:08] i think the gate works now [19:08] :) [19:08] Imrahil: You can save an instruction in your code: [19:08] start ADD.AB #41, data [19:08] data MOV.I bomb, 3 [19:08] SPL @data, < -5 [19:08] JMP start, < -6 [19:08] bomb MOV 0, 1 [19:08] you can use the mov directly as the pointer [19:09] no 'external' pointer needed [19:09] how? [19:09] you chance directly the b-field of the mov-instruction [19:09] and use mov #0,1 instead of mov 0,1 [19:10] yes, that would make the imp more durable, because it's less sensitive then in the a-field [19:10] but you must use: [19:10] mov.i #0, 1 [19:11] otherwise by default of pmars only the value is copied [19:12] the .i let copy a complete line instead of just the values [19:12] start ADD.AB #41, data [19:12] data MOV.I bomb, 3 [19:12] SPL @data, < -5 [19:12] JMP start, < -6 [19:12] bomb MOV.I #0, 1 [19:15] this isn't enough protection [19:15] yes, because your original warrior isn't executed often enough [19:15] most processes go into the imps [19:15] yep [19:16] you have to find a way to balance the processes executed by the imps and your warrior [19:17] protection1 spl protection2 [19:17] jmp 0, <-10 [19:17] protection2 jmp 0, <-10 [19:17] that is it [19:17] you can simplify this [19:18] how? [19:18] try it yourself :) [19:18] protection1 jmp 0, <-10 [19:18] jmp -1, <-10 [19:18] ^^ [19:19] yes, but now you still have a problem with the number of processes [19:19] you should pump processes into your protection [19:19] nope, it cannot work that way [19:19] it's just swept away [19:20] loop add.ab #41, 1 [19:20] data mov.i bomb, 0 [19:20] spl @data [19:20] spl protection [19:20] jmp loop [19:20] bomb mov 0, 1 [19:20] protection jmp 0, <-10 [19:20] :) [19:21] you still have empty b-fields :) [19:22] loop add.ab #41, 1 [19:22] data mov.i bomb, 0 [19:22] spl @data, <-3 [19:22] spl protection, <-4 [19:22] jmp loop, <-5 [19:22] bomb mov 0, 1 [19:22] protection jmp 0, <-7 [19:23] actually, it's nonsense [19:23] not enough cycles [19:23] give it a try [19:24] then continue to improve it :) [19:24] i get up to 300 processes [19:24] so about 300 imps [19:24] it's fast [19:24] but not fast enough [19:25] you should always benchmark a warrior before dismissing an idea [19:25] having a lot of processes isn't always good [19:25] interesting [19:25] with 721 processes the rear guard is killed ;) [19:28] Maybe it is of interest, that the first possible position of the opponent is 100 locations away for the start of your warrior [19:28] yeah [19:28] I allready reset the value to 1000 [19:28] "bombing" positions below that isn't useful [19:28] -0 ;) [19:29] ok [19:29] with the set 99 [19:30] it's perfect ;) [19:30] send it to the hill :) [19:30] gotta go now [19:30] * Fizmo waves [19:30] * Fluffy waves [19:31] bye [19:31] MSG: [19:31] wow [19:31] the matches against cannonade take real time [19:32] uploaded [19:32] I still had the 800000 cycles ^^ [19:33] well now I reduced it no the normal value [19:35] Submitted: 2005-11-13 12:35:08.087241 GMT [19:35] Deceased: 2005-11-13 12:35:08.087241 GMT (pushed off / didn't make it) [19:36] It seems, that you still overwrite yourself [19:36] then your warrior becomes and imp [19:36] scoring against wilkies with 100 rounds per match: 71,7 [19:39] I hope, you're not depressed ;-) [19:39] not really [19:40] I'm just confused [19:40] why? [19:40] but watching cannonade I get the idea of how it should be ;) [19:40] who cares if your original code is overwritten as long as you created 8000 imps [19:41] max warrior length 100 [19:42] hm [19:43] with imps you can only get ties [19:43] i noticed that [19:43] will mov 0, 1 you can only lose or tie [19:43] but other varieties of imp can win, no? [19:44] That is why you normally use imps as a way to insure the survival of your warrior [19:44] "other parts" are used for winning [19:44] just to disturb the rest? [19:44] huh? [19:44] with my rearguard I should be safe from my own imps atm [19:45] not completely [19:45] let your warrior fight several rounds against a simple imp [19:45] If your warrior is as good as you think, it should win in most cases [19:46] hm [19:46] letting an imp run the other way would do the trick [19:47] that is a little bit difficult to accomplish [19:47] only with selfcopy [19:48] or a bomber [19:48] i wonder wether a bombscript could catch up to an imp [19:48] try it :) [19:48] Join: fiveop joined #corewars [19:49] sentry and destroyer [19:49] ? [19:49] check for values not 0 and if it is so bomb everything within reach [19:49] that is a scanner [19:49] and it should work pretty good ;) [19:50] I'll try it [19:50] :) [19:50] berlin's nice [19:51] I prefer a quiet village [19:51] hm [19:52] i shouldn't bomb it with imps [19:52] that would be dumb [19:52] ^^ [19:52] yes, the simpliest bomb is a dat-bomb [19:52] *most simple [19:52] Fluffy: hm dunno, I'm from a small village ... both has it advangates [19:52] and i think I'll give it a value like #0, #0 [19:52] -has+have [19:53] Imrahil: No need to [19:53] I'm from a small village too, and I'm quiet content with my home [19:53] Imrahil: the core is initially filled with dat $ 0, $0 [19:53] since I'm scanning for #0,#0 I should not give my own bomb anything else [19:53] ^^ [19:53] you cannot scan for #0, #0 [19:54] i can do a jmn bomber,@scann [19:54] decrease scann and done [19:55] jmn.f scans for the zeros [19:55] but not for the # [19:57] ??? [19:57] Undefined Symbol in line 4: jmn.f bomber, @scann [19:57] do you have the labels "bomber" and "scann"? [19:58] the end was too early [19:59] ADD.AB #4, 1 <- would increase the B-Value of the following with 4? [20:00] yes [20:06] back again [20:06] wb [20:11] damn [20:11] I'm too tired [20:12] I can't think straihgt [20:13] then try again tomorrow :) [20:18] bomb dat 0,0 [20:18] scann dat #0,#-3 [20:18] scanner spl 2 [20:18] jmn 1,@scann [20:18] mov bomb,@scann [20:18] jmp scanner, end [20:18] that's what I got now [20:18] it's simple, but it bombs everything [20:18] ^^ [20:21] argh [20:21] now i got my mistake [20:21] logical error of the coder [20:21] ^^ [20:21] reload module brain.c [20:21] ^^ [20:21] yes, I know that feeling ;-) [20:28] ok [20:28] the scanner works [20:32] what's its score? [20:37] well, it scanns [20:37] i didn't say that the bombing works ;) [20:38] hehe [20:39] now I'm really confused [20:39] bomb dat 0,0 [20:39] scanner spl 3 [20:39] scann slt @-105,1 [20:39] jmp bomber [20:39] jmp scanner,{scann [20:39] bomber mov bomb,*scann-5 [20:39] seq @bomber,*scann+5 [20:39] jmp bomber,>bomber [20:39] end [20:40] what it's supposed to do should be clear [20:40] ^^ [20:41] where does the pogram start? [20:41] at scanner [20:41] hm [20:41] Maybe you should take a look at an already working scanner [20:41] i noticed a little problem [20:41] maybe [20:41] think your right [20:42] a scanner normally has only one process. [20:42] why are you using more than 1 process in a scanner? [20:42] lol [20:42] it only scans until it has foudn sth. [20:42] then bombs the location a little bit [20:42] and then it jumps back to the scanner and goes on [20:42] that's what it's supposed to do anyway [20:43] try it with one process [20:43] yeah [20:43] As far as I know, nobody has yet written a good multiprocess-scanner [20:43] because the value is incremented while it trys to bomb? [20:43] ^^ [20:44] Fluffy: you dont know whats slleping on my harddisk :) [20:44] my problem is that i don't see how to compare values and so on [20:44] elkauka: I know, that there is at least one working mp-scanner out there, but it isn't that good [20:45] a little scan loop looks like this [20:45] loop add.ab # step, scan [20:46] scan jmn.f bombing, pos [20:46] jmp loop [20:46] bombing ... [20:46] after the bombing run, simply insert a [20:46] jmp loop [20:47] But keep in mind, that until now I haven't written a good scanner [20:47] ... yet [20:51] Hmm ... the topic seems to be a little bit out of date [20:52] If I only could remember the original one [20:52] the scan loop is a little big [20:52] try [20:53] add.ab step,scan [20:53] scan jmz.f -1, pos [20:53] ...bombing... [20:53] jmp scan [20:53] problem: the bombing needs an own task [20:54] no [20:54] yeah, the bombing of one space doesnt [20:54] that's clear [20:54] but the bombing of an area does [20:54] no, if the scanner finds something it leaves the scan loop [20:55] Imrahil: How about "mov.i bomb, < pos" + "djn -1, # numofbombs"? [20:55] it throws a given number of bombs [20:55] (and dont forget to reset "numofbombs" after the bombing run) [20:55] hey, don't make it too easy [20:56] :) [20:56] I've always hated it, when sb. told the solution, before I could think it over [20:56] argh [20:56] don't mess me up ^^ [20:56] Please be specific, ARGH or argh? [20:56] ;-) [20:56] I'm using windows that doesn't matter [20:57] ? [20:57] (since it's no passwort Windows doesnt treat anything Case Sensitive) [20:57] I also have several windows ;-) [20:58] ? [20:59] Let's see ... how does your warrior looks like at the moment? [21:01] Imrahil: http://www.corewar.info/beginner.htm and http://www.corewar.info/lexicon/ [21:01] my warrior was cut to this: [21:01] add #-1,1 [21:01] jmz -1,@-103 [21:01] especially interesting http://www.corewar.info/lexicon/scanner.htm might be [21:02] What does your warrior do at the moment? [21:02] (i.e. what do you think, it does) [21:03] harhar [21:03] JMP.B $0, $0 [21:03] i cannot see this programm [21:04] It wasn't meant sarcatically [21:04] the programm looks for any b value not 0 [21:04] if it finds one it doesn't jump back but goes on to the end [21:04] this is where the bomb has to be inserted [21:04] and the add? [21:05] just increases the b-value of the next field the jump if zero [21:05] right [21:05] what is now missing? [21:05] and why did you choose -103? [21:06] by the way, it doesn't increase the value, but decreases it [21:06] because the jump is on line 3 and the closest range for another script is 100 [21:06] and since this script is a lot slower than any imp I know I used it backwards [21:07] now problem with scanning backwards :) [21:07] but altough the -103 is ok, the reason for it isn't [21:07] ?_? [21:07] forget it [21:07] I'm in stupid mode [21:07] as always [21:08] ;-) [21:08] until now you have: [21:08] loop add # -1, scan [21:08] scan jmz.f loop, @ scanpos [21:09] and scanpos EQU -103 [21:09] right? [21:09] hrm [21:09] bomb mov 0,1 [21:09] scanner add #-1,1 [21:09] scan jmz -1,@-103 [21:09] mov bomb,@scan [21:09] looks nice, what sth. is missing [21:09] offtopic question: is ad&d available in german? any chance to get rid of dsa? [21:10] ? [21:10] Hi bvowk! [21:10] greets jens [21:10] elkauka: What is ad&d? [21:11] Imrahil: So far your warrior scans a little bit until it has found sth. [21:11] Imrahil: Then it throws a bomb (an imp) at the given position [21:11] Fluffy: advanced dungeons and dragons [21:11] hehe ... sth. I know nothing about :) [21:12] Imrahil: and then your warrior dies :( [21:12] exactly [21:12] ^^ [21:12] Imrahil: You should do sth. against it [21:12] how about jumping back to the scan loop? [21:13] yeah [21:13] that would be it ;) [21:13] :) [21:13] I'm still trying to bomb a range [21:14] how does your warrior looks like now? [21:14] org scanner [21:14] bomb mov 0,-1 [21:14] scanner add #-1,1 [21:14] scan jmz -1,@-103 [21:14] bomber mov bomb,@scan [21:14] djn bomber, #10 [21:14] jmp scanner [21:14] end [21:14] ima: what about: [21:14] would bomb the position @scan 10 times [21:14] if I got it right [21:14] jmz.f 0, pointer mov.i bomb, position [21:15] yes, that's right. 10 times the same position [21:15] but you don't want that [21:15] how about increasing or decreasing the bombed position? [21:16] err ... bad English [21:18] Imrahil: Already found a solution for that problem? [21:19] add @scan-10,1 [21:19] bomber mov bomb,0 [21:19] add.ab #1,-1 [21:19] djn bomber, #20 [21:19] jmp scanner [21:19] but it does not work [21:19] that's what I came up with [21:20] it almost works [21:20] add @scan-10, 1 does not :( [21:20] at least it doesn't do, what you want [21:20] yep [21:21] i allready got to that point, perhaps i can fix it [21:21] :) [21:22] add @scan,2 <- not even this does work [21:22] so i need another option ^^ [21:22] you want to do two things at the same time [21:23] 1. initialize the bombing engine [21:23] add.b @ scan, 1 [21:23] 2. start bombing 10 locations away [21:24] add.ab # -10, 1 [21:24] but then you have to change the first insn. to add.b @ scan, 2 [21:24] that does not work [21:25] add the b-value of scan seems impossible [21:25] ups, right [21:25] add.b scan, 2 :) [21:26] does it work now? [21:27] 21 - 79 against a simple imp [21:27] You've forgotten two things! [21:27] the bombing either isn't fast enough [21:27] hm [21:27] well, that's it [21:27] it's not fast enough ;) [21:27] no [21:28] at least not against an imp [21:28] how does your warrior looks like now? [21:28] org scanner [21:28] bomb dat 0,0 [21:28] scanner add #-1,1 [21:28] scan jmz -1,@-103 [21:28] add.b scan, bomber [21:28] add.ab # 10, bomber [21:28] bomber mov bomb, 0 [21:28] add.ab #-1,-1 [21:28] djn bomber, #20 [21:28] jmp scanner [21:29] end [21:29] what does it do? [21:30] scan everything and bomb every field that has no 0 value [21:31] right [21:31] but [21:32] 1. After it has found and bombed sth. the first time, your bombing routine does no longer work [21:32] yeah [21:32] 2. What happens, when the scanner finds itself [21:32] the reset [21:32] 2. it kills itself [21:32] :) [21:32] and the bombing is too slow [21:32] yep [21:33] Then you know, what to change :) [21:33] djn bomber, #30 [21:33] add #30,-1 [21:33] maybe not how, but at least what [21:33] and then jump back to the scanner [21:34] maybe more tasks for the bombing [21:34] no! [21:34] add more tasks does NOT make a warrior faster [21:34] *adding [21:35] one insn. is executed and the your opponent executes one insn. and then you, then opponent, then you ... [21:36] adding tasks does not change that [21:36] I love myself for making backups! [21:36] fiveop: Have you read the logs and found my problem with backups? [21:37] nope [21:37] Imrahil: How about the following bombing: [21:37] the problem is that my bombing has too many task [21:37] s [21:37] err [21:38] Fluffy: which problem? [21:38] fiveop: deleting my warrior for CWSEC [21:38] Join: Roy joined #corewars [21:38] Hi all [21:38] what's your problem with backups? [21:39] I've made a backup, but didn't include my warrior [21:39] and then deleted the original [21:39] so where's the problem to solve? [21:39] Roy: when do you plan to release CE2? [21:39] Imrahil: As far as I know you only use one process for the bombing [21:39] fiveop: The problem is my stupidity ;-) [21:40] Join: sf joined #corewars [21:40] CE2..? [21:40] Hi [21:40] Hi Roy, sf :) [21:40] Ah explorer [21:41] err no idea, when we (everybody here..!!) make one? since when is it my responsability :-O :-) [21:41] Hi Imrahil (special welcome to newcommers!) [21:43] Fluffy: :P [21:43] I have a neat script for backups ;) [21:43] me, too :) [21:46] tar -cO "$file" `find ~ -maxdepth 1 | grep -v backup | grep -v mozilla | grep -v [21:46] News | grep -v gaim | grep -v gimp | grep -v darcs | grep -v wesnoth | grep -v [21:46] "\.blender" | grep -v macromedia | grep -v slime-cvs | grep -v Mail | tail -n+2` [21:46] | bzip2 -c > "$file" [21:46] ! :P [21:47] yow. [21:47] why not combine those grep -v's into a single regex [21:47] save you from fucking up with a typo [21:47] or write a simple python-script [21:47] ;-) [21:47] 'cause I'm lazy [21:48] foo|bar|baz is alot less than typing grep -v three times :) [21:48] now it's just typing ./backup [21:48] -"./" [21:55] MSG: [21:56] MSG: Quit: The Bersirc are coming! The Bersirc are coming! [ http://www.bersirc.org/ - Open Source IRC ] [22:04] time for me to go ... lectures start 7am [22:04] * Fluffy waves [22:04] * elkauka waves too [22:05] imar: good luck with cw [22:05] *imra [22:06] hrm...why does this auto-write-complete-nick-thingy dont work now? [22:07] bah... time get some sleep. cu [22:07] Part: elkauka left #corewars [22:13] Does anybody know a short b-scanner, which makes itself invisible to the scan? [22:28] time to go [22:28] * Fluffy waves [22:28] Part: Fluffy left #corewars [22:40] MSG: Quit: BLUT! BLUT! RÄUBER SAUFEN BLUT! HOCH VOM GALGEN KLINGT ES, RAUB UND MORD UND ÜBERFALL SIND GUT! [23:37] MSG: Quit: Leaving [23:48] MSG: Quit: humhum