[00:10] MSG: Quit: blaaaarghhh [07:45] Join: Metcalf joined #corewars [10:49] Join: CoreOld joined #corewars [12:00] Join: yoR joined #corewars [12:00] :( [12:01] Only 9th place on the hill, and a very unlucky self score hehe [12:03] Hi yoR [12:04] hi [12:34] MSG: Quit: Trillian (http://www.ceruleanstudios.com [12:38] MSG: Ping timeout: 240 seconds [13:51] Join: fiveop joined #corewars [17:38] MSG: Read error: Connection reset by peer [17:38] Join: yoR joined #corewars [18:12] * bvowk punches roy in the arm! [18:13] Join: Fizmo joined #corewars [18:14] hi hi [18:14] hey fiz [18:14] hi bvowk [18:14] 'sup? [18:15] ohh, dinner ready, back soon [18:17] Hi bvowk, Fizmo :-) [18:30] This corewar simulator only implements < and > for the b-field of MOV [18:30] Join: Neogryzor joined #corewars [18:30] Hi Neo [18:30] Good evening [18:30] hi Met [18:33] * yoR punches back [18:33] (tat late...) [18:33] Why did you punch me bvowk? :) [18:33] Hi neo [18:35] hi yoR [18:36] Did you see Pacler Deux? Its very similair to Chiki Chiki [18:38] Hi Roy [18:38] Hi Neo [18:38] :-) [18:38] Good work, Roy [18:38] 7th [18:38] cool [18:38] Hiya, thanks :) [18:39] Hi Fizmo [19:42] Join: elkauka joined #corewars [19:42] Hi Elkauka [19:47] hi hi [19:48] I'm sorry I need to leave now [19:48] hope to come online tomorrow [19:48] byebye [19:48] MSG: Quit: ChatZilla 0.9.84 [Firefox 3.0.4/2008102920] [19:52] is anyone of you attending 25c3 ? (http://events.ccc.de/congress/2008/) [19:52] * Neogryzor waves late [19:56] Join: tom joined #corewars [20:06] Hi Tom [20:06] Hi [20:07] Are you new to Corewar, or just new here? [20:07] New to Corewar, mostly. I've done some simple stuff, but not much. [20:08] Well, if you need any help, just ask here. If you don't get an answer straight away, check the logs later [20:08] OK. Thanks. [20:14] MSG: Quit: ChatZilla 0.9.84 [Firefox 3.0.4/2008102920] [20:33] oh right [20:33] question: how do i winned at corewarriors [20:37] there are competitions on-line called "hills". Also there are tournaments and challenges from time to time [20:41] evenant: read some of the most recent warriors and articles published and then think about what might beat them. [20:43] If you read the latest nanoWarrior and the make a paper/clear you'll probably enter the nano hill :-) [20:50] oh you would have to give my facetious question a useful answer [20:51] Metcalf: have we seen your true power level yet??! [20:57] evenant: that would be my secret identity, I'm a corewar superhero! [20:59] funny, i always thought 'rockstar' ;) [21:00] No, evenant, I'm the rockstar here [21:01] * yoR 's got the star allures [21:01] oic [21:01] can i be a groupie? [21:02] No.. [21:02] Only 18-20 year old girls please.. :( [21:03] what a coincidence, i just turned 18-20 the other day [21:03] 18-20...2? [21:03] -2 actually.. [21:03] don't you go runing my funnies >:( [21:07] Join: tom joined #corewars [21:10] I play guitar, can I be in this band? [21:10] welcome back tom [21:10] you just missed the secret to victory! [21:11] ah [21:12] * tom checks logs [21:13] oh you crafty fellow [21:14] well, there was that link at the top... [21:15] Are you sure we didn't put the link there to confuse you? ;-) [21:15] I come to ask a really stupid question. [21:15] What exactly is a DJN-stream? I got some of it from context in which it's mentioned, but I'm unclear on the details. [21:16] if you use djn a certain way [21:16] the result is a series of decrements through core, going backwards one at a time [21:16] djn.f loop, decrements both fields pointed to by the b-field of counter [21:16] and that hurts imps at least, I'd imagine [21:16] and can run through other code and mess it up too [21:17] it's kind of a free attack instead of just plain old jmping for a loop [21:17] normally, when I program, I don't have to worry about other people messing up my data constants [21:17] *sigh* [21:17] of course, if you hit a spot in core that ends up as 0 it doesn't loop and instead falls through to the next instruction [21:17] haha, no kidding [21:17] but messing up pointers hurts more than constants [21:17] imagine if your bomb pointer suddenly got moved by 1 instruction [21:18] to, say, a dat 0,0 [21:18] well, thats half the beauty of corewars [21:18] yep [21:19] i just thought, what if someone made one of those battling robots games [21:19] except the robot code ran redcode in shared memory [21:19] :P [21:20] Corewars is the closest a programming game can get to the analogue of physical robots, because the actual source code is what's being attacked. [21:21] i am referring to various programming games that are implemented by writing code to control the 'physical' robots [21:21] it would end up as two robots just sitting there having seizures i bet [21:21] :P [21:22] what, if the physical robots could attack each others' source code? [21:22] that would be really funny [21:22] well, write them in c and have them shoot shellcodes ^^ [21:23] oh i like that [21:23] nice pun [21:26] have them shoot kill(getpid(), 11); statements [21:27] problem with C corewars analogue is that in c a statement is so malleable (nested functions and so on) [21:28] most good games seem to have a combination of simplicity and complexity [21:28] simplicity in the components and complexity in their interaction [21:28] straight up c code is just too complex in the components themselves [21:30] yeah, i think HLLs are not suitable for source-v-source competitions, though they're better for robot-v-robot [21:30] ultra high level languages are best for robot versus robot [21:31] win(); [21:37] even without win() you can still monkey-patch the other robot [21:44] win(), tie(), loss() and you'll still have non-equilibrium strategy :( silly Nash... [21:44] win or die; [21:44] thx perl [21:59] Has anyone got CoreWar Pro v2.1 handy? [21:59] I think I've got it on a CD somewhere [22:06] * elkauka waves [22:06] MSG: Quit: blaaaarghhh [22:10] what is that? [22:19] If you mean CoreWar Pro, it's a MARS from about 1990 that supports a few unusual instructions [22:21] including SSP, EXC, SSZ, PSH, POP, GSB, RET [22:27] never head about it before [22:27] i suppouse psh/pop are for stack handling, gsb/ret for subroutines [22:29] Yes [22:30] Although PSH / POP can be done it one MOV instruction and GSB / RET both in a MOV and JMP [22:40] MSG: Quit: humhum [22:42] hey you guys are interested in evolution stuff [22:42] * Metcalf is [22:43] did you see that game that attempted to evolve a 'fun' shootemup game? [22:43] No [22:43] i think it was one of the ones on kloonigames [22:43] it was a java thing that implemented a basic shootemup game but every game had random parameters [22:43] as pertains to bullet fire, enemy movement, etc [22:44] and it tried to select the ones that got played more often to evolve a 'funner' game [22:44] personally i think no parameters could have made that game fun so i think it kinda fails in the end [22:44] but it was a really interesting idea [22:45] anyway, i was talking to my coworker (an old guy, not even a gamer) about the concept of 'balancing' things in mmogs [22:49] and i was just thinking also about something i read on metaplace.com where they were talking about how games can be represented by math [22:49] one example they gave was of real time strategy games (?) being analagous to solving a calculus equation for a local maximum [22:49] or something like that [22:50] it occurs to me that if you combine all these things, you could say, generate an expression and randomize the constants to generate the values for the various units [22:50] and do the same thing .. genetic selection for constants that generate an optimal game [22:50] there are a class of games that are graphicless [22:50] online strategy war type games [22:51] make up a random unit name generator or something [22:51] and you wouldn't have to worry about things like 2d position and movement [22:51] just the values that control how units interact with each other and the various costs etc [22:51] MSG: [22:52] those games are usually pretty long-term in realtime terms though [22:52] i wonder if it'd be possible to make ones that ran for a shorter period [22:52] and i wonder how you'd judge relative success [22:52] active players? [22:54] another thought: it'd probably be kinda counter productive [22:55] many players will play broken games just to take advantage of the brokenness [22:55] Hmmm... it depends how many players know it's broken :-) [22:56] what about this [22:56] we can sorta define fun as popular [22:56] over time, if a game is broken it won't be fun [22:57] it'll get boring for the winners and frustrating for the losers [22:57] enemy territory has been quite broken pretty much anywere, but people still play it [22:57] if you give the players the option of which set of settings to play [22:57] for example, give them X realms to choose from [22:57] you can phase out the ones people don't play and populate them with variants of the ones people do play [22:58] That makes sense [22:58] with new names of course [23:00] hmm.. has there ever been a game so broken that playing has become a metagame? [23:00] (well.. tasvideos.org , but not counting that) [23:03] the question i guess is how to define the game mathematically [23:03] i never could grasp that well [23:03] i mean, i can see that there are relationships between all the numbers, but i don't know how i would create them [23:04] it also has to do with what i said earlier about simple pieces and complex interactions [23:04] if you were looking at a graph, what kind of graph makes for the most 'fun' game? [23:04] i kinda suspect something with a lot of peaks and valleys but none that overpower each other [23:04] you sure don't want a flat line :P [23:05] so then what you change in the evolution is perhaps how many peaks, or how varied or how high they are [23:05] chess? [23:06] time to disconnect [23:06] * Neogryzor waves [23:06] MSG: [23:07] what about chess? [23:08] (well, i hate it, but..) it has pretty "flat line" [23:08] i don't know [23:09] it's not really the same kind of equation i'm thinking about :P [23:09] chess doesn't have unit costs etc hehe [23:09] but what i am thinking of, a flat line would be equivalent to all the pieces are the same [23:09] defined that way, chess isn't flat [23:09] i don't know what kind of math would make it happen [23:10] and you can use different pieces effectively in chess [23:10] soldier = 1, knight = 2, queen = 3, king = key piece [23:10] so no one peak would be overpoweringly high [23:11] in strategy games, there's a lot more math too [23:11] hit points, attack, defense, etc. [23:11] so it's a more direct mathematical thing [23:11] the physical component of chess is too important, and it's outside the scope of what i was considering [23:13] most of the mathematics in RTS-type games is simplified by the player's anyway [23:13] they dont build exactly 3 footsoldiers and 2 archers to counter the 4 footmen coming [23:14] well [23:14] some of them do :) [23:14] watch some freaking korean starcraft tournaments [23:14] it's a wholly different game [23:14] those fuckers are amazing [23:14] i get migraine trying to watch their gaming [23:14] but see, in a bad game [23:14] they would all play the same [23:15] so there's got to be something that enables variety [23:15] is that the same as having multiple equivalent peaks in the graph? [23:15] or to put it another way, can a graph be made so that you can generate that kind of result by creating a graph like that/ [23:15] well, one thing comes to mind: [23:16] think of the game as a n pie-graphs on top of each other, but all in different dimentions [23:16] or even without the dimentions [23:16] in a bad game, there are only two slices [23:17] i've thought of it in terms of rock paper scissors before [23:17] hehe [23:17] for every action there is an *out*, just like in chess you move to counter somebodys aim [23:17] sure [23:17] but it's not defined directly as an out [23:17] it's just a possibility that has enough strength to be viable [23:18] in a good game the slices can be different slices, and even very few, but they have wide number of results [23:18] damn, i write badly now [23:18] you could define rock paper scissors as three units, 2 hp each, rock gets +2 defense against scissors etc [23:18] but if paper had only 1 hp noone would use it [23:18] (ignoring the fact that this means that rock would always win) [23:19] so if you generate three units with random-ish stats [23:19] you want them to be different from each other but balanced enough that there aren't completely worthless ons [23:19] and completely overpowering ones [23:20] can this all be decided without human influence? [23:20] its about having the balance to be too complicated to see straight [23:20] Starcraft and Warcraft's, in their base are S/P/Sc -games [23:21] but yet simpler than N-variety roshambo [23:21] what's roshambo? [23:21] sounds familiar but i don't recall the details [23:21] S/P/Sc [23:22] i didnt want to say Stone/Paper/Scissors/Sock/Drill .. [23:22] lol [23:22] i don't know i'd say they are simpler [23:22] it's more like the strength of stone/paper/scissors varies over time [23:23] and in relation to each other's actions, which are things that aren't accounted for in the basic game at all [23:23] stone starts as stone. Improve your techlevel by one, and its becomes Stone->scissor or Stone->stone [23:23] third tech, and you have Stone-Sci-Sock [23:23] playing well amounts to knowing when and how much to excercise your advantages and mitigate your disadvantages [23:23] i don't see starcraft, for example, as being that way [23:23] it's not like you "level up" [23:24] you invest resources in achieving more powerful items [23:24] the investment required becomes one parameter of those items [23:24] perhaps you may start out with 5 rocks [23:24] but if yous tart with 3, in 5 turns you can have 2 scissors [23:25] in that scenario, scissors have a higher cost than stone [23:25] which is one parameter you can alter [23:25] that would shift the balance [23:26] i was following on the idea that plain stone is equal of stone/scizzor, while having a 33/66 against Stone/paper [23:26] well, in starcraft terms, thinking about the value of a simple marine [23:27] it remains useful for 2/3rds of a game, even though it loses fights, resourse by resource already to second tier troops [23:27] ..resource to resource.. [23:28] because resource cost is a factor too [23:28] also the resource investment required to achieve other units [23:28] and we can't ignore special abilities and stuff which muddy the relationship and are kinda beyond the scope of my ponderings [23:29] but to tie it into what i was originally thinking about, how would you devise a mathematical basis for reating X units and their values so that they balance out in a way that works and is fun to play? [23:30] maybe i should hire you as a co-gamedeveloper [23:30] could starcraft, for example, in a simplified form, be reduced to an equation that would generate variants by changing the constants? [23:30] lol [23:30] and if you then devise a basic equation, you can try evolving for optimal constants that produce a fun game [23:31] although i have nothing but gamevisions, and i developed the worst gameidea ive had so short time ago that i can still remember it [23:34] maybe one graph is too simplistic [23:34] perhaps i should be thinking about it in terms of one graph per parameter [23:34] (attack, defense, hit points, cost, investment) [23:34] and units could be specific x-positions [23:35] i think that only works when you want to calculate for a strenght of a new troop compared to the existing [23:41] (and the psychology of gaming.. you dont want megakiller to be just a troop with better stats than the rest, you want people to say OOOH) [23:41] (even if selling the game only to Korea) [23:45] what only works what? [23:47] one-graph-per-parameter [23:49] i'm not talking about calculating anything, i'm talking about seeding the creation of them [23:49] you have a wavy line that represents attack power, and there are 5 units [23:50] x = 1 is attack power of the first unit [23:50] x = 2 is the attack power of the second unit [23:50] etc. [23:50] vary a constant and they all change slightly or drastically [23:50] but you are varying fewer constants than you would be if you just picked random stats for everything [23:51] seems like you'd get more variety and unit interactions that way than pure randomness [23:51] i think it'd be too complicated and restrictive to explicitly define the way the various units interact [23:51] if id buy a game, and foot troop I had 71 hp, while megatank has 2517 hitpoints, id think it was creepy [23:52] and if you change a constant, it could bring them closer to equal [23:54] using that method to generate them doesn't mean that they will end up in any particular value or relation to each other [23:56] i think that is also too chaotic though [23:57] :\