00:00:40 well, the situation that it was an analogy for was almost that scary 00:01:40 ...to fly to brazil, i mean 00:02:35 * oerjan recalls such a situation in the webcomic A Miracle of Science 00:02:42 except it was Mars, not Brazil 00:02:59 oerjan: googling tells me that that is the source of the quote 00:03:35 -!- pikhq has joined. 00:04:23 ah 00:05:16 * Sgeo forces pikhq and oerjan into #ircnomic 00:05:59 well, oerjan DID participate in a nomic, iirc 00:06:01 so maybe he will come 00:06:29 except once again, i am preparing to go to bed 00:06:47 besides, probably not 00:31:18 -!- timotiis has quit (Read error: 110 (Connection timed out)). 00:42:40 -!- oerjan has quit ("Good night"). 00:51:34 * SimonRC goes to bed (00:51). 00:58:07 -!- ec has left (?). 01:08:49 -!- sebbu2 has quit ("@+"). 01:26:51 -!- Corun has quit ("This computer has gone to sleep"). 01:36:22 -!- immibis_ has joined. 01:36:40 [12:32] *** immybo has been kicked from the channel by immybo (Cause you suck). 01:37:08 hi immy 01:37:10 whazzup 01:38:57 oklopol you are finnish right? 01:39:49 The opposite of down 01:43:19 bsmntbombdood: i'm that 01:44:50 bsmntbombdood: i'm assuming you had a reason to ask :D 01:44:59 no not really 01:45:19 i see, i see 01:45:28 so i hear that nopol owns ass 01:45:33 what do you think? 01:45:50 who is nopol? 01:46:17 language 01:47:14 my newest language, characterized by having Too Many Characters in the charset 01:48:09 4 that is, <.:> 01:48:23 ehird keeps crying about the dotties :| 01:51:05 -!- nopolie has joined. 01:51:20 <: <<<> <<> <>>> <<> <>>> 01:51:24 ^run <: <<<> <<> <>>> <<> <>>> 01:51:25 list index out of range 01:51:27 :< 01:51:42 ^run <: <<> <<> <>>> <<> <>>> 01:51:42 < <> <>> 01:51:53 ^run <: <<::> <<::> <::>>> <<> <>>> 01:51:54 < <> <>> 01:52:03 ^run <: <. <::> <<::> <::>>> <<> <>>> 01:52:04 < < <> <>> < <> <>>> 02:08:29 -!- Sgeo_ has joined. 02:22:17 -!- Sgeo has quit (Connection timed out). 03:19:58 -!- Sgeo_ has changed nick to Sgeo. 03:52:09 oklopol: too many <>, not enough .: 03:52:55 RodgerTheGreat: Lies 03:53:03 * RodgerTheGreat shrugs 03:53:09 hey, I just tell it like it is 03:53:27 RodgerTheGreat: He originally had it just <> and space 03:53:42 < ><><>< <><<><>> <>> 03:53:42 hm 03:53:42 etc 03:53:45 it was beautiful 03:53:57 what's the actual language like? 03:54:49 RodgerTheGreat: It has lists of negative depth. 03:54:51 () = 0 depth 03:54:53 (a b c) = 1 depth 03:54:57 ((a b) (c d)) = 2 depth 03:55:07 (((a b) (c d)) ((e f) (g h))) = 3 depth 03:55:08 etc 03:55:12 it has -1 depth, -2 depth .. 03:55:16 so were they turned inside out, or did they cancel> 03:55:22 RodgerTheGreat: turned inside out basically. 03:55:29 RodgerTheGreat: and the language is based on tree rewriting of those lists 03:55:30 interesting 03:55:39 sounds like it'd be tricky to make unambiguous 03:55:49 RodgerTheGreat: even the syntax is ambigous 03:55:52 >...< is a negative list 03:55:54 <...> a positive one 03:56:01 it uses whitespace to determine which it is 03:56:24 this is pretty much like every oklopol language, then 03:56:29 RodgerTheGreat: I know, I love 'em 03:56:57 and I am talking to you, RodgerTheGreat, at 3:57 AM. 03:57:03 I may or may not be tired. 03:57:11 well, you can't help but admire the creativity if nothing else 03:57:43 what, of being up a- Oh. 03:57:44 ;) 04:03:42 -!- Slereah_ has joined. 04:03:47 Guys. 04:03:49 In Chef. 04:04:02 Can you add curry to the recipie for functional programming? 04:04:39 Slereah_: #ircnomic 04:04:58 Wot 04:20:25 -!- pikhq has quit (Read error: 110 (Connection timed out)). 04:24:11 Nobody's invited me to #ircnomic D-8 04:25:58 It's a secret conspiracy against you. 04:27:05 GregorR: #ircnomic! 04:33:53 Is the term bounded storage machine widespread? 04:34:14 Google has like 32 results, and the first result is the esowiki 04:34:43 And a lot of the results are from the esolang communauty. 04:35:38 The only other sauce seems to be "Constant-Round Oblivious Transfer in the Bounded Storage Model" 04:36:37 Slereah_: i've heard it 04:55:01 GregorR, please do join #ircnomic 04:55:42 Currently, a proposal that could kill the ruleset is passing. 04:59:16 GregorR: Yes, please do 05:03:53 GregorR: ping 05:23:15 -!- immibis_ has quit (Read error: 104 (Connection reset by peer)). 05:43:28 -!- Sgeo has quit ("Ex-Chat"). 06:13:35 -!- cherez has quit (Remote closed the connection). 06:13:58 -!- cherez has joined. 06:23:58 so -- cool domain names 06:24:01 voyni.ch 06:39:58 -!- olsner has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:02:37 -!- Iskr has joined. 08:23:25 -!- ehird_ has joined. 08:39:36 -!- ehird has quit (Read error: 110 (Connection timed out)). 08:49:53 -!- GreaseMonkey has joined. 09:09:35 -!- immibis has joined. 09:10:07 -!- immibis has set topic: http://tunes.org/~nef/logs/esoteric/ | Made of fluffy bell rings and envelope tings, whatever they are.. 09:23:37 -!- ehird_ has set topic: http://tunes.org/~nef/logs/esoteric/ | Made of fluffy bell rings and envelope tings, whatever they are. also green flowers. 09:34:14 -!- immibis has set topic: htpt://tunes.org/~nef/logs/esoteric/ | Made of fluffy oil rigs and envelope tings, whatever they are. Also green flowers. http://kevan.org/rubicon/. 09:35:59 -!- immibis has set topic: http://tunes.org/~nef/logs/esoteric/ | Made of fluffy oil rigs and envelope tings, whatever they are. Also green flowers. http://kevan.org/rubicon/ | We are getting paid $0.00 to advertise Rubicon in our topic. Yay, free money!. 09:48:22 -!- oklopol has quit (Read error: 110 (Connection timed out)). 09:49:15 -!- nopolie has quit (Read error: 110 (Connection timed out)). 10:12:06 -!- immibis has quit ("Leaving."). 10:17:57 -!- ehird_ has set topic: http://tunes.org/~nef/logs/esoteric/ | some irish people have been noted here, please report them if you find any. 10:22:17 -!- oklopol has joined. 10:28:30 oklopol: oklohi 10:28:37 i am oklotired 10:28:52 all words involving oklopol in any way must be prefixed oko- or oklo- 10:31:56 is taht so :o 10:32:02 -!- sebbu has joined. 10:35:44 -!- Corun has joined. 10:36:53 oklopol: slept, i have not 10:37:30 ITYM "olkoslept" HTH HAND. 10:37:42 Aagh, the typo. 10:40:50 -!- GreaseMonkey has quit ("Unisex."). 10:48:56 sdfsdf 10:54:50 -!- oklopol has quit (Read error: 110 (Connection timed out)). 12:25:03 -!- oklopol has joined. 12:39:01 {x:_;y:_;?xy=>(x,y)=(y,x)} <<< sorting a list in Ef, should run in O(n^2 lg n) average time despite of being quite clearly declarative 12:39:30 in Ef (Ef is for Fixed point) function calls are executed infinite times 12:39:42 -!- sebbu2 has joined. 12:40:11 so sort={x:_;y:_;?xy=>(x,y)=(y,x)};sort [4 3 5 2 6] will actually do fixed_point(sort,[4 3 5 2 6]) 12:40:40 this is quite fun as we can calculate stuff like pi exactly, well, superficially 12:41:01 floating point numbers just have an epsilon 12:41:14 more interesting than nopol? 12:41:27 -!- Corun has quit ("This computer has gone to sleep"). 12:41:31 i hope so, i haven't heard about a fixed-point language 12:41:58 atm, it seems to me like it's a whole new paradigm 12:42:05 probably a sucky one, but different. 12:42:57 basically, functions just try to find something they can fix in their arguments, and automatically recurse 12:43:12 explicit recursion is possible, in case the declarative way is too slow 12:44:24 i have no proof it's n^2 lg n, perhaps it's more like n^3 12:45:16 oh 12:45:18 actually 12:45:38 it's O(n^2), because insertion sort arises from the definition. 12:45:45 :) 12:46:03 or actually bubble sort 12:47:57 isn't that awesome? 12:48:11 isn't it?!?!?! 12:48:14 -!- sebbu has quit (No route to host). 12:48:15 -!- sebbu2 has changed nick to sebbu. 12:48:23 hmph :< 12:49:11 lemme explain that sort, in case it's not all that intuitive 12:49:34 x:_; y:_; <<< set x alopol ("( www.nnscript.com :: NoNameScript 4.2 :: www.regroup-esports.com )") 14:54:02 -!- ehird_ has quit (Remote closed the connection). 15:18:58 -!- oklopol has joined. 15:19:50 -!- Slereah has joined. 15:34:29 -!- ehird has joined. 15:41:58 -!- ehird has set topic: http://tunes.org/~nef/logs/esoteric/ | some irish people have been noted here, please report them if you find any. 15:44:38 -!- oklopol has quit ("( www.nnscript.com :: NoNameScript 4.2 :: www.regroup-esports.com )"). 15:58:46 -!- RodgerTheGreat has quit (Read error: 110 (Connection timed out)). 16:30:42 -!- oklopol has joined. 16:34:55 -!- timotiis has joined. 16:38:51 -!- RodgerTheGreat has joined. 16:57:39 -!- oklopol has quit (No route to host). 17:38:07 -!- oklopol has joined. 17:48:17 I'm trying to come up with something so completely useless that one might wonder if I didn't completely lost my mind. 17:48:34 A brainfuck interpreter in recursive functions. 17:58:23 -!- oklopol has quit (Read error: 113 (No route to host)). 18:04:25 Slereah: easy 18:05:44 For you maybe! 18:06:56 I'm not even exactly sure how to execute each instruction for an arbitrary number of them 18:10:04 -!- lament has quit ("Ducks!"). 18:11:14 -!- testyfoo has joined. 18:11:20 test 18:11:22 -!- lament has joined. 18:11:30 -!- testyfoo has quit (Remote closed the connection). 18:11:41 -!- testyfoo has joined. 18:11:48 Test numero 2. 18:12:25 how come as soon as i saw testyfoo i knew it was ehird? 18:12:43 lament: I'm the only one who spams #esoteric with tests, apart from immibis 18:12:44 ;) 18:15:30 -!- testyfoo has quit (Remote closed the connection). 18:23:20 -!- oklopol has joined. 18:25:09 -!- oklofok has joined. 18:47:14 -!- oklofok has quit (No route to host). 18:47:33 -!- oklopol has quit (Read error: 113 (No route to host)). 18:53:47 -!- oklopol has joined. 19:16:54 -!- timotiis_ has joined. 19:28:17 -!- timotiis has quit (Read error: 113 (No route to host)). 19:37:18 -!- timotiis_ has changed nick to timotiis. 20:06:26 -!- Iskr has quit ("Leaving"). 20:10:53 oklopol: you know how you always wished pygame just let you pushed pixels 20:13:53 i might know 20:24:48 oklopol: you said that pygame would be far awesome if it was just put(x,y,col) 20:25:28 well 20:25:31 i just made TINYGAME 20:25:35 which wraps around pygame 20:25:37 and is basically that 20:26:38 oklopol: http://rafb.net/p/FQCAY754.html here it is 20:26:59 the example game is where you control a 10px square with the arrow keys, and it slides around the window. 20:27:16 gonna do GoL now 20:27:17 :D 20:30:28 hehe, fun :D 20:35:25 oklopol: the example is really addictive isn't uit 20:38:05 :) 20:38:05 shuuuure 20:39:04 oklopol: you didn't try it 20:39:05 :< 20:39:40 i did. 20:40:02 i did not find a challenge, so i didn't find it addictive 20:40:13 have you tried bounca? 20:40:50 oklopol: it is a challenge: can you actually write anything with that 20:40:53 because it's quite slow 20:41:02 i'm sure you can squeeze something out of it ;) 20:47:09 hhmm 20:47:21 well, i've written stuff using slower drawing speeds... 20:47:37 like my ti-89 pong :P 20:47:54 oklopol: actually, pong would be really easy with that thing 20:48:01 also i made the game where you eat apples with a snake 20:48:05 you should try it, i can guarantee you it's 59x nicer than pygame ;) 20:48:10 oh, snake would be easy too 20:48:17 2 hours with the basic 20:48:23 the basic sucks ass 20:48:26 god i hate it 20:48:31 hmm 20:48:48 easy, yes 20:48:56 i can scribble pong for ya 20:59:38 hmm 20:59:50 interesting choise of names for height and width 20:59:57 oklopol: are they reversed 20:59:58 :( 21:00:02 no 21:00:03 sure 21:00:04 they're right 21:00:05 i think 21:00:07 okay 21:00:11 hmm no 21:00:13 you are right 21:00:15 oklopol: okay, one sec 21:01:14 -!- Sgeo[College] has joined. 21:01:33 oklopol: 21:01:33 okay 21:01:56 oklopol: http://rafb.net/p/RGME0U77.html 21:01:57 updated 21:02:08 oklopol: so, when you want a colour 21:02:10 do (r,g,b) 21:02:19 game[x,y] = col 21:02:25 game[x,y] will get the value dunno if that's useful 21:02:33 game.redraw(), makes it redraw (duh) 21:02:40 on_tick is called each step of the game loop 21:02:52 on_event whenever something happened, keypress or whatever. just passed as a pygame event. trivial. 21:02:57 on_start is executed just before the game loop starts. 21:03:13 oklopol: so you just subclass Game and override on_{tick,event,start} as you fish using the functions it gives 21:03:24 and then do the Game(...) stuff and .run() it 21:10:14 -!- Sgeo[College] has quit ("http://www.mibbit.com ajax IRC Client"). 21:11:23 oklopol: how's the pong looking 21:11:29 does my lib suck. if so how :p 21:12:04 there's a lot to type, nothing intresting yet. 21:12:38 interesting 21:13:12 oklopol: is there a lot to type for my widdle framework? 21:13:13 that's bad 21:13:19 i tried to make 0 typing needed 21:13:23 what is taking a long time to type? :( 21:13:45 i can paste the code soon 21:13:52 almost "playable" 21:18:11 -!- Sgeo[College] has joined. 21:19:02 okay 21:19:04 ready 21:19:16 i'm harrassed on almost every channel, so took a while 21:19:30 anyway, it's a very stupid and trivial pong 21:19:33 i can paste 21:19:38 oklopol: but it's PONG with MY LIBRARY 21:19:39 that's AWESOME 21:20:08 http://www.vjn.fi/pb/p546351241.txt <<< the parts i could reuse i stole from yours 21:20:33 essentially just wrote it on top of yours as dirty as possible 21:20:35 oklopol: its still called Test 21:20:36 :DDD 21:20:39 well 21:20:45 the comment is the same :P 21:20:56 oklopol: the class is called Test 21:20:58 anyway 21:21:00 hah 21:21:02 indeed :D 21:21:03 oklopol: was my farmework cool 21:21:08 well 21:21:10 or does it have CRAPNESS in it 21:21:24 that's all a game programming framework needs to offer. 21:21:33 oklopol: but you said there was a lot of typing 21:21:51 well 21:21:56 not *that* much 21:22:04 hmm... 21:22:15 oklopol: you're setting float pixels 21:22:15 coo 21:22:38 when doing 2d, you need to use vectors, usually, perhaps let game be indexed with them 21:22:39 umm 21:22:43 i mean complexes 21:22:49 am i now? :D 21:22:50 indeed 21:22:52 oklopol: and you have height/width mixed up 21:23:01 and also you print '-1' for ages on the console on a lose 21:23:37 yarrrrr 21:23:39 oklopol: but the game rocks 21:23:40 totally 21:23:43 just need to put the fps up 21:23:47 fastest way to show who won 21:23:50 hmm 21:23:54 actually could just have crashed. 21:24:05 (maxfps kw option, in case you're lazy) 21:24:09 you could just make it move more pixels though 21:24:22 hmm 21:24:27 you mean el ball? 21:24:30 oklopol: well, if you make the ball go a bit faster 21:24:33 then i'll add networking 21:24:33 maybe 21:24:34 :D 21:24:51 xD 21:24:55 sounds awesome 21:25:39 hmm 21:25:43 the game needs a twist. 21:25:48 perhaps i'll add spins. 21:26:55 oklopol: pygame is so bloated for providing more than what i do isn't it ;) 21:27:01 yeah 21:27:14 :D 21:27:21 okay, i'll add spins now 21:27:25 though it is admittedly *marginally* faster... 21:27:27 they're gonna be awesome, maybe. 21:28:11 hmm 21:28:26 python's built-in lists should be poppable from both ends 21:28:31 are they? iirc they aren't 21:29:10 oklopol: no 21:29:12 python has a deque for that 21:29:14 but 21:29:18 x=lst[0];del lst[0] 21:30:48 yeah but isn't that O(n)? 21:30:52 thaz whaddi meant 21:31:03 oklopol: i dunno 21:31:06 but... use a deque 21:31:24 oklopol: from collections import deque 21:31:36 you have .append,.appendleft,.clear,.extend,.extendleft,.pop,.popleft... 21:31:39 http://docs.python.org/lib/deque-objects.html 21:37:35 yarr 21:39:20 oklopol: python does have libraries you know, you might want to look at them sometime ;0 21:39:22 *'_ 21:39:23 *;) 21:39:35 :D 21:39:38 perhaps some day 21:39:54 can i use it another two years every day first, and then check? 21:40:17 -!- Sgeo[College] has quit ("http://www.mibbit.com ajax IRC Client"). 21:42:52 oklopol: hehe, ok :P 21:42:59 oklopol: how's pongv2 coming? 21:43:21 hard to debug when you can't see the errors 21:43:25 but it's almost ready 21:43:31 oklopol: can't see the errors? 21:43:48 whhhell, to see errors i need to run from idle 21:43:56 which crashes the whole comp when using pygame 21:44:05 or, i need to catch the exception 21:44:15 but that sounds like cheating 21:45:05 whhhell, to see errors i need to run from idle 21:45:07 ??? 21:45:13 just run it from windows cli 21:45:34 oklopol: and it'll work 21:45:40 and when it errors, it closes 21:45:52 err no, oklopol 21:45:54 not if you do 21:45:56 start->run->cmd 21:45:59 cd to the dir 21:46:01 and THEN 'python filename' 21:46:04 the window will stay. 21:46:05 yes yes... 21:46:13 it's not that i don't know this 21:46:14 just keep a cli open in the right dir 21:46:15 :-) 21:46:22 i'm just, well, lazy. 21:46:26 well 21:46:28 true 21:46:37 oklopol: if you're lazy then seeing the errors would speed up your coding 21:46:38 ;) 21:46:43 heh 21:47:08 true... but true laziness means being too lazy to think what's most work. 21:47:33 asdasd 21:47:35 oklopol: thats why i just did the thiinking for you 21:47:36 ;) 21:47:42 "python" is not recognized... 21:47:44 i need to set path 21:47:47 :DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD 21:48:15 hmmhmm... where's path in vista.. 21:48:34 oklopol: you can do it from cli 21:48:40 set PATH=blahblah:%PATH% 21:48:42 i think 21:48:49 doesnt persist, but. 21:48:52 oklopol: also 21:48:55 just type out the full path 21:49:01 and use up-arrow to get the cmd frmo the history 21:49:04 when you want to run it again 21:50:29 i put it there permanently now 21:53:28 Hm. 21:53:30 "Incidentally, even the solutions of the differential equations for a three-body gravitational system are non-computable." 21:53:34 -!- timotiis has quit (Read error: 104 (Connection reset by peer)). 21:53:35 This is false. 21:53:46 It makes me doubt the accuracy of the Gravity article D: 21:54:08 okay i hve spins 21:55:25 It has no good solution, but there's converging series for the three body problem 21:56:22 hehe 21:56:26 perhaps i should link the game 21:56:27 i mean 21:56:28 paste 21:56:36 i'll make the ball inc its speed, and then link 22:01:58 hmm 22:02:05 it's a bit buggy, but what the heck 22:09:15 http://www.vjn.fi/pb/p425253333.txt <<< width/height still wrong 22:09:23 and sorry, i got addicted 22:09:28 so took a while to paste' 22:09:58 argh 22:10:04 oklopol: just flip width/height 22:10:06 the param names 22:10:07 and its ok 22:10:11 made a trivial change just before pasting, and managed to make an error :D 22:10:20 and ill check it in a sec 22:10:26 not right now, but just in a min 22:10:41 erwpase 22:10:42 repase 22:10:44 repaste 22:10:59 http://www.vjn.fi/pb/p132165433.txt 22:11:03 oklopol: if someone told me i could write a pong game with as good as ball as that in that amount of code i'd have called them a liar 22:11:04 :P 22:11:29 how much code? 22:11:33 oh 22:11:40 well, of coures! it's python! 22:11:42 lament: that fully implements pong 22:11:45 i didn't especially aim for shortness 22:11:48 lament: using MY LIBRARY 22:11:50 :D 22:12:15 could do a lot shorter, i'm not sure what i aimed for, perhaps just wanted not to have to think at all 22:12:20 anyway, check out the spins :P 22:12:40 i always kill myself with them :< 22:12:48 you can pass the ball to yourself :P 22:13:19 oklopol: i will in ~60sec 22:14:26 oklopol: i want to bloat tinygame up a bit though 22:14:32 so that you can do a bit more than just pixels 22:14:34 for only one reason-- 22:14:36 speed 22:14:46 i can't do the awesome things i want to do with it right now 22:14:51 because it won't go fast enough ;) 22:14:52 lol @ the spins, i just ended up passing the ball to myself 5 times, just to end up dying :D 22:14:58 well true 22:15:42 oklopol: it will still be VERY VERY TINY though 22:15:44 so don't worry 22:16:21 -!- timotiis has joined. 22:16:23 LOL this game is AWESOME xD 22:16:34 make something for networking, i wanna own you at this :D 22:17:09 oklopol: will do once i test it 22:17:15 i will do it the AWESOME route 22:17:17 invent dpy 22:17:20 distributed python 22:17:26 oklopol: you just give it an object 22:17:28 and it exposes it 22:17:29 yeah 22:17:31 so you can do 22:17:37 dpy.expose(foo, port=453453) 22:17:37 that would be awesome 22:17:39 and then in another app 22:17:53 foo = dpy.fetch(host='foobar', port=453453) 22:18:00 and voila 22:18:33 oklopol: ruby has basically that called DRb (distributed ruby) 22:18:37 python needs it 22:18:38 it's awesome 22:20:39 oklopol: anyway, brb in a sec 22:20:41 then i'll test 22:20:47 then i'll NETWORK 22:20:57 oklopol: oh and i won't handle latency or anything. that's not hardcore enough 22:24:28 http://www.vjn.fi/pb/p444246132.txt <<< officialest version 22:24:36 and last for tonight prolly 22:24:46 try the spins, man :D 22:24:58 ehird: did you read about Ef? 22:24:59 oklopol: ok, gimme 60 secs or so 22:25:00 then ill network 22:25:01 and yeah 22:25:03 ef loooks cool 22:25:04 my fixed point language 22:25:28 did you get both the examples? 22:25:38 i've just made a slow sort, and pi. 22:25:42 sort = {x:_;y:_;?xy=>(x,y)=(y,x)}; 22:25:43 pical = (.acc, denom, sign):{(acc + sign/denom) (denom + 2) (-sign)}; 22:25:43 pi = (pical 1 3 -1) * 4; 22:26:08 the pi there is fairly clear, i think, although there actually shouldn't be commas in the argument list 22:29:05 -!- oerjan has joined. 22:31:40 god this game is addictive 22:32:03 i've been playing for like half an hour 22:32:06 one player per hand 22:32:07 :D 22:34:11 vcvxnmmnvbcvbnnbvcnvbnm,.n,mbnmnm,.mn,m..../,.,m././,.mn,mn,.m,nbvcvvbnbvncbnmnasdfgghfdgsddghfhdfsdfghj.kjkklk;;klk;l;rewetuyreyuyiuqewertoiuiu31`1`314356867890[]-090-0-987yuyttqwerttyurtuiupo79op[ 22:34:14 ]0i;irhgfagdhgjkujllkuyjhdfnm,nvc 22:34:15 sorru 22:34:38 oklopol: gonna look now 22:35:37 oklopol: fix the hight/weight 22:35:40 just flip the names 22:35:41 :D 22:35:42 :D 22:35:44 bbbut 22:35:52 i have to flip them in *two files* 22:36:09 oklopol: no 22:36:13 i already showed you the updated game one 22:36:17 ready to paste 22:36:53 i did a manual swap already 22:36:56 oklopol: yours doesn't report the winner any more. 22:36:57 all you did was change the names? 22:36:57 it just exits 22:37:01 yeah 22:37:08 i guess its obvious though 22:37:11 i figured you will know which side the ball was one 22:37:12 *on 22:37:20 oklopol: how does i accellerate ball 22:37:22 and flip 22:37:28 whhhel 22:37:29 so 22:37:34 first of all 22:37:47 it takes a bit of the speed the... puck has 22:37:52 puck? 22:37:53 anyway 22:37:57 also, it takes spin 22:38:05 oklopol: aha 22:38:06 gotcha 22:38:06 okay 22:38:07 spin works as it does for something like a ping pong ball 22:38:10 now i network it 22:38:15 go for it 22:38:47 i warn you, oklopol, dpy may be the most awesome thing ever 22:39:41 oklopol: also, it will be a huge security risk 22:39:42 but ;) 22:39:43 nothing can beat the awesomeness of the suicide spins 22:39:46 in the game 22:39:50 heh 22:41:24 7079 is an awesome port, oklopol 22:41:27 (py in ascii) 22:43:32 asdadsadsasdasdadsadasd the spins are too hard for me 22:43:52 sdfsdfsdf 22:45:25 oklopol: khdsfkjhsdflkhsdfkjsdhfjksdfj dpy is hard 22:45:26 :( 22:45:30 * ehird tries to find another way to do it 22:45:52 oklopol: http://rpyc.wikispaces.com/ hmm 22:46:42 http://www.vjn.fi/pb/p365653263.txt <<< minimal change in Ball 22:47:33 lol 22:48:27 this game must bethe most authentic ping pong game ever made 22:48:43 oklopol: its hard 22:48:53 its 2d but the ball acts 3d 22:49:04 when you get a good ball going, it's awesome 22:49:05 hmm? 22:49:09 now it doesn't 22:49:12 *no 22:49:30 oklopol: wow. i just bashed it, and it curved round right into my goal 22:49:31 XDXDXD 22:49:38 'no, fuck YOU' 22:49:41 :DDD 22:49:42 yeah 22:49:51 it's because the spin lasts quite long 22:50:04 perhaps i should make it a bit shorter 22:50:16 a bit. 22:52:00 hehe 22:52:06 the ball got stuck in the middle :) 22:52:56 oklopol: what port# for okopong 22:53:23 hmmm 22:53:33 9049 22:54:06 oklopol: so, what exactly will a client need to access on the other end... 22:54:13 Ball or just the player object 22:54:14 or ... what 22:54:29 i guess lup/rup or whatever 22:54:41 depends... i've always felt the os should do networking for me :) 22:54:46 oklopol: :| 22:54:52 but 22:54:54 yes 22:54:55 aaaand 22:55:11 i think it might need some modification to be networkable 22:55:12 hmm 22:55:13 or not 22:55:30 hmm 22:55:33 -!- GreaseMonkey has joined. 22:55:35 if one is server 22:55:37 and one is client 22:55:41 oklopol: one server, one client. yeah 22:55:46 server needs to know what client has pressed 22:55:55 and client needs to know where all objects are 22:56:00 well 22:56:07 i guess server=left+ball 22:56:09 and client=right 22:56:11 or smth 22:57:57 oklopol: beh 22:58:01 wanna help me code this 22:58:01 :P 22:59:18 http://www.vjn.fi/pb/p124112365.txt <<< last update fucked everything up, you are all prolly playing this like crazy, so here's the fixed version 22:59:22 straight from the oven 22:59:25 hehe :D 22:59:28 whhhell 22:59:36 my way 22:59:42 ...would be to make a new language 22:59:57 WITH TUPLESPACES SHARED OVER NETWORKS AND AAAAAAHH 23:01:30 oklopol: euuuuuurgh 23:01:33 i was just coding the network 23:01:34 and you update it 23:01:35 :| 23:01:40 tell me which parts you changed 23:01:53 :P 23:01:55 okay 23:02:00 which version you had? 23:02:03 it's just 1->0 23:02:05 second-last 23:02:06 let me show the line 23:02:14 if abs(self.d[0])<0.6: 23:02:14 self.d=(self.d[0]*1.01,self.d[1]) 23:02:14 if abs(self.d[1])>5: 23:02:14 self.d=(self.d[0],self.d[1]*0.95) 23:02:14 http://www.vjn.fi/pb/p365653263.txt 23:02:18 this was changed 23:02:21 http://www.vjn.fi/pb/p365653263.txt -> that 23:02:21 how 23:02:47 self.d=(self.d[0],self.d[1]*0.95) <<< this line 23:02:53 used to be 23:02:57 self.d=(self.d[0]*0.99,self.d[1]) 23:02:59 or smth 23:03:41 how did you choose to do it? 23:03:56 the simple way would be just to make client send keystrokes 23:04:05 although that is less stable ofc 23:04:24 oklopol: i am just syncing every single property 23:04:27 probably won;'t work 23:04:30 btu yeah i might just do that 23:04:47 ah 23:04:58 well keystrokes might work because they're fast to send. 23:05:09 oklopol: wtf 23:05:10 TypeError: cannot marshal objects 23:05:12 oh 23:05:15 hmm 23:05:16 because of the pygame objects 23:05:17 ok 23:05:18 that's alright 23:05:24 oklopol: gonna restart and just make it send keystrokes 23:05:28 oklopol: but how will the client display 23:05:28 you can just marshal balls and players 23:05:33 hmm 23:05:51 both display the same, it's just client just sets all positions when asked by the server 23:05:57 oklopol: okay 23:05:59 and just skips all moving and such 23:06:16 oklopol: BUT 23:06:22 to allow the host to call stuff on clients 23:06:27 Pong stuff must be marshallable 23:06:28 gah 23:06:31 i'll just invent my own protocol 23:06:33 ummummumm 23:06:40 you need to call stuff on clientS? 23:06:42 what does that mean? 23:06:43 oklopol: uhhh duh 23:06:46 to set the attrs 23:07:03 errrr 23:07:20 client sends keystrokes to server, server sends 3-tuples with positions to client 23:07:29 you need to marshal these. 23:07:35 nothing else, afaik 23:08:06 oklopol: the server can't 'send' anythign to the client 23:08:08 the client is a client. 23:08:09 not a server. 23:08:21 right, right 23:08:46 well, i was meaning more server/client, conceptually 23:08:51 not in any physical aspect 23:09:11 i would send stuff both ways, like i describeds 23:09:14 *described 23:09:19 oklopol: btw, if the server sends off rdn/ldn etc 23:09:23 then you have lag after pressing a key 23:09:26 because you dont immediately see it 23:09:59 -!- Corun has joined. 23:10:09 yeah if there's lag, then the puck will just move onwards like a ghost 23:10:24 or just stay put 23:10:36 oklopol: just stay put 23:10:40 oklopol: i hope your net conn. is good 23:10:45 stays 23:10:46 we'll take turns hosting 23:10:47 ;) 23:10:49 oklopol: actually 23:10:49 :D 23:10:52 let's decide one thing 23:10:54 host=left 23:10:56 client=right 23:10:58 or other way around 23:11:04 does it matter much? 23:11:09 err 23:11:10 well 23:11:15 a bit if we're actually playing 23:11:16 btw 23:11:23 wanna make it restart when someone dies? 23:11:24 i mean 23:11:28 games last like 3 seconds 23:11:29 :D 23:11:32 oklopol: i mean, really the server has to send off the X and Y of the pucks. Instead of just which way they're moving. 23:11:40 Otherwise everything will be out of sync. 23:11:45 they send out coordinates 23:11:48 never speeeds 23:11:50 speeds 23:11:56 client doesn't know what's moving 23:12:17 or it can know where the ball is moving, just to make sure it looks smoothy 23:12:23 matter of choise 23:12:25 choice 23:12:34 oklopol: your model doesn't save the co-ordinates though 23:12:35 does it? 23:12:42 oh 23:12:43 it does 23:12:46 okay then oklopol 23:12:47 kinda. 23:12:49 so, wait 23:12:50 let's say 23:12:51 left=server 23:12:53 right=cilent 23:13:01 yea 23:13:06 oklopol: the server only has to send the DIRECTIONS of left 23:13:12 it doesn't need to send rup/rdn 23:13:13 HOWEVER 23:13:18 the *client* must send rup/rdn 23:13:28 and dutifully accept every data the server gives it 23:13:30 oklopol: am i rite 23:13:42 yes 23:13:51 well 23:14:03 client sends keystrokes to server, server sends 3-tuples with positions to client <<< this was my idea 23:14:03 oklopol: i can do this with help :D 23:14:27 dunno if that's good, but seems you're doing something like that 23:14:32 so, if you are, that's that 23:15:04 err 23:15:05 okay 23:15:08 you said exactly that 23:15:09 good, good 23:15:31 i kinda suck at understanding what people say :) 23:16:34 wow, like 20 hits before i lost 23:16:44 i love this game <3 23:17:28 oklopol: make pucks accellerate 23:17:42 if i hold down the up key when at the bottom, i should speed up while getting to the top 23:18:01 will make your acelleration stuff much nicer 23:18:10 i left that out intentionally, they speed up a bit if the ball moves fast... but i guess that might be nice 23:18:14 let's do networking first tho. 23:18:32 oklopol: 'kay 23:19:32 do you like the playground size? i kinda enjoy the tininess 23:19:42 oklopol: yes 23:19:54 oklopol: OKAY so networking protocol 23:20:02 uhh 23:20:06 okay 23:20:13 oklopol: so 23:20:17 -!- Corun has quit ("This computer has gone to sleep"). 23:20:17 it's tcp/ip. 23:20:18 and. 23:20:23 the client connects to the server 23:20:27 then 23:20:36 they exchange 'pickle packets' 23:20:39 oklopol: which is my word! 23:20:40 basically 23:20:43 NUMBER ... 23:20:44 means 23:20:48 you get a NUMBER 23:20:49 then a space 23:20:52 then NUMBER bytes 23:20:55 and you can depickle those bytes. 23:20:57 oklopol: okay? 23:21:07 that's the cutest word i've ever heard. 23:21:08 so, when a client sends a message, it's 23:21:11 pickle packet 23:21:16 (rup,rdn) 23:21:17 right? 23:21:22 oklopol: but 23:21:22 hmm 23:21:24 when a server sends it 23:21:25 it's 23:21:26 sure. 23:21:30 (plrs,ball,lup,ldn) 23:21:41 oklopol: hmm. isn't rup/rdn duplicate couldn't you just have 'r'? 23:21:49 yes. 23:21:50 as 0-2 23:21:51 well 23:21:52 kinda. 23:22:00 umm 23:22:01 oklopol: do you want to do it like that or.. 23:22:08 yeah i could just have it -1...1 23:22:20 oklopol: good idea or not 23:22:25 good idea, sure 23:22:33 oklopol: lets just get it working though 23:22:38 yes. 23:22:48 i can quickly change that later, or you can 23:22:53 it's like 30 seconds of work 23:24:35 after Ef, my next language will have implicit storing of the past, meaning you don't have to store something like "where the puck was 10 moves ago" in a list, you can just use the old value, and it will be seen @ compilation, and automatically stored 23:24:51 -!- Corun has joined. 23:24:54 (lps stores last positions, in case you haven't read the code) 23:26:06 i often end up not adding a feature if i have to add code somewhere other than where i'm currently adding stuff 23:26:43 also, i think stuff should be described where it's used, doing something like keeping old positions in a list does not make sense at the point when you're storing them 23:26:43 ok, maybe got the protocol down oklopol 23:26:46 just when you start using them 23:26:50 okay, i'll stop my rant 23:26:50 now i just have to ... code it 23:27:01 heh :) 23:27:04 well, sounds simple enough 23:27:20 what's it called? 23:28:15 oklopol: port no again? 23:28:25 9049 23:28:36 PONg 23:28:45 oh heh, oklopol :) 23:28:51 that is LAME 23:28:58 sure :) 23:33:08 i gotta go to sleep now 23:33:14 oklopol: nooo 23:33:16 i almost got it working 23:33:21 is that so? 23:33:24 yes! 23:33:29 well, i guess i can play for a while 23:33:37 how long? 23:33:43 oklopol: ehh not long 23:33:43 would you say less than half an hour 23:33:46 yeah 23:34:23 oklopol: hm 23:34:34 instead of keypresses, I can just make the client send (rup,rdn) can't I? 23:34:39 yeah 23:34:40 since they are the only things affected by the keys 23:35:54 oklopol: how often should the server send stuff? 23:35:55 every tick? 23:35:57 every N ticks? 23:36:10 every tick perhaps, it shouldn't be a problem 23:36:33 every n ticks is just as easy to do and allows for every tick. 23:37:23 hmm 23:37:33 those sentences may have been bit contradictory 23:37:39 i'm getting a bit tired 23:38:05 socket.error: (111, 'Connection refused') 23:38:08 weiiird 23:38:26 oh 23:38:27 i see 23:38:47 i don't know much about sockets in practise 23:38:56 i'm not even sure i've ever made a game with networking 23:39:23 i've made hashmap chat and irc stuff though :D 23:39:30 Hat was awesome 23:40:40 the idea was to make a shared hashmap, but my implementation was too slow to allow for pong. 23:41:13 oklopol: hmm 23:41:14 ironing bugs 23:41:17 and it SHOULD be ok 23:41:52 you still have 20 long minutes 23:42:34 oklopol: eeek 23:44:36 oklopol: you know how to get all router ports forwarded and stuff right 23:44:38 so you can host 23:45:01 umm 23:45:14 i don't know anything, ever. 23:45:46 also the router isn't here 23:45:46 AttributeError: '_socketobject' object has no attribute 'flush' 23:45:48 that's silly 23:45:52 i can't access it 23:45:57 indeed it is 23:46:10 oklopol: hmm well it connects 23:46:12 can't tell if it makes any sense 23:46:45 try playing it? 23:47:03 oklopol: trying to, but its hard to switch between windows 23:47:37 well 23:47:41 you can always slow it down 23:48:11 oklopol: i have total bugzzz 23:48:13 help? :( 23:48:22 perhaps a little 23:48:45 if you paste the code, i can prolly take a look 23:48:59 oklopol: http://rafb.net/p/jePCoF48.html 23:49:05 'python netpong.py' => server 23:49:08 it gives you a hostname 23:49:14 'python netpong.py thathostname' => clien 23:49:14 t 23:49:17 the syncing is just all weird 23:49:21 i don't get what is happening 23:52:25 oklopol: so yeah 23:52:50 hmm 23:52:57 where does all reading happen? 23:53:57 also it seems to me like both act as both server and client 23:54:16 oklopol: yes it does 23:54:25 the client has to tell the server its direction 23:54:32 the server has to tell the client... well, everything 23:54:38 oklopol: and .. ctrlf to find the reading 23:54:39 :-) 23:55:05 okay 23:57:01 ima_server_send is executed no matter whose on_tick is ruunning 23:57:03 running 23:57:33 oklopol: okay 23:57:45 okay? 23:57:49 "okay"? 23:57:57 oklopol: okay as in i will fix 23:58:36 i need to go now, sorry :| 23:58:39 early morning 23:58:40 bye :( 23:58:41 :) 23:58:45 test it tomorrow 23:58:56 i'm actually lying, i can sleep quite long 23:59:04 but, i also *wanna* sleep quite long 23:59:25 yarr i'll PWN your ass tomorrow. 23:59:27 ->