[05:30] Join: Davse_Bam joined #corewars [08:35] Join: pak21 joined #corewars [09:14] Join: fiveop joined #corewars [12:54] Join: Mizcu joined #corewars [13:50] MSG: Quit: Read error: Connection reset by peer [13:57] Join: Altair joined #corewars [13:57] hi again^^ [14:11] Join: Anon7049 joined #corewars [14:11] Part: Anon7049 left #corewars [15:29] sry, i have a question [15:30] i have two dat clear "loops" and after...well, a few times of bombing the core with dat, 1 loop has to die caused by the other [15:34] how do i achieve that? [15:41] noone here o.o? [15:58] im sure the solution is very simple, but...@_@.......I pastbin the code for the case that someone has an Idea http://pastebin.com/m7301df73 [17:06] m...........very ineffective [17:06] @_@ [17:21] does anyone know a warrior which works the same way? I would be very interested in it [17:23] Join: CoreOld joined #corewars [17:31] is that an attempt on vampire? [17:33] i gotta check how this actually runs [17:35] a scanvamp.. [17:39] yeah........better version here: http://pastebin.com/m7ce14c5f cause it does not work effectivly, is there any simlar warrior which I could try out? [17:41] lots of activity damn.. i gotta get moving and write me some codes [17:42] forget about my warrior. just an example of a good warrior which uses simlar techniques [17:44] heh, i wrote an autoit script to open/save as files so we can convert our files from one format to another [17:44] i planned to execute it for each file using a simple dos command line [17:44] spot the problem with this: [17:44] for /r %x in (*.xxx) do c:\convert.exe %~nx %x [17:48] Altair: http://pastebin.com/d60144b22 [17:48] small change and scores about twice against a benchmark [17:48] (still crappily) [17:48] thx [17:50] i did not test the improved attack, and immediately found an error [17:50] there should be two mov jpbomb, *addr, not * and @ [17:52] ? [17:53] why's that? [17:54] because of the mov.x jpbomb, jpbomb [17:56] MSG: Quit: Trillian (http://www.ceruleanstudios.com [17:56] aa I finally got it :D [17:58] quick random question [17:58] for the instruction SLT [17:58] the numbers are always interpreted in the range 0-(coresize-1) right? [17:59] i mean, the negative values displayed in say, corewin, are just conveniences [18:05] true [18:07] sry Mizcu, how to abort the scan part now? [18:09] ? [18:10] ah, yes [18:10] k, simple ^^ [18:10] mm................ [18:11] @_@. isnt there some good vamp scanner out there? [18:11] the first version switches when jmp's b-field overwrites scan, but it doesnt happen in the improved attack [18:12] it takes too long to change the fang according to the place to attack [18:12] addr +1,+1 then the b value gets 0 [18:14] vampires strike again (or whatever it was) is a good scan-vampire, but it might be too difficult to understand [18:15] mm........ [18:21] vamps are back. well. but there must be some vamp scanner, which uses the opponent to destroy it. like my warrior SHOULD do. my "improved":D version can do that, but it is just to weak to make it often enough [18:22] ive said a couple times, vampire scanners are weak [18:24] one type used is only a modified stone: add.f inc, fang | jmz.f -1, @fang | mov.i fang, @fang | jmz.f -3, check | coreclear [18:25] mm...but why are they weak? [18:25] or just because of weak "programmers" xD [18:26] vampires are a weak type overall, because they cant really reach speed faster than .33c [18:28] you can use tricks to get 1 fang + 1 scan in a loop, but that doesnt change the fact that they stun weaker than scanners, bomb slower than stones, take lot fo space, and they are vulnerable to hits [18:30] mm................okay. I just wanted to wrote one because of the papers which suddenly start to execute old mov intructions and I dont know how to kill them better [18:30] bad english, sry [18:32] but they are so fun! [18:32] bomb with spl 0, jmp -step pairs [18:32] :> [18:33] useless but amusing anyway [18:33] eventually it'll hit the pit [18:33] hm maybe spl 1 [18:33] behemot uses spl/mov ..... jmp (spl) -bombing [18:33] what good does the jmp at the end do? [18:34] er, other than hitting a different spot of code i guess [18:34] hehe, did i paste the code for sandwich? [18:35] it jumps to the incendiary bomb, more effective than just plain spl #0 thrown there [18:35] code that executes the bomb splits the opponent's process to two loops: one that's spl 0 | imp and the other is a spl 0, djn stream [18:35] i guess it's sorta a vampire then [18:36] the only good i see from the jmp is in case the enemy code doesn't execute the incendiary [18:37] well, ive manipulated the Altair's modified thing to switch correctly with the better engine [18:37] uh, no i didnt [18:37] scores worse [18:38] you got lined with an ip this time :P [18:38] y:lined* [18:38] i think it's y at least, i'm rusty [18:40] the irc-server doesnt like my hostname for some reason [18:41] well, the servers hostname [18:42] either it didn't resolve in time [18:42] or it didn't match forward and back [18:42] but it seems to match, so it was probably just a lagged dns lookup [18:52] Join: CoreOld joined #corewars [18:58] dammit [18:59] a cable inside the server was hanging in a fan and making noise [18:59] so i pulled it out to fix it [18:59] and when i put it back i accidentally hit the power switch on the psu [18:59] :( [19:04] not as bad as when i accidentally shut down the domain controller at school though [19:04] hehe [19:07] ^_^ [19:07] sry, another question. about quick scans or "Q^2" scans. which bombs makes most sense and what about the scan distance? [19:08] dat-bombs, scan distance depends on how many scans you can fit in [19:10] so Q^2 scanners need a lot of "storage"............and I dont get what the "Q^3" scanner do about decreasing this storage [19:11] storage? [19:12] it take a couple instructions less in the scan-phase, one or two less in the decoding [19:12] but its a lot faster in decoding [19:12] decoding o.o? [19:13] and by using the word "storage" i meant tables with the scant values [19:13] (well, actually not any faster in decoding, but it has faster response) [19:13] Q^1: seq xxx, yyy | mov xxx, found [19:14] *scanned -.- like seq.i bla,bla2 | jmp attack1 ..........jmp pointer1 [19:14] using this pointer it has to be "stored" in some kind of table [19:14] which needs lots of space [19:14] not really [19:15] 3 instructions is enough for both Q^2 and Q^3 [19:15] unless you start doing a super-sized qscan as in crackhammer (which has Q^1) [19:15] mm..........and the quick scanners. once they of found a target (the Q^2). they dont scan any longer? [19:16] correct [19:16] mmm....... [19:18] it's an unrolled loop, trading space for speed [19:18] the successive versions (Q^2, Q^3 Q^4) are essentially efficiency improvements on the concept [19:19] Q1 is very basic, it copies the scanned location when a scan succeeds and later uses that to target the bomb [19:19] I get how Q and Q^2 works, but Q^3 and Q^4 @_@???? [19:19] the ones after it use different methods for finding the location that got scanned [19:19] simply, math [19:19] :P [19:19] i mostly get how they work but i haven't written one yet [19:20] basically, they use the indirection operators to modify values in a mathematical expression [19:21] when a scan succeeds, the expression is then evaluated and returns the value of the location that was scanned [19:21] mm.........got an example of Q^3? [19:21] corewarrior.pdf has couple [19:21] k [19:21] the important part is like this: [19:21] qSlo mul #3, qKil [19:21] qFas mul.b qBmb, @qSlo [19:22] qSki sne >qf+23*qs, >qKil [19:22] add #qd, qKil [19:22] that >qf+23*qs is a free scan, the value has no magical meaning [19:22] illuminates [19:23] here's a question miz [19:23] mm....okay. I have to read more. like always. Q^3 @_@ [19:23] will it be possible to be successful on the beginner hill with simple warriors or do i have to get into this multi-type warrior crap or boots and qscans on everything? :P [19:24] dont need booting or qscans to get in [19:24] beginner hill of sal? [19:24] not to get in, i mean to get #1 [19:24] should i just keep working on the basics or do i have to get my hands dirty? :P [19:25] the beginner hill of SAL. current a warrior of a friend of mine has #1. its an simple f.scanner, he claims [19:25] now that it's a happenin' place, i want to start playing around some more, i think it's time to just do something "normal" and see how good i can make it [19:25] with an stone and then clear [19:26] aw, crackhammer aged off [19:26] #1 doesnt need boot or qscan either [19:26] qscans are probably just waste of time [19:26] there arent enough scanners to make booting worth it [19:26] i only say that because it seems like all the 'successful' warriors have all of these things [19:26] because they have to, surely [19:27] i just don't know if i have to .. but i guess you answer my question [19:27] its interesting [19:27] i have warriors the top 2 but i still don't score better :| [19:28] booting depends on your type of warrior, but on real hill, its highly useful [19:28] maybe its all those papers [19:28] looks like you could get a lot of points from specializing against slear lol [19:28] i have a little aversion towards qscans, but if you are using a paper, you need one (on the real hill, again) [19:28] points*3! [19:28] because papers don't really get kills much [19:28] so it'll help you do that [19:29] ya? [19:29] *3? no [19:29] Mizcu: 'cause he's got it on there three times :P [19:29] ah [19:31] wumpus v2 might score nicely on the hill [19:39] MSG: Quit: humhum [19:41] there are that many clears? [19:42] doom, slear*3, test clear [19:43] oh duh [19:43] i suppose slear would be one [19:43] :P [19:43] i was trying to figure out what imp-ossible would be [19:43] cold spark [19:43] its an imp [19:43] i couldn't seem to make a simple imp that would score anything like it [19:43] not that i'm super experienced or anything [19:44] it has probably couple imps then [19:44] i guess that could be, i didn't think about multiple normal imps [19:44] i thought it looked like an imp though [19:44] plain old one i mean [19:44] @_@ I made an simple imp. 2 x mov 0,6 + 2x mov 0,1 [19:44] scores better [19:46] which is still probably worse than a single ring [19:46] hmm, a stone with clear-killing bombs, and a light spiral [19:46] should, again, score not badly on the hill [19:47] clear-killing bombs? [19:48] i could try and write that [19:48] dat >-1, >1 is one such [19:48] it's within my ability to do easily, and have lots of room to improve [19:48] i don't quite follow what that would do [19:48] i mean [19:49] mm........it has to be executed [19:49] it would mess with some djns i guess [19:49] and mess with the pointer? [19:49] if it landed on part of the clear that wasn't the spl [19:49] proper clears can take single dat-bomb and still continue [19:49] i see [19:50] it's change spl 0 to spl 1, for example [19:50] that bomb screws with multiple instructions [19:50] and also mess with perhaps the pointer to restart the clear [19:50] i haven't written a stone imp yet, i'll try it! [19:51] i guess that wouldn't do all that much against the papers huh [19:51] life's full of tradeoffs [19:52] I cant follow the conversation [19:54] i can't either! [19:54] ;) [19:54] ^_^ [19:55] hey miz has anybody written a stone imp scanner vampire paper yet!?!? [19:55] there is a pspacer with stone/imp, brainwashing paper and oneshot [19:56] i meant all at once :P [19:57] thats a little bit too busy [19:57] yeah, thus the extra "excitement" in my sentence [19:57] WOULDN"T IT BE AWESOME!!Q? [19:58] LIEK OMG [19:58] precisely! [20:02] god dammit [20:02] this program keeps crashing [20:02] all i'm doing is opening and saving files [20:02] what a worthless application [20:02] and people pay $5000 for this crap [20:03] and thats why i dont want to become a programmer [20:05] thats a little strange comment from someone whos been redcoding for 5 years [20:06] ha [20:06] that doesn't make sense [20:06] if you were a programmer, would you write crap? [20:06] probably yes [20:06] or do you mean, complaints about programs that don't function in a basic manner turn you off from catering to customers like that [20:06] oh :P [20:07] third lab at algorithms & datastructures and i want to choke the teacher [20:07] wanted [20:08] haha [20:08] those are the things that interest me [20:08] "My code is holy, dont touch it. Use the components you did at 2nd lab and dont touch them. Create the middle-layer yourself" [20:08] but it's funny [20:08] redcode is all about the algorithms [20:08] oh, or that [20:08] that's probably realistic :( [20:11] and with the fusion of schools, first year students will take the programming-course in two parts: diagram-drawing and either C or Java [20:12] those continuing in programming will then have to take either C for Java-coders or Java for C-coders [20:16] the cockups still havent gotten a proper graphical course-listing on the webpage [20:18] miz. what is the strongest imp spiral you can think of? I just want one of the best "pure" imps to test imp gates, etc. [20:18] strongest imp spiral is one with infinite amount of processes [20:19] because every general-purpose imp or spiral will die on a jmp 0, >-10 gate [20:19] gate-crashers can break a jmp 0, <-10, but they require more work that normal ones [20:22] so a good imp would be? [20:22] but they can't break an inc gate? [20:23] Altair: a good imp would be the one that does best against what you are testing :P [20:23] i guess [20:23] inc-gate can only be broken by a specialized imp [20:23] d-clear has an inc-gate [20:23] i guess all you are trying to see is if your gate works or not right? [20:24] i dont want to say what is an good imp, because i am not sure either [20:25] the most used ones are the 3-point b-spirals [20:25] in the end that's what counts i guess [20:25] what's used the most [20:25] but then theres also how many processes there are in the spiral [20:26] just run it against the benchmarks with different imps [20:26] will the amount of processes actually matter? [20:26] oh yeah, the speed [20:26] if it isnt in balance with stone's processes -> bad performance [20:26] too little processes -> gets killed by papers [20:26] yeah, but i think he was just talking about seeing if imps kill his program or not [20:27] too many processes -> see part one [20:27] if you want a imp-benchmark, id use, say [20:27] classic [20:27] a-classic [20:27] mirrored [20:27] single ring [20:27] 9-process spiral [20:27] some a-spiral [20:27] 7-point spiral [20:27] an imp-pump [20:28] and maybe a gatecrasher [20:28] improve the size of your imp! [20:28] imp imP iMP IMP [20:28] gain 3 points in first week of use! [20:28] haha [20:28] order now! [20:28] so typically imp spirals just run with a fixed number of processes? [20:29] or is it just the proportion between the imp launcher and the other component(s) [20:29] before impfinity, yes, after, no [20:29] like, i thought i was reading about things like stones with spl and imp spirals with spl [20:30] ;strategy With self-priming pump and very short fuse. [20:30] sounds kinky [20:30] fuse? [20:30] thats.. uninvited? [20:30] 80,69407094;name Impfinity v4g1 [20:30] i just googled it [20:30] 80,69407094;author Planar [20:30] ah [20:31] fuse simple means that you wait a while before launching the imp-pump [20:31] uninvited has a djn.b #0, #3 or #4 if i remember right just before the pump [20:32] Nick Change: Altair changed nick to Altair|af [20:32] 3 or 4 doesnt seem like much, but the other component (stone) is self-splitting, so it suddenly hunder or two waits [20:35] ah yeah. that's what i was referring to with the process proportions [20:35] and that's how it's "done" now eh? [20:36] modern stones kill the pump after NNN cycles to prevent the imp from getting too big [20:36] tricksy hobbitses [20:36] but if the stone gets damaged, the pump keepis making the spiral bigger, and more imprevious to damage [20:37] dont use a pump in this project, try, say, 8 or 10 process spiral launched with vector launcher [20:45] dunno vector, that'll be new too [20:45] and i like the clever checksum with the stone / pump hehe [20:45] but yeah, i still can't go to lunch until my coworker gets back [20:51] oh, i see @ vector launch [20:54] so when you say 8 or 10 processes, you don't mean 8 point.. you mean like, 3 point spiral with 8 procs [20:55] latter [20:55] yeah ok [21:07] MSG: Quit: Trillian (http://www.ceruleanstudios.com [21:16] quick question: [21:16] imp spiral - are all the executing processes on the "edge" of it? [21:17] you mean, all processes over 3 instructions? [21:18] yeah [21:18] no [21:18] ok [21:18] i didn't know how to ask the inverse of that question [21:18] hehe [21:18] imp, imp+istep, imp+2is, imp+3is, imp+4is [21:18] but the other way certainly seems more 'spiraly' [21:19] ugh, my head is already asleep [21:22] my answer was correct, the individual rings are after one another to for the spiral [21:22] because if all the processes were on top of each other, a single dat would kill the whole spiral [21:23] when after each other, one dat can only kill a single ring [21:24] yeah [21:37] stupid corewin [21:38] it doesn't do integer division i think [21:38] nm [21:38] my math is broken somehow [21:39] meh [21:39] whatever [21:40] shouldnt need that much math to mess up corewin [21:47] 80,6981837label dat 0, 0 [21:47] 80,6981837j for 5 [21:47] 80,6981837 dat j-label [21:47] 80,6981837 rof [21:47] why does that increment by 2s? [21:55] i dunnno [21:56] pmars gives 2-4-6-8-10 [21:58] multilabels however are little quirky and not exactly recommandable [22:00] indeed [22:00] also: [22:00] #(i*istep)%8000 [22:01] gives 2667 5334 1 2667 5334 1 2667 5334 1 [22:01] which is also stupid [22:01] i want to stab something [22:01] 2668 [22:01] //say $calc(2667 * 4 % 8000) [22:02] istep equ ((coresize+1)/arms) for i mov.i #0, istep*i rof [22:03] aha i was right [22:03] fucking corewin doesn't do integer division [22:03] it keeps the decimals in the variable [22:04] if i change istep to a constant it works [22:04] or else i did something else wrong [22:04] oh [22:04] i did coresize/arms + 1 [22:04] which still gave 2667 [22:04] but the hidden decimals busted it [22:10] got it finally [22:10] with weird expressions [22:10] Nick Change: Altair|af changed nick to Altair [22:10] mm........ [22:13] http://www.nomorepasting.com/getpaste.php?pasteid=20863 [22:15] didn't work for 5 arms though lol [22:15] oh right [22:15] cause 5 fails [22:15] worked for 7 [22:15] 3 7 9 11 13 17 21 23 [22:16] Mizcu, can you recommend on On -Axis scan? [22:16] 5 is possible, but it desyncs, and thus is crap [22:16] Altair: HSA [22:16] sry, HSA stands for? [22:16] He Scans Alone [22:17] good luck understanding it, though [22:17] :D. ^_^. that's the prob [22:17] I know He scans alone, but.........uuuuu >.> [22:17] xD [22:17] so On Axis isnt a good idea? [22:18] i dont like it really [22:19] k. [22:19] "On Axis" scan? [22:19] how does he scans alone achieves that "he" does not bomb "his"self= [22:20] the slt-instruction [22:21] i wonder if i can make a for-loop to generate X processes [22:22] @_@ [22:22] i know there is one, but i dont remember where it has been published [22:22] i wouldn't copy it anyway [22:22] @_@? [22:22] you can still use the old method [22:22] take number of processes you want [22:22] remove one [22:22] yeah [22:22] you can zse spl? [22:23] is that the fastest way to generate them execution wise? [22:23] no [22:23] here, the trick was the binary of the number of processes [22:23] didn't seem like it [22:23] this binary -1 [22:23] und then just for every 1 an spl 1 [22:23] perhaps other methods would be more suitable to conversion [22:23] and for every 0 an mov -1,0 [22:23] Altair: that's not quite what i was talking about [22:24] if i remember correctly [22:24] 2 4 8 16 cannot be beaten because its just spl 1's [22:24] i was talking about being able to do something like [22:24] procs equ 15 [22:24] [22:24] but 3 processes is faster to make with spl 2, spl 1 than spl 1, mov -1, 0 [22:25] yeah, but that's a special case [22:25] or even spl 0, }0 [22:25] i just meant in general [22:25] probably using modulo to determine if its an odd or not ?...m......... [22:25] Altair: there's no preprocessor [22:25] i can't switch between one command or another i think [22:25] the more speed you want, the more special cases you have to include [22:25] but i do have an idea [22:26] Mizcu: yeah, i understand [22:26] just wondered if there were other process generation methods [22:26] sorta like the different imp launches [22:27] process twiddling is kinda hard [22:27] indeed [22:27] there was a thread about letting particular process through a "sieve" at rgc, and it was the biggest of the month [22:28] ? [22:29] cant find it in google group-search [22:30] i have an idea about the process generation [22:30] you can use for as a kind of conditional [22:30] if you choose between for 0 and for 1 [22:30] and make one expression the reverse of the other [22:30] so you'd just have to calculate if a given bit is 0 or 1 [22:31] which is like procs / outerloop ^ 2 (is there exponentiation?) [22:31] though you havce to do something about the upper bits [22:31] overengineering, id say [22:31] hehe [22:32] well you tell me how to do it simpler [22:32] :P [22:32] looking at the cheat-sheet [22:33] i have made myself sheet with fastest methods up to 11 [22:33] core wars cheat 1: wirte ";winXXX" for winning XXX% of all battles :D [22:34] hehe, this wouldn't generate the fastest method [22:34] just "a" method [22:34] so you can plug in numbers [22:41] well, cu tomorrow.......I will read the manual many times before I try to understand what HSA does a second time [22:43] MSG: [22:50] yay, lunch finally [22:50] i think i'm gonna do it [22:50] for fun [22:54] problem: no exponentiation, and you can't do like thing&(i-1) [23:00] i need an accumulator :( [23:00] oh, i know a dumb way i can do it [23:03] or not [23:05] oh [23:05] there's variables and you can do stuff with them [23:05] how bout that [23:32] did it :> [23:32] now to get rid of the preceding movs [23:46] it isn't working grr [23:46] i set a variable (s=1) in the spl instruction [23:46] so i want the mov to only work when s = 1 [23:46] but it fails for some reason [23:46] 80,69201014 for (1-z) [23:46] 80,69201014 mov -1, s [23:46] 80,69201014 rof [23:46] always does mov -1, 1 [23:46] but if i do [23:46] (1-z)*s [23:46] it never outputs [23:50] nor if i do [23:50] for 1-z [23:50] for s [23:53] oh [23:53] i think i understand [23:54] it must not evaluate linearly, at least not quite like i had hoped [23:54] but wait, that makes no sense