[00:44] MSG: Ping timeout: 255 seconds [00:45] Join: asw joined #corewars [00:52] Join: evasive`f joined #corewars [00:53] MSG: Client Quit [03:44] Join: Mixolyde joined #corewars [03:44] Heya [04:52] heh, there's no qbasic with XP, so i can't run wilkie's command line benchmarks [06:26] Mixo [07:48] hrm. [07:50] mornin [10:13] Join: Fluffy joined #corewars [10:13] :| [10:13] Topic Change: Fluffy sets topic: http://corewar.co.uk - http://www.corewar.info - http://www.koth.org [13:02] MSG: Read error: Operation timed out [13:05] yay [13:14] Join: Mixolyde joined #corewars [13:14] mornin [13:18] Not exactly, but still good enough ;) [13:19] Mixo, you still cursing the wilkies process.bas? [13:19] or found better benchmarker? [13:22] i never got around to looking for it. i spent a lot of time just messing with ares and then went to bed [13:23] i need to find qbasic online somewhere and see if it still works with xp [13:24] or a different way to benchmark [13:24] http://koti.mbnet.fi/mizcu/PROCESS.EXE [13:24] does the same thing standalone [13:24] nice [13:24] (well, i removed "beep" after finishing) [13:24] even better [13:25] runnin to work, bbl [13:25] MSG: [14:04] Join: Mixol joined #corewars [14:12] back to work, where i can only read about core warriors [16:17] hrm [16:52] Nice nano-koth, John! [18:16] Join: Core_old joined #corewars [18:19] Hi old Core! [18:39] Afternoon [18:50] Join: sf_ghoul joined #corewars [18:55] Hi sf [18:55] Hi Fluffy [18:58] howdy mister ghoul [18:59] Join: Roy joined #corewars [18:59] *cough* ms. ghoul [18:59] Hi [18:59] i oy [18:59] please pardon my newbiness [19:00] Hi Roy [19:00] Nice warrior, sf! [19:00] Hi Mixo :) [19:00] Thanks Fluff [19:00] just 'Mix' is fine! [19:00] Wow, nice! [19:00] 15 users but 12 in channel [19:01] Don't you all have tab completion? [19:01] Who's lurking? [19:01] What's tab completion? [19:01] JM? [19:02] You start to write a nick and as soon as it is unique pressing the tab button adds the remaining letters to the name. [19:02] Hrm, I don't have that.. :) [19:03] It is also quite a nice feature on most shells. [19:03] Oops, I DO have that :-P [19:03] Never knew that, cool :-) [19:03] Fluffy sf_ghoul Mizcu Core_old pak21 [19:03] cool :D [19:03] lol [19:03] i'm actually using an irc plugin for jedit, it's a little stealthier than mIRC or something [19:03] Core_old Fluffy [19:03] cool [19:04] hahaha [19:04] and it does not have tab completion sadly [19:04] log_guy Mizcu Mixol [19:04] Fluffy learned us a new trick! [19:04] wow [19:04] :-D [19:04] Mixol: Stealthy? [19:04] Awwwww [19:04] well, i'm at work and all [19:04] Now you all have to pay me! [19:04] gotta keep my distrations on the D-L as the kids say [19:04] ?? [19:05] The only drawback is when I get another irc-client you'll all be called F and M and s [19:05] Sorry Roy, killed Mystery [19:05] bvowk needs to send some new warriors, he's losing grip again ;-) [19:06] which hill did you submit on sf? [19:06] Doesn't matter sf, I suck anyway :) [19:06] Nano! [19:06] nano [19:06] it is the format du jour [19:06] More like the format du ans ;-) [19:07] yeah [19:07] i wonder if the small size makes it harder or easier for a newb to get into [19:07] gotta fiddle with the settings in ares and find some benchmark nanos [19:07] harder, because almost everything is highly optimize [19:08] Its just different, less complex stuff, but harder to be competative because you have less room [19:09] 2 inst scan, 3 inst eng game. can't be that hard ;-) [19:09] No, but try to make it on the hill with it ;-) [19:09] Try it :) [19:10] heh, i know. most of the optimization is in the step sizes and using the extra fields, right? [19:11] ... and it helps to have a good idea [19:11] http://www.ociw.edu/~birk/COREWAR/NANO/hill_rec.html has some "example" warriors for nano [19:15] awesome [19:16] EQU counts as an instruction? [19:16] no [19:16] ok, i saw one that just had an SPL, a JMP and two EQUs [19:17] and thought that was odd [19:18] "bla EQU whatever" means that every "bla" is replaced with "whatever" [19:19] right, that's what i thought, so it only has two real instructions [19:19] it's just a crazy kind of imp gate [19:19] http://www.ociw.edu/~birk/COREWAR/NANO/HILL/hypergate.red [19:20] That's the wrong end of the hill ;) [19:21] :( [19:22] yeah, just looking all over [19:22] it's hard to make sense of the ones that just have numbers for addresses, not macro'd at all [19:23] They've usually been evolved and it is always hard to make sense of them [19:23] yeah [19:25] i found some guides online with some examples that do some crazy bombing and intentionally bomb themselves which changes their own code into some other kind of end game attack. [19:25] it's mind numbingly insane, but also really cool. [19:25] yes, but it can be quite effective [19:26] definitely, and crazy [19:38] Its used in some bombers changing the strategy to coreclear at the end [19:45] yeah, self-modifying code is a bit advanced for me at this point [19:53] 51 44.7 49.2 6.0 34cf7eac-a3b71483-e0679bad.rc bvowk 140.2 598 [19:53] :( [19:56] so close to staying on, too [20:21] I think, I like the current nano-hill. [20:21] * sf_ghoul too [20:23] John will soon get some problems maintaing the HoF ... at least with the 100-age limit [20:25] It moved from a 50 age limit already [20:26] Maybe it will move to 200 age limit [20:26] Why not set the limit to 700? [20:26] Of course that's just some random number ;) [20:28] when you do an indirect lookup, does the target move relative to where you did the look up, or relative to the original instruction? [20:29] or, does that not make any sense [20:29] suppose you have an "@ 10" at location x, at the B-field in (x+10) you find a 13, then it is evaluated to (x+10+13) [20:30] ok, thought so [20:30] MSG: Ping timeout: 255 seconds [20:32] Join: sf_ghoul joined #corewars [20:33] Stupid intertubes ;) [20:33] i take it the address mode in the b-field doesn't matter? whether it's 13 or #13 or @13? what about increments? [20:33] yes [20:34] i.e. yes, it doesn't matter :) [20:34] increments do not occur? [20:34] even, if you a >|<|}|{ 13 at (x+10) [20:35] okie [20:35] hmm ... I'm not sure, whether I understand you correctly [20:35] if (x+10) is >13, does the > affect anything when it's evaluated? [20:36] no, it doesn't affect anything in that case [20:36] ok [20:36] only the number at the B-field at (x+10) is relevant [20:36] i'm trying to work through the finer details of the language spec, the modifiers and op details [21:10] MSG: Quit: I was using TinyIRC! Visit http://www.tinyirc.net/ for more information. [21:11] MSG: [21:16] Join: Roy joined #corewars [21:16] Oh yeah :-D [21:17] huh? [21:17] 11 point lead on nano ;-) [21:17] holy crap [21:17] nice [21:17] strategy? [21:18] Strategy? Never use one :) [21:18] bye! [21:18] MSG: Client Quit [21:18] Mixol: You have to guess that from its score [21:18] Mysterio [21:18] how do i see the source from sal? [21:19] You can't. [21:19] ah, that makes it tricky to figure out from source [21:19] Sometimes a warrior is published (usually to Koenigstuhl or rgc) after it has been pushed off [21:20] and in some rare cases while it is still on the hill [21:20] yeah, i saw those [21:20] So you have to learn the art of guessing a warriors strategy by looking at its scores [21:20] ... and by sending probes to the hill [21:21] For instance low ties on nano usually mean, that the warrior has the form spl/mov/mov/mov/djn without any imps [21:22] that's some kind of bomber? [21:22] or replicater? [21:23] yes [21:23] no, nano-papers usually have ties around 10-20% [21:24] how does a paper actually win and not just out last? [21:25] a paper wins by overwriting the opponent with copies of itself or bombing it [21:25] and current papers (for 94nop) are written/optimized in a way, that they have to be executed with just the right number of processes or otherwise they soon die [21:26] so if an extra SPL gets in the middle it throws them off? [21:26] no [21:27] but it will probably slow it down [21:27] that's why scanners usually bomb the core with SPL # 0 in order to slow the opponent down [21:27] and then start a multipass coreclear [21:28] spl (-> spl) -> dat (-> dat ...) [21:28] and then switch to some end game thing once the enemy is splitting off constantly [21:28] to kill the opponent [21:28] the coreclear is usually the endgame [21:29] what makes it a "multipass" core clear? a regular core clear is just a dwarf with dats every cell, right? [21:31] hmm ... a dwarf might give you a wrong impression [21:31] maybe a dwarf with step 1 and without an add [21:31] how does it step w/o an add? [21:31] (and some means to prevent overwriting itself) [21:31] > or < at the right position :) [21:32] or with djn [21:32] ... and usually an spl # in front of it to make more resistant [21:33] (usually having lots of processes is a good idea :) [21:36] what's DJN again? something like jump if not zero? [21:37] oh, decrement and then jump if not zero [21:37] decrement and jump, if NOT zero [21:37] a little dat-clear looks like this: [21:38] spl # 0, > -2 [21:38] mov.i $ 2, > -3 [21:38] djn.f $ -1, > -4 [21:38] dat.f > 2667, $ 0 [21:38] the dat.f is the bomb, that the clear uses [21:38] the spl # is for creating lots of processes [21:39] hrm ... ok, doesn't work very well [21:39] forget that [21:39] heh [21:41] I always suck at writing ad-hoc-code [21:42] eh, it's ok. i still suck and reading code ;-) [21:43] ok, so, you core clear by blanketing DATS one after the other very quickly, skipping over yourself if you can [21:43] http://www.ociw.edu/~birk/COREWAR/94/HILL/sdclear.red [21:43] yes, that's a dat-clear (dclear), what you describe [21:43] the link is a sd-clear [21:43] split and dat? [21:44] it runs one clear with spl # 0 to stun the opponent [21:44] and the switches to continously clearing with dat [21:44] ssd-clears are common, too [21:44] alright, so what's "multipass" mean? [21:45] depends, but usually, that you first clear with sth. and then with sth. else [21:45] like sd [21:45] or ssd [21:46] and since it is often used as an endgame-strategy, it runs until MAXCYCLES are reached [21:46] (or it is killed :) [21:48] do some of the nanos scan then clear? [21:49] yes, [21:49] with 5 instructions there is nothing else left after a scan [21:49] the two instr scan is something like seq sne, right? [21:50] for qscans [21:50] (and it is sne/seq ;-) [21:51] is it still a qscan if it's not unrolled? [21:51] no [21:51] but using sne/seq in a regular scanner might be a little bit difficult [21:52] so what's the short scan for nano? [21:52] add/jmz? [21:52] qscan or normal scanner? [21:52] can you qscan in nano? [21:52] yes [21:52] sort-of [21:52] http://www.ociw.edu/~birk/COREWAR/NANO/HILL/lastofthedragons.red [21:53] http://www.ociw.edu/~birk/COREWAR/NANO/HILL/type1.red (scanner) [21:54] end wipe means start at wipe right? like org? [21:55] yes [21:56] ok, i'm still having some trouble with the difference between qscan and regular scan. sorry to be a bother [21:56] in the ICWS '88 standard you have to use END to specifiy the first instruction of a warrior. With ICWS '94 you can also use ORG [21:56] a qscan scans with 2c [21:56] that means with 2 scanned locations per executed instruction [21:57] a normal scanner scans with 0.33 - 0.8 c [21:57] so it is way slower [21:57] qscan: seq 100, 200 | jmp found1 | seq 300, 400 | jmp found2 | seq 500, 600 | found1 found 2 found 3 [21:57] both could be rolled or unrolled then? [21:57] scan: add.f increase, 1 | sne 100, 200 | jmp -2 [21:57] you can't scan with 2c in loops [21:58] (1.5c linear, but its a useless specialcase) [21:59] so, a qscan in nano just compares 2 cells and is done? since it can't loop? [21:59] Mixol: Confused enough or want an example? [21:59] 4 [21:59] 2 pairs of 2 [21:59] yes [21:59] in http://www.ociw.edu/~birk/COREWAR/NANO/HILL/lastofthedragons.red [21:59] the sne/seq pairs scans 4 locations [21:59] 2 with the sne, 2 with the seq [22:00] the mul.x decode the right position [22:00] (yes, 2 with sne, 2 with seq) [22:00] *decodes [22:00] and then a clear is started at either the default positoin (nothing found) or the position where sth. is found [22:00] and then moves something to that location 35 times? [22:01] hopefully doesnt need that many times [22:01] what's the <35 for in the mov? [22:02] Join: Fluff1 joined #corewars [22:02] mov.i from, to [22:02] in case something isnt found, the clearing is done anyway to some place [22:02] (stupid intertubes) [22:03] right, so it just grabs the DAT 34 spots ahead and moves it TO where it found something? [22:03] yes [22:04] why the decrement then? eventually it will start moving its own program [22:04] (under the condition, that there's still a dat $ 0, $ 0) [22:04] the qscan might be wrong [22:04] and so you might be lucky and hurt your opponent [22:04] if it happens to be there [22:05] MSG: Ping timeout: 255 seconds [22:05] mind numbing [22:05] a "/}/{" is very precious on nano [22:05] Nick Change: Fluff1 changed nick to Luffy [22:05] Nick Change: Luffy changed nick to Fluffy [22:05] grmpf [22:06] <>{} is the steepest step for the newbiest [22:06] oh, cause it decrements the thing AT the 35, not the 35. so it copies whatevers in 35 everytime, but decrements it each time just to cause mayhem [22:07] no, it decrements location 35 [22:07] but bombs with what is referred by that location (after decrementing) [22:08] right [22:08] but it doesn't decrement the 35 to a 34 and then bomb from 34... [22:09] we don't know that [22:09] it decrements what's in 35 (probably a dat 0, 0 to dat -1,0 the first time) [22:09] because we don't know, what's at 35 [22:09] right, but, i mean, it doesn't decrement the 35 in the MOV instruction [22:09] that's what i keep forgetting about the <>{} stuff, they modify the instruction pointed to [22:09] (yes, usually you have the a dat -1, 0) [22:10] whoever thought of adding those was a jerk. you've already got a perfectly good ADD and SUB instruction [22:10] why go confusing matters? [22:10] yes, but that makes you slower [22:10] yeah, and it makes imp gates a lot easier to make [22:11] I doubt that anybody can write a competitive warrior without any >/ alright, so a little more wrapping my head around the language and decoding some warriors, and i'll be doing ok [22:11] then i just have to figure out what to write and for what hill, heh [22:12] and get my benchmarks working [22:12] the '94b@SAL should be the right hill [22:12] And you shouldn't bother benchmarking you warrior. [22:12] Make sure, that it does, what you wanted it to do. [22:13] And then you can start to optimize/benchmark it [22:13] ... and improve it [22:14] alright, so say i'm not really the creative type, but i'm good at analysis and algorithms in general. are there warriors out there that it would make sense to start with and not really change what they do, but make them better? [22:14] take a warrior from the bottom of the '94nop-Koenigstuhl then [22:14] Fluffy, youve been drinking again? [22:15] cause i'm not really sure how to come up with new ways of doing things and it seems like most combinations have already been tried out [22:15] take a warrior from wilkies and start improving it [22:15] Mizcu: Only milk! [22:15] (not rave or bluefunk) [22:15] Mizcu: I think, that wilkies is a little bit tough for a start. [22:15] but I might be wrong [22:15] at least most of them seem to have some comments [22:15] and are pretty short [22:17] rave is kinda hard to improve without making fundamental changes, bluefunk has its own trickseys [22:20] well, pswing could use new coreclear, tornado could be coupled with imps [22:20] ... and timescape needs a boot (and a qscan) [22:21] cannon is ok, but the stone could be switched, fstorm is old even for wilkies [22:23] what's with all the weird stuff at the top of fstorm? [22:23] decoy [22:23] to confuse scanners [22:23] thought so [22:26] so it copies the storm and core and fire away and jumps to it, leaving the old launch behind [22:27] and the big decoy [22:28] and then starts up the bomb storm [22:28] where does the 'anti-imp core clear' come in? [22:29] the jmp -2 is overwrited with ptr [22:30] and that lays down the DJN carpet? [22:30] it turns into spl mov djn -coreclear [22:31] so, after running it a few times and watching it, where would a beginner go? [22:32] i think i grabbed a chunk called Neverland that someone said was a good starting point, too [22:32] Neverland is the Metcalf's simple-scanner, yes [22:33] well, the first thing would be to change the bombing-step in the warrior, and see if you can throw more bombs with other step [22:34] what about replicating multiple bombers in seperate locations and having them all go? [22:34] no need to count, just use your eye-ball mark (?) [22:34] the more complicate bomber, the worst it does when copied around [22:35] right [22:36] and the fastest copying-method (silk style) works bad with mov/add -bombing [22:37] (exceptions exist) [22:39] Join: Core_old_ joined #corewars [22:42] MSG: Ping timeout: 255 seconds [22:42] alright, i think i've got enough to fill my brain. thanks again for all the help and putting up with my newbieness [22:53] MSG: Quit: Mixol [23:04] Join: fiveop joined #corewars [23:08] MSG: Quit: fluffy.i < 1, # 42