code logs -> 2006 -> Mon, 23 Oct 2006< code.20061022.log - code.20061024.log >
--- Log opened Mon Oct 23 00:00:03 2006
00:16 Janus [~Cerulean@Nightstar-10302.columbus.res.rr.com] has quit [Quit: Jouets de Dieu, jouets de jouets, et les jouets de me, fait naĆ®tre Clairvoire.]
00:26 Thaqui [~Thaqui@Nightstar-8486.adsl.xtra.co.nz] has quit [Quit: Leaving]
00:51 Chalcy [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
00:51 mode/#code [+o Chalcy] by ChanServ
00:52 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout]
00:55 Chalcy [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout]
00:55 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
00:55 mode/#code [+o Chalcedon] by ChanServ
00:56 ReivZzz is now known as Reiver
00:58
< Reiver>
What went wrong, McM?
00:58 Thaqui [~Thaqui@Nightstar-8027.adsl.xtra.co.nz] has joined #code
01:05 aoanla [~sam@Nightstar-13992.range217-42.btcentralplus.com] has quit [Quit: Leaving]
01:07
<@McMartin>
Reiver: Boredom, other things that need doing
01:07
< Reiver>
Aha
01:07
< Reiver>
Fair enough then.
01:08 Janus [~Cerulean@Nightstar-10302.columbus.res.rr.com] has joined #code
01:33
< Janus>
... would it be alright if I asked for your oppinions on a path finding algorithm I've come up with...? It seems fine to me, but I may be overlooking something.
01:34
<@McMartin>
Shoot
01:40
< Janus>
Well, I figured it would be best to model it after the collision detection algorithm, in that it moves the checks for collisions every vector unit in that direction. So, first it calculates the angle from point 'A' to point 'B'. Then, it will go along this path in intervals the same as the unit vector. If it comes into a collision with a wall, it will then change it's by 90 or so degrees, and begin steping in that direction for a few
01:40
< Janus>
steps, before attempting to bee-line for the target destination again--
01:41 * Janus is long winded, oh-my.
01:41
<@McMartin>
Mmm
01:41
< Janus>
However--
01:41
<@McMartin>
The usual way to do this is to have a navigation mesh on your map, I think
01:44
< Janus>
Before it attempts to close in on it's target again, it creates what I'll call a 'Node' object, with the (x, y) coordinates of that spot. It'll do this repeatedly until it reachs the target. Then, it rechecks the path from the starting point to each node, and it'll go to the one that's the farthest away without running into any walls along the way.
01:44
< Janus>
http://img.photobucket.com/albums/v492/tai_ragnarok/vectorpathfind.jpg ( I do love MSpaint~)
01:45
< Janus>
The bottem two situations are ones I'm not quite sure how to handle though...
01:46 Chalcy [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
01:46 mode/#code [+o Chalcy] by ChanServ
01:46
<@ToxicFrog>
The classic solution, I think, is that you have some kind of undirected navigation graph (either nav nodes a la HL and other Quakeoid games, or by being inherently tile-based like Nethack, or whatever)
01:46
<@ToxicFrog>
Then you use one of the algorithms for finding the shortest path between nodes on a graph.
01:46
<@ToxicFrog>
Which I can't remember offhand, but TAoCP should have something, I think.
01:47 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout]
01:48
< Janus>
The physics is a little fuzzy though, so it would easily get knocked off by it's path. Also, the target may move around a bit as well. With the nodes though, this could easily be corrected by simply checking the first and last ones for any changes, leaving the valid ones in the middle intact.
01:49
< Janus>
*by/of
01:59 Chalcy [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout]
02:13 mode/#code [+oooooo Ev3 EvilDarkLord Janus Raif Reiver Syloqs-AFH] by Reiver
02:13 mode/#code [+o Thaqui] by Reiver
02:23
<@Raif>
Always remember: make sure the merchant gave you a BLUE carpet.
02:32 Thaqui [~Thaqui@Nightstar-8027.adsl.xtra.co.nz] has quit [Ping Timeout]
02:49 Thaqui [~Thaqui@Nightstar-8027.adsl.xtra.co.nz] has joined #code
02:51
<@McMartin>
TF: The Game Programming Gems series has several articles on it, too.
03:01 * Vornicus tries to remember the ponding algorithm.
03:03
<@ToxicFrog>
"ponding"?
03:06
< Vornicus>
Yeah - essentially it takes large chunks of homogenous world and reduces them to a few straight paths.
03:10 Reiver is now known as ReivOut
03:13 Janus [~Cerulean@Nightstar-10302.columbus.res.rr.com] has quit [Quit: bedibye!]
03:40
< Vornicus>
The one I'm thinking of is actually mostly for polygonal things - it's a ray-caster on significant features
03:42 ReivOut is now known as Reiver
03:45
< Vornicus>
Then you've got a graph, and that gets shuffled through Dijkstra
03:58 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
03:58 mode/#code [+o Chalcedon] by ChanServ
04:14 Thaqui [~Thaqui@Nightstar-8027.adsl.xtra.co.nz] has quit [Quit: Leaving]
04:31 Thaqui [~Thaqui@Nightstar-8027.adsl.xtra.co.nz] has joined #code
04:55 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout]
05:00 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
05:00 mode/#code [+o Chalcedon] by ChanServ
05:16 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout]
05:23 Reiver is now known as ReivOut
05:26 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
05:44 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout]
05:45 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
05:45 mode/#code [+o Chalcedon] by ChanServ
05:51 Mahal [~Mahal@Nightstar-11770.worldnet.co.nz] has quit [Ping Timeout]
05:52 Mahal [~Mahal@Nightstar-11770.worldnet.co.nz] has joined #Code
05:52 mode/#code [+o Mahal] by ChanServ
06:12 Thaqui [~Thaqui@Nightstar-8027.adsl.xtra.co.nz] has quit [Quit: Leaving]
07:23 You're now known as TheWatcher
07:56 Mahal is now known as MahalAFK
08:00 Thaqui [~Thaqui@Nightstar-8027.adsl.xtra.co.nz] has joined #code
08:31
< Vornicus>
I think I want to write a language and call it "bufo"
08:35
<@TheWatcher>
Just so you can go around telling people that you toad them you'd do it?
08:35
< Vornicus>
...you're just /all about/ the frog puns, aren't you.
08:37 * McMartin dispatches you all to the Bursar's office.
08:48 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout]
09:24 Vornicus is now known as Vornicus-Latens
09:28 You're now known as TheWatcher[wr0k]
09:35 ReivOut is now known as Reiver
09:43 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
09:43 mode/#code [+o Chalcedon] by ChanServ
09:46 iki_satir [~user@85.101.173.ns-23007] has joined #Code
09:53 iki_satir [~user@85.101.173.ns-23007] has left #Code []
10:05 Chalcedon is now known as ChalcyZzz
10:10 EvilDarkLord [althalas@Nightstar-17046.a80-186-184-83.elisa-laajakaista.fi] has quit [Ping Timeout]
10:15 Reiver changed the topic of #Code to: Welcome to #Code. It's like Swiss bank accounts, but for NS coders! "The primary purpose of the DATA statement is to give names to constants; instead of referring to pi as 3.141592653589793 at every appearance, the variable PI can be given that value with a DATA statement and used instead of the longer form of the constant. This also simplifies modifying the program, should the va
10:15 Reiver changed the topic of #Code to: "The primary purpose of the DATA statement is to give names to constants; instead of referring to pi as 3.141592653589793 at every appearance, the variable PI can be given that value with a DATA statement and used instead of the longer form of the constant. This also simplifies modifying the program, should the value of PI change." - early FOTRAN manual for Xerox computers.
10:17 Thaqui [~Thaqui@Nightstar-8027.adsl.xtra.co.nz] has quit [Client exited]
10:22 EvilDarkLord [althalas@Nightstar-17046.a80-186-184-83.elisa-laajakaista.fi] has joined #code
--- Log closed Mon Oct 23 10:29:06 2006
--- Log opened Mon Oct 23 10:29:11 2006
10:29 TheWatcher[wr0k] [~chris@Nightstar-29731.dsl.in-addr.zen.co.uk] has joined #code
10:29 Irssi: #code: Total of 14 nicks [11 ops, 0 halfops, 0 voices, 3 normal]
10:29 mode/#code [+o TheWatcher[wr0k]] by ChanServ
10:29 Irssi: Join to #code was synced in 30 secs
10:47 Thaqui [~Thaqui@Nightstar-8486.adsl.xtra.co.nz] has joined #code
11:05 MahalAFK is now known as Mahal
11:26 Mahal is now known as MahalZzz
11:39 * EvilDarkLord augh, tries to see why (if x y z) is different from (cond (x y)(else z)).
11:45
< EvilDarkLord>
(Specifically, why it seems that the interpreter evaluates z even when x is true.)
12:03
<@Reiver>
What language?
12:12
< EvilDarkLord>
Scheme, a variant of Lisp.
12:12
< EvilDarkLord>
Well, dialect. Thingie.
12:12 Thaqui is now known as ThaquiSleep
12:13 * EvilDarkLord has the interpreter shot.
13:13 ThaquiSleep [~Thaqui@Nightstar-8486.adsl.xtra.co.nz] has quit [Ping Timeout]
13:30 ThaquiSleep [~Thaqui@Nightstar-8486.adsl.xtra.co.nz] has joined #code
14:05 EvilDarkLord [althalas@Nightstar-17046.a80-186-184-83.elisa-laajakaista.fi] has quit [Ping Timeout]
14:16 EvilDarkLord [althalas@Nightstar-17046.a80-186-184-83.elisa-laajakaista.fi] has joined #code
14:17
<@ToxicFrog>
EDL: it doesn't.
14:18
<@ToxicFrog>
(if 1
14:18
<@ToxicFrog>
(display 1)
14:18
<@ToxicFrog>
(display 0))
14:18
<@ToxicFrog>
outputs "1"
14:18
<@ToxicFrog>
And changing it to (if (not 1) ...) outputs "0".
14:19
< EvilDarkLord>
I know that.
14:19
<@ToxicFrog>
...
14:19
<@ToxicFrog>
Then what's the problem?
14:20
<@ToxicFrog>
(if x y z) is the same as (cond (x y) (else z))
14:20
< EvilDarkLord>
http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html#%_toc_%_sec_1.1.7 - Exercise 1.6
14:20
<@ToxicFrog>
Oh, that.
14:21
<@ToxicFrog>
You want to know why an if function defined in terms of cond is not the same as either cond or the if keyword.
14:21
<@ToxicFrog>
And that's easy.
14:21
< EvilDarkLord>
Quite. But I have no idea why.
14:21
<@ToxicFrog>
"if" and "cond" are both special forms that evaluate their arguments only as needed.
14:22
<@ToxicFrog>
However, say you do, say
14:22
<@ToxicFrog>
(define (new-if condition true-branch false-branch)
14:22
<@ToxicFrog>
(cond (condition true-branch) (else false-branch)))
14:22
< EvilDarkLord>
Oh wait. D'oh.
14:22
<@ToxicFrog>
(new-if) is not a special form, it's a standard function.
14:23
<@ToxicFrog>
All three of its arguments are evaluated before it is called.
14:23
< EvilDarkLord>
I realised that the moment you noted it's a standard function. D'oh!
14:23 * EvilDarkLord facepalms.
14:24
< EvilDarkLord>
But thanks.
14:25
<@ToxicFrog>
You haven't gotten to the fun bit yet, anyways~
14:25
< EvilDarkLord>
I'm sure of that. I just finished page 1.1 :)
14:26
<@ToxicFrog>
(the first fun bit, IMO, being "how to implement data structures by throwing out data structures entirely and using function closures)
14:26
< EvilDarkLord>
So far I'm getting the impression that the quote about learning Lisp making you a better programmer was quite true.
14:49 ChalcyZzz [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout]
14:49 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
14:49 mode/#code [+o Chalcedon] by ChanServ
15:33 Reiver is now known as ReivZzz
16:04 You're now known as TheWatcher
17:30 EvilDarkLord [althalas@Nightstar-17046.a80-186-184-83.elisa-laajakaista.fi] has quit [Ping Timeout]
17:43 EvilDarkLord [althalas@Nightstar-17046.a80-186-184-83.elisa-laajakaista.fi] has joined #code
17:47 Vornicus [~vorn@Nightstar-18307.slkc.qwest.net] has joined #code
17:47 mode/#code [+o Vornicus] by ChanServ
17:52
<@Vornicus>
...this cannot stand.
17:52 Vornicus changed the topic of #Code to: "The primary purpose of the DATA statement is to give names to constants; instead of referring to pi as 3.141592653589793 at every appearance, the variable PI can be given that value with a DATA statement and used instead of the longer form of the constant. This also simplifies modifying the program, should the value of PI change." - early FORTRAN manual for Xerox computers.
17:52
<@Vornicus>
There.
17:57
<@Vornicus>
Also, bah. I'm so used to Unix, I try to ssh to Windows machines.
17:58 * TheWatcher patpats Vorn
18:00 You're now known as TheWatcher[afk]
18:46 ThaquiSleep [~Thaqui@Nightstar-8486.adsl.xtra.co.nz] has quit [Ping Timeout]
18:48 ThaquiSleep [~Thaqui@Nightstar-8486.adsl.xtra.co.nz] has joined #code
19:05 You're now known as TheWatcher
19:37
<@Chalain>
I need a word that means the semantic opposite of deprecate (not the temporal reverse, "undeprecate").
19:37
< EvilDarkLord>
precate?
19:38
<@Chalain>
Possibly... I'm playing with that syntax, yeah. Proprecate?
19:39
<@Chalain>
The word is to be used to describe the act of misreading an interface and writing code that misuses the interface, but since the interface was undocumented AND the maintenance code was undocumented, the incorrect code sort of establishes a new de facto interpretation of the interface.
19:39
<@Chalain>
Apprecate, possibly.
19:40
<@Chalain>
Hmm
19:40
<@Chalain>
"To arrogate usage" would describe it. I just wish I could roll that into a near-CS term and preserve the meaning.
19:41
<@Vornicus>
"aggro"
19:41
<@Chalain>
Heh
19:41 ThaquiSleep [~Thaqui@Nightstar-8486.adsl.xtra.co.nz] has quit [Ping Timeout]
19:41 * Chalain aggros language lawyers.
19:42
<@Vornicus>
also, apropos only of Vimes' screensaver, Hexahelicene is an awesome-looking chemical.
19:43
<@Vornicus>
(it seems to like cocaine and dynamite, those just keep coming up)
19:45 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout]
19:45 MahalZzz is now known as Mahal
19:45 * Vornicus ponders. There's got to be a better term than that
19:45
<@Mahal>
Appropriate might do it.
19:45
<@Mahal>
IN the "taking over" sense of the word.
19:51
<@Vornicus>
Tetrahydrocannabinol!
19:52
<@Vornicus>
I think I like this screensaver, it gives me drugs. :P
19:52
<@Mahal>
Screensaver?
19:52
<@Chalain>
Mahal: Yeah, hence my love for "arrogate". "make undue claims to having"
19:52 * Mahal nods
19:53
<@Vornicus>
Vimes, the linux box next to me, has a screensave that shows chemical structures.
19:53
<@Vornicus>
Right now it's showing Adenine.
19:57
<@Vornicus>
but it's shown me heroin and cocaine and lsd and nocotine and thalidomide and
19:57 ThaquiSleep [~Thaqui@Nightstar-8486.adsl.xtra.co.nz] has joined #code
20:01 ThaquiSleep [~Thaqui@Nightstar-8486.adsl.xtra.co.nz] has quit [Client exited]
20:15 Mahal is now known as MahalWork
20:44
<@Vornicus>
...it's not a very big set of chemicals.
20:44 * Vornicus ponders poking Carn for a pile of important chemicals.
20:52 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
20:52 mode/#code [+o Chalcedon] by ChanServ
21:04
<@ToxicFrog>
That's a pretty awesome screensaver, yes.
21:04
<@ToxicFrog>
Someday I need to see if I can get xscreensaver running on windows.
21:28 Thaqui [~Thaqui@Nightstar-8027.adsl.xtra.co.nz] has joined #code
21:41
<@McMartin>
Zinglon can't do 1280-by-anything while OpenGL is active, so I typically don't have those screensavers running
21:56 * Vornicus floons
23:25
<@Vornicus>
...gnar. why isn't this server starting?
23:26
<@TheWatcher>
made the appropriate sacrifices to the old dark gods?
23:29
<@Vornicus>
I don't know - and I can't find any log files that tell me, either.
23:29
<@Vornicus>
it's postgres 7.4
23:30
<@TheWatcher>
erf, sorry, can't be much help - postgres and I haven't crossed paths much
23:31 You're now known as TheWatcher[T-2]
23:34 You're now known as TheWatcher[zZzZ]
--- Log closed Tue Oct 24 00:00:06 2006
code logs -> 2006 -> Mon, 23 Oct 2006< code.20061022.log - code.20061024.log >