[00:31] MSG: Quit: bjoern [01:38] MSG: Ping timeout: 180 seconds [06:41] Join: bjoern joined #corewars [07:44] Join: pak21 joined #corewars [13:07] Join: flummoxed joined #corewars [13:16] hi [13:46] yo [13:46] what's happenin? [13:48] no that much [13:55] i've been looking to get into corewars for a long time, but i've always been a bit intimidated [13:55] i recently read the beginners guide to redcode... it described things alright, but it seemed to be a bit flaky in some ways [13:55] im still not sure exactly how i would write a warrior that's at all unique [13:55] i suppose i should just look at the warriors other people have done? [13:56] To start with, definitely. [13:58] im not even sure what my goals should be when i'm coding a warrior [13:58] do i want the code of the warrior to be as compact as possible? [13:58] so that it's less likely to execute a DAT [13:58] Small size is good. [13:58] Speed is also good. [13:58] also... what stops a person from just having like [13:58] a warrior that does nothing [13:58] and just sits there [13:58] They are often in opposition to each other though. [13:58] Nothing! [13:59] and then like just hard code a bunch of DATs in [13:59] after the warrior [13:59] But it will never win a fight, and will at some point get its executing instruction overwritten by the other warrior and will then lose itself. [13:59] yeah, like can't you just put a whole bunch of junk in after your warrior that you don't even have to execute? [14:00] extra commands etc that your code isn't programmed to use [14:00] Absolutely. But that lets other warriors know (about) where you code is, so that's a bad idea. [14:00] right [14:00] but couldn't you just fill the whole damn core with it then? [14:00] Warriors have a maximum length. [14:00] right [14:00] of what? [14:01] Depends on which "hill" you're playing, but say 100 instructions in an 8000 instruction long core. [14:01] okay [14:01] another thing - is it possible / recommended to have a "moving" warrior? or are corewarriors usually sedentary beasts? [14:02] i know about liek [14:02] the imp [14:02] but might there be a bomber or something like that that somehow brings itself across the core while bombing away? [14:02] Can do either. Something like a paper will move all over the place. A scanner or stone will normally stay where it is. [14:02] Although things will often "boot" away from their start location. [14:03] what does that mean? they just go some random distance away? [14:03] or into a position that they know they won't destory themselves in [14:03] Yeah - just copy themselves somewhere else. [14:04] The idea is to leave behind all their startup code for scanners to find and try to kill, when you're safely somewhere else. [14:04] right [14:04] so they initialize a bunch of stuff and then move away [14:04] Precisely. And use the rest of their 100 instruction limit as "decoy". [14:05] what, in your opinion, are the most useful commands? like, there are a whole bunch of commands, but i'm really not sure how i would apply most of them [14:06] Everything has its use. [14:07] well, yes, of course [14:07] but usually some things see more use than others [14:08] I believe MOV is the most commonly executed instruction. [14:08] Other than that, SPL, JMP, DAT (but that's easy) are pretty fundamental. [14:08] And then the control flow instructions (SEQ, SNE, DJN, JMZ) [14:09] yeah, i figured about as much. [14:10] im really unsure as how to approach writing a warrior. it seems to me that most of hte basic things i can think up are just that - incredibly basic, and pretty much direct derivatives of the few examples i've seen [14:10] but yeah, i guess reading other people's code seems liek theo nly way to go [14:11] maybe then, even if im still only making derivatives of what i've seen, ill have more ancestors to choose from [14:11] :P [14:11] Once you've written some warriors, you'll have a feel of what's possible in Core War and then you can start coming up with possibly new ideas/variations. [14:12] But don't expect to produce anything revolutionary: almost all the change in CW is evolutionary. [14:13] yea, i was reading a bit about that [14:13] so the real competition in corewar now is more like people coming up with algorithms to evolve their warriors? [14:14] That's evolutionary as in "small change from the last one", rather than evolved as in computer-evolved. [14:15] Although computer evolution (particularly for optimisation of constants) does happen. [14:15] sorry, im not quite sure what you mean [14:16] you're just saying that most of the change comes from people taking old programs and changing small things? [14:16] Basically, yes. [14:16] One of the nice things about the Core War community is that people are very open with their code. [14:17] that's cool [14:17] it's pretty much how it should go, especially with something like Core War [14:18] if everyone hid their code, it would take much longer for things to get anywhere [14:18] would you say that a background in actual assembly would help understand Core War better? Or is Redcode too specific [14:18] obviously, it couldn't hurt [14:19] Helps a lot. [14:19] If the only way you know to create a loop is using a "for" keyword, you're pretty screwed in Redcode. [14:20] right [14:21] i might delve more into assembly [14:21] i've been meaning to for a long time [14:21] Equally, you could say learning Redcode is a good way to learn about assembly. [14:22] true [14:22] And possibly more fun as well :-) [14:22] well, learning general assembly techniques would probably help my understanding of other peoples' redcode [14:23] redcode and "real" assembly usually differ enough that they arent exactly comparable [14:23] but they will help creating the thinking-patterns to each other [14:23] yeah [14:24] also, if i learn assembly now, my course in second semester will be a breeze [14:24] haha [14:24] that's always a bonus [15:10] Join: johnkw joined #corewars [17:30] MSG: Ping timeout: 180 seconds [21:59] MSG: Ping timeout: 180 seconds [22:00] Join: Mizcu joined #corewars [23:08] MSG: Ping timeout: 180 seconds [23:09] Join: Mizcu joined #corewars