--- Log opened Mon Sep 10 00:00:22 2012 |
00:28 | | You're now known as TheWatcher[T-2] |
00:28 | | io\PACKERS is now known as iospace |
00:36 | | Kindamoody is now known as Kindamoody[zZz] |
00:43 | | You're now known as TheWatcher[zZzZ] |
01:33 | | Attilla [Obsolete@Nightstar-0601b683.as43234.net] has quit [Ping timeout: 121 seconds] |
02:01 | | Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Ping timeout: 121 seconds] |
02:02 | | Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has joined #code |
02:56 | | Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Ping timeout: 121 seconds] |
02:57 | | Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has joined #code |
03:19 | < celticminstrel> | [Sep 09@5:42:08pm] jerith: Also, there's no foo[n,m]. There's foo[n][m] or foo[(n,m)]. |
03:19 | < celticminstrel> | I was under the impression that foo[n,m] was interpreted as a shortcut to foo[(n,m)]... |
03:33 | <&Derakon> | Numpy can do that. |
03:34 | <&Derakon> | But standard Python lists can't. |
03:35 | <&Derakon> | Of course if foo is a dict then you can do that just fine. |
03:35 | <&Derakon> | In other words, yes "foo[n,m]" is equivalent to "foo[(n,m)]" but that doesn't mean it's valid indexing into a list. |
03:35 | <&Derakon> | It is however valid indexing into a Numpy array. |
05:01 | | Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Ping timeout: 121 seconds] |
05:01 | | Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has joined #code |
05:08 | < celticminstrel> | Right. |
05:34 | | celticminstrel [celticminst@Nightstar-05d23b97.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
05:54 | | * Vornicus should upgrade his toolchain for his Knytt mapping |
05:54 | <&McMartin> | Ooo, Knytt maps |
05:54 | <&Derakon> | There's a lot of 'em out there. |
05:56 | <~Vornicus> | as in, I am mapping the world of the original Knytt and I have a lot of annoying steps. |
05:56 | <&Derakon> | Ah. |
05:56 | | * Derakon checks vgmaps.com, is surprised to see no map for it there. |
05:57 | <&Derakon> | Ah, but http://www.indiefaqs.com/index.php/Knytt claims to link a full map. |
05:58 | <&Derakon> | Yep, that looks like a pretty big map. |
05:58 | <&Derakon> | 32400x1665. |
05:59 | <~Vornicus> | My current procedure goes 0. find a screen I haven't put on the map, 1. screenshot it (preferably while in the air against a static background that's very similar to nearby sections of background), 2. crop the windowing shit out, 3. do a paste job over Knytt himself, 4. save the screen with its coordinates in the name, 5. update the HTML file I'm using to hold them together. |
05:59 | <&Derakon> | Heh, there's the WaDF world. |
05:59 | <~Vornicus> | 2 and 5 are easily automateable, and kind of annoying. |
05:59 | <&Derakon> | Cropping can be automated. |
06:01 | <&Derakon> | What's your goal in making the map, anyway? |
06:02 | <~Vornicus> | Exploration. I want to see everything. I don't want to use somebody else's map because the point is to find it myself. |
06:02 | <&Derakon> | Ah, so this is more of a "I've been to these places" map. |
06:03 | <&Derakon> | In that case, pasting out Knytt isn't strictly necessary. |
06:03 | <~Vornicus> | No, but it makes me feel better~ |
06:03 | | * Derakon facepalms. |
06:07 | | * Vornicus does the math. 54x8 thingies |
06:09 | <&Derakon> | If it took you 10s/screen to map it then you'd need 72 minutes to map the game. |
06:14 | <&McMartin> | Phrases I don't get to use nearly enough: "Umbrella/Pogo Stick Physics" |
06:17 | <&McMartin> | Oh wait, I know what I'm doing wrong. |
06:17 | | * McMartin writes it down, as fixing that will be Work (tm). |
06:20 | <&McMartin> | Yeah, there aren't any on the map here, but jumping into concave corners would be a disaster as implemented |
06:20 | <&Derakon> | Because the jumping hitbox is smaller than the standing hitbox? |
06:20 | <&McMartin> | No, I carefully ensured that works. |
06:21 | <&Derakon> | (As a general rule, if your engine doesn't handle a particular level layout well, then not using that level layout may well be a better solution than fixing the engine) |
06:21 | <&McMartin> | The tricky bit is changing the frame's direction of motion when you're blocked in only one direction but are *about* to be blocked in two. |
06:21 | <&McMartin> | No, this is "that's a corner cut that needn't be cut" |
06:21 | <&McMartin> | Basically, after finding a collision it has to move to contact |
06:21 | <&McMartin> | What I don't do right now is figure out whether that move to contact hit something in the Y direction, the X direction, or both. |
06:22 | <&McMartin> | If it's both, you shuold hold still; if it's only one, then the other one should get its full measure of movement. |
06:22 | <&Derakon> | Er, is this for animation purposes, or are you doing weird things with velocity, or what? |
06:22 | <&McMartin> | I am doing weird things with velocity. |
06:22 | <&Derakon> | Ah. |
06:23 | <&McMartin> | I've described the goal - this gives you mantling for free and also has the desirably property of letting your jump length be the same length regardless of terrain. |
06:23 | <&McMartin> | *desirable |
06:23 | <&McMartin> | I've described what needs to be done above; that's something that can be directly stated in code. |
06:24 | <&McMartin> | However, what it does now is, after detecting a collision, tests each dimension independently from the point hit by move-to-contact and moves to that location if it's clear. |
06:24 | <&McMartin> | In a "concave corner" case that will make you bounce off the wall too soon, so the air itself will stop you. |
06:24 | <&McMartin> | I already have an explicit test for "did you hit a floor" - I just need to add explicit tests for ceiling/wall. |
06:27 | | Reiv [orthianz@3CF3A5.E1CD01.C6689C.33956A] has quit [[NS] Quit: Going dooooown...] |
06:37 | | Orthia [orthianz@3CF3A5.E1CD01.C6689C.33956A] has joined #code |
06:38 | | Derakon is now known as Derakon[AFK] |
06:39 | | Reiv [NSwebIRC@D4E70A.D52DB0.820B13.98C775] has joined #code |
06:47 | < Reiv> | ey Vornicus or similar excel gurus |
06:48 | < Reiv> | How do I get "=IF(($B$1 >= I$1),1,0) = 1 AND IF(FLOOR($B$1/$B$2,1) > 1,1,0)" to, y'know, compare each different bit of logic and return 1 if all are true? |
06:49 | < Reiv> | There'll be at least 3 or four once I'm done. |
06:50 | | * Reiv is cheerfully and brutally bending Excel to his will in ways not generally intended. Like, to test procedural shapes on a grid. |
06:52 | <~Vornicus> | =IF(AND($B$1>=I$1, FLOOR($B$1/$B$2,1)>1),1,0) |
06:52 | <~Vornicus> | AND and the comparators return TRUE or FALSE, which may be more apropos; if so, don't use the IF, just the AND |
06:53 | | ErikMesoy|sleep is now known as ErikMesoy |
06:53 | <~Vornicus> | AND takes an arbitrary number of inputs; load it up with as many as you need. |
06:57 | <~Vornicus> | Reiver: I made a Spreadsheet Of Terror And Gnashing to do SOTS distance calculations |
06:58 | <~Vornicus> | This involved, among other things, using VLOOKUP on a table to fill in said table. |
07:04 | | ErikMesoy [Erik@A08927.B4421D.B81A91.464BAB] has quit [Connection reset by peer] |
07:21 | | You're now known as TheWatcher |
07:24 | | Kindamoody[zZz] is now known as Kindamoody |
07:36 | < Reiv> | Oh, yes. |
07:36 | < Reiv> | ... ho yez? |
07:42 | | * Vornicus does more scary things in Excel than most people dream are possible. And still doesn't cover a lot of the real goodies. |
07:46 | | himi [fow035@D741F1.243F35.CADC30.81D435] has quit [Ping timeout: 121 seconds] |
07:47 | < Reiv> | I wanna know the distance thing! |
07:47 | < Reiv> | Also, uh |
07:47 | < Reiv> | This is simple but it is thwarting me |
07:47 | < Reiv> | XdY+ on a d6: Odds of hitting 1 or 2 successes? |
07:48 | < Reiv> | Disambiguation: two columns, 1 or more vs 2 or more. |
07:48 | | * Reiv is pretty sure he has the math for 1, but the math for 2 is trickier. |
07:49 | <~Vornicus> | exactly 1 success: =BINOMDIST(1, X, (7-Y)/6, FALSE) |
07:49 | <~Vornicus> | exactly 2 successes: =BINOMDIST(2, X, (7-Y)/6, FALSE) |
07:50 | < Reiv> | ... OK then my math was obviously wrong to start with. Uh. Cheers. :) |
07:50 | <~Vornicus> | At least 1 success: =1 - BINOMDIST(0, X, (7-Y)/6, FALSE) |
07:50 | <~Vornicus> | At least 2 successes: =1 - BINOMDIST(1, X, (7-Y)/6, TRUE) |
07:50 | | * Reiv had been trying to do multiplication sans binomial. |
07:51 | <~Vornicus> | binomdist is your tiny dice analyzing god. |
07:53 | <~Vornicus> | Doesn't work with exploding too well though, I tend toward doing the analysis in Python for that and then importing the numbers into Excel. |
07:53 | < Reiv> | Fair. |
07:54 | < Reiv> | Thankfully for this, exploding is a special Quirk. |
08:00 | | Attilla [Obsolete@Nightstar-0601b683.as43234.net] has joined #code |
08:12 | | You're now known as TheWatcher[afk] |
09:08 | | Vash [Vash@Nightstar-e8057de2.wlfrct.sbcglobal.net] has quit [[NS] Quit: I lovecraft Vorn!] |
09:40 | | Kindamoody is now known as Kindamoody|afk |
09:47 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
09:47 | | mode/#code [+o himi] by ChanServ |
10:06 | | You're now known as TheWatcher |
10:09 | | RichyB [richardb@Nightstar-3b2c2db2.bethere.co.uk] has joined #code |
12:25 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Connection closed] |
12:26 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
12:26 | | mode/#code [+o himi] by ChanServ |
13:17 | | celticminstrel [celticminst@Nightstar-05d23b97.cable.rogers.com] has joined #code |
14:35 | | * TheWatcher arghs |
14:36 | <@TheWatcher> | Why is it that I always end up needing the piece of information I've left at home in a location I can't get to from the office?! |
14:39 | | You're now known as TheWatcher[afk] |
15:23 | | Rhamphoryncus [rhamph@Nightstar-cc6253d6.abhsia.telus.net] has quit [Client exited] |
15:31 | < simon_> | it is the irony of fate. |
15:50 | | celticminstrel [celticminst@Nightstar-05d23b97.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
16:01 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
16:02 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
16:02 | | mode/#code [+o himi] by ChanServ |
17:40 | | Derakon [chriswei@Nightstar-a3b183ae.ca.comcast.net] has joined #code |
17:40 | | mode/#code [+ao Derakon Derakon] by ChanServ |
17:40 | | * Derakon ponders MUI's device systems. |
17:41 | <&Derakon> | Right now each device creates a bunch of Handlers for its different capabilities. E.g. a LightFilterHandler is a class that's expected to implement setFilterAmount. |
17:42 | <&Derakon> | The class constructor accepts a callback function to invoke when setFilterAmount is called, so that the Device that created the Handler can then talk to its actual hardware. |
17:42 | <&Derakon> | This works but does mean that *Handler classes accept a lot of callback functions in their constructors. |
17:43 | <&Derakon> | (The overall structure is (initialize Device) -> (UI asks Device for handlers) -> (Device creates Handlers, gives them callbacks to its own functions) -> (UI talks to Handlers) -> (Handlers talk to Device that created them, via callbacks). |
17:43 | <&Derakon> | Thus Handlers provide an interface between the UI and the Devices. |
17:44 | <&Derakon> | UI = Model, Device = Control, Handler = View. |
17:46 | <&Derakon> | Any suggestions for better ways to handle the callback situation? |
17:51 | | Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Ping timeout: 121 seconds] |
17:51 | | Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has joined #code |
18:03 | <&Derakon> | For now, I'll just stuff all the callbacks into a dictionary instead of making them each a separate argument to the constructor, anyway. |
18:03 | <&Derakon> | Tidier. |
18:30 | | Attilla_ [Obsolete@Nightstar-b0e2f728.as43234.net] has joined #code |
18:31 | | Attilla [Obsolete@Nightstar-0601b683.as43234.net] has quit [Ping timeout: 121 seconds] |
18:43 | | Vash [Vash@Nightstar-e8057de2.wlfrct.sbcglobal.net] has joined #code |
18:43 | | mode/#code [+o Vash] by ChanServ |
19:04 | | jeroid [jerith@687AAB.1BBF0C.54491B.C0F76F] has joined #code |
19:07 | | * Derakon eyes the old code he'd written for this subsystem, comparse to the new code. |
19:07 | <&Derakon> | My gods the old way was crap. |
19:08 | <&Derakon> | I sincerely hope that was due to me trying to work within an existing framework, and not because that was actually the way I thought it should be done. |
19:08 | <&Derakon> | ...compares, not comparse. |
19:08 | <&McMartin> | Don't forget time pressure! |
19:08 | <&Derakon> | A comparse is a crappy navigational tool. |
19:17 | <&Derakon> | And yeah, having a few months to get this in order before my boss starts demanding results is Pretty Damned Awesome. |
19:22 | <&Derakon> | On that note, time to start overhauling the mosaic code -- nearly 2k lines of crap. |
19:24 | < jeroid> | I need some of that. |
19:25 | | Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Ping timeout: 121 seconds] |
19:26 | | Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has joined #code |
19:29 | | jeroid_ [jerith@687AAB.1BBF0C.FE3587.F63FEF] has joined #code |
19:30 | | jeroid [jerith@687AAB.1BBF0C.54491B.C0F76F] has quit [Connection reset by peer] |
19:33 | | jeroid_ is now known as jeroid |
20:06 | <&Derakon> | Uggggh I remember now why I never rewrote the mosaic code. The renderer is a mess. |
20:06 | <&Derakon> | Why does a canvas even have UI-event-handling code? >.< |
20:06 | < jeroid> | Start there, then. |
20:07 | <&Derakon> | That's what I'm doing, yes. |
20:07 | <&Derakon> | The only reason I'm not ditching the renderer and starting over from scratch is that I did some fairly significant work, within that pile of crap, on optimizing performance. |
20:07 | <&Derakon> | Basically so it does levels of detail and view culling. |
20:08 | < jeroid> | Rewrite only as a very last resort. |
20:08 | | Attilla [Obsolete@Nightstar-b45ed97e.as43234.net] has joined #code |
20:09 | | Attilla_ [Obsolete@Nightstar-b0e2f728.as43234.net] has quit [Ping timeout: 121 seconds] |
20:09 | <&Derakon> | Yeah, I know that. |
20:09 | <&Derakon> | What I think I will do, though, is create a "from-scratch" canvas renderer, and then only import the bits I actually need from the old system. |
20:09 | <&Derakon> | Similar to what I'm doing with the program as a whole, only in microcosm. |
20:11 | < jeroid> | Good plan. |
20:13 | | RichyB [richardb@Nightstar-3b2c2db2.bethere.co.uk] has quit [[NS] Quit: Leaving] |
20:13 | < jeroid> | My interjection was aimed mostly at people watching the conversation. |
20:14 | <&Derakon> | Ah, yes. |
20:14 | <&Derakon> | I'm in pretty unusual circumstances here. |
20:14 | <&Derakon> | Since the boss basically said "I'm leaving for a few months, why don't you dive in there and clean things up?" |
20:14 | < jeroid> | Every mention of a rewrite should have that warning attached. |
20:15 | <&Derakon> | Note that this is why you plan things out before you start coding. |
20:15 | <&Derakon> | Rewrites are expensive. |
20:15 | <&Derakon> | Unfortunately I wasn't present when coding started. |
20:15 | < jeroid> | It's more that old code has a bunch of hard-earned lessons baked into it. |
20:16 | <&Derakon> | No, it also wasn't ever designed. |
20:16 | <&Derakon> | It's exactly the kind of brittle, unstable monstrosity you'd expect when someone who never trained as a software engineer develops 20k lines of purpose-built code. |
20:17 | < jeroid> | And if you rewrite, you get to learn those lessons again. |
20:17 | <&Derakon> | Mm, assuming you don't pay any attention to what went before, yeah. |
20:20 | <&McMartin> | Don't forget Brooks's Second Law and its corollary, though. |
20:20 | <&McMartin> | ("Plan to throw one away - you'll end up having to anyhow." "If you plan to throw away one, you will have to throw away two.") |
20:20 | <&Derakon> | Heh. |
20:21 | | Kindamoody|afk is now known as Kindamoody |
20:21 | < jeroid> | I was trained as an actual engineer. |
20:31 | | jeroid_ [jerith@687AAB.1BBF0C.21501D.83FC99] has joined #code |
20:32 | | jeroid [jerith@687AAB.1BBF0C.FE3587.F63FEF] has quit [Ping timeout: 121 seconds] |
20:36 | | jeroid_ [jerith@687AAB.1BBF0C.21501D.83FC99] has quit [[NS] Quit: Bye] |
20:40 | | EvilDarkLord [jjlehto3@Nightstar-a5db08cc.org.aalto.fi] has joined #code |
21:16 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
21:18 | | * Derakon hacks the canvas code down from 584 lines to 216 lines. |
21:18 | <&Derakon> | I'm missing a lot of functionality, but the most vital bits are in and working, and the style is clean. |
21:29 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
21:29 | | mode/#code [+o himi] by ChanServ |
21:32 | | Derakon [chriswei@Nightstar-a3b183ae.ca.comcast.net] has quit [Ping timeout: 121 seconds] |
21:33 | | Derakon[AFK] [Derakon@Nightstar-a3b183ae.ca.comcast.net] has quit [Ping timeout: 121 seconds] |
21:33 | | Derakon[AFK] [Derakon@Nightstar-a3b183ae.ca.comcast.net] has joined #code |
21:33 | | Derakon [chriswei@Nightstar-a3b183ae.ca.comcast.net] has joined #code |
21:34 | < Derakon> | ...what hit me? |
21:37 | <&McMartin> | Pair of ping timeouts |
21:37 | < Derakon> | Hm. |
21:37 | < Derakon> | That's strange, because I'm IRCing over SSH. |
21:37 | < Derakon> | So anything that disrupts IRC ought to disrupt my SSH session as well. |
21:37 | < Derakon> | Unless it's between my home computer and the IRC server, I guess. |
21:38 | <@TheWatcher[afk]> | Derakon and Derakon[AFK} seem to be on the same network? |
21:38 | < Derakon> | Yeah, the AFK one is my home computer using X-Chat. |
21:38 | < Derakon> | Whereas I'm using irssi here from work. |
21:38 | <@TheWatcher[afk]> | Might've been a router between that and the nightstar server you're on falling over |
21:38 | | You're now known as TheWatcher |
22:03 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
22:10 | | Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code |
22:58 | | Derakon [chriswei@Nightstar-a3b183ae.ca.comcast.net] has quit [[NS] Quit: Lost terminal] |
22:59 | | Derakon [chriswei@Nightstar-a3b183ae.ca.comcast.net] has joined #code |
22:59 | | mode/#code [+ao Derakon Derakon] by ChanServ |
22:59 | | * Derakon WTFs at his computer, which just kernel panicked. |
22:59 | <&Derakon> | I'm pretty sure it had something to do with MUI, too, though I have no idea how. |
22:59 | <&Derakon> | Just fired up the camera display and boom, computer had to shut down. |
23:03 | < gnolam> | SCORPION STARE in the camera firmware. |
23:03 | <&Derakon> | There's no actual hardware here, yet. |
23:03 | <&Derakon> | It's all mockups and stubs. |
23:21 | | * Derakon eyes Apple's support articles. |
23:21 | <&Derakon> | "It is possible, although very unlikely, that something on your network is sending your Mac malformed network packets which could cause recurring kernel panics." |
23:21 | <&Derakon> | What. |
23:21 | <&McMartin> | Mac: The Most Secure OS |
23:22 | <@Tamber> | ping of death! \o/ :p |
23:23 | <@TheWatcher> | .... |
23:24 | <@TheWatcher> | You'd think they'd consider that a fairly important thing to protect against, re... wait, what am I saying? |
23:29 | <&Derakon> | My first instinct is to assume that there's something wrong with my hardware. |
23:29 | <&Derakon> | I really don't want to have to deal with this. >.< |
23:36 | | himi [fow035@D741F1.243F35.CADC30.81D435] has joined #code |
23:37 | | mode/#code [+o himi] by ChanServ |
23:42 | | Derakon [chriswei@Nightstar-a3b183ae.ca.comcast.net] has quit [[NS] Quit: leaving] |
23:56 | | Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Ping timeout: 121 seconds] |
23:59 | | Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has joined #code |
--- Log closed Tue Sep 11 00:00:08 2012 |