--- Log opened Mon Mar 19 00:00:11 2012 |
00:00 | | Noah [maoranma@Nightstar-333d981b.pools.spcsdns.net] has quit [Ping timeout: 121 seconds] |
00:09 | | himi [fow035@D741F1.243F35.CADC30.81D435] has joined #code |
00:09 | | mode/#code [+o himi] by ChanServ |
00:20 | < Rhamphoryncus> | Bluh. Plenty of pages telling me how to induce seizures in someone with photosensitive epilepsy, nothing specific on how to avoid it (in game design) |
00:22 | < celticminstrel> | Well, wouldn't a good start be to not do the things that will induce it? :P |
00:22 | | You're now known as TheWatcher[t-2] |
00:22 | < Rhamphoryncus> | Theoretically |
00:23 | <@TheWatcher[t-2]> | "Don't write games"~ |
00:23 | < Rhamphoryncus> | But since I'm providing diagnostic information on the renderer it's rather hard to avoid the high update frequency |
00:24 | < Rhamphoryncus> | I found some vague comments about changing colour but not luminosity will make it less likely. I also found comments that red will do it regardless |
00:28 | | You're now known as TheWatcher[zZzZ] |
00:30 | <~Vornicus> | What is the diagnostic information? |
00:30 | <~Vornicus> | And how large is the thing that's flashing? |
00:56 | | Serah [Z@Nightstar-5aa18eaf.balk.dk] has joined #code |
00:57 | | Stalker [Z@Nightstar-5aa18eaf.balk.dk] has quit [Client closed the connection] |
00:59 | | macdjord is now known as macdjord|out |
01:11 | <~Vornicus> | (there may be an alternative to seizure induction here |
01:11 | <~Vornicus> | (or you may be flashing things that are so small as to not matter) |
01:57 | | Kindamoody[zZz] is now known as Kindamoody |
01:59 | | Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has quit [Ping timeout: 121 seconds] |
02:08 | | Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has joined #code |
02:21 | | celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
02:32 | | * Vornicus plays some New Super Mario Bros., is impressed at how unflappable its physics engine is. "you want to wall slide and jump off moving platforms? No problem! Now do this puzzle that requires it." |
02:37 | <&McMartin> | heh |
02:37 | <&McMartin> | Also, man |
02:38 | <&McMartin> | NSMB made me feel bad about my campaign of mushroom and turtle genocide |
02:38 | <&McMartin> | Not only is the overworld music the earwormiest since the NES era, the enemies bop to it |
02:39 | <@Vash> | =P |
02:39 | | maoranma [maoranma@Nightstar-333d981b.pools.spcsdns.net] has joined #code |
02:40 | <~Vornicus> | (there's a bit in the world 2 fortress where there's an upside-down-U platform that moves on a track, and your goal is to wall jump between the two arms while you climb. Physics works exactly like it should even as the platform moves and changes direction) |
02:41 | < maoranma> | GRRRRAAH, FECK YOU WASP |
02:42 | < maoranma> | Stung me right on the pad of my index finger |
02:45 | | Attilla [Obsolete@Nightstar-7d4a92bc.as43234.net] has quit [Ping timeout: 121 seconds] |
02:53 | | Serah [Z@Nightstar-5aa18eaf.balk.dk] has quit [Ping timeout: 121 seconds] |
03:07 | <~Vornicus> | gnah. I find myself once again befuddled at how I want this thing to work. |
03:21 | | Stalker [Z@Nightstar-3602cf5a.cust.comxnet.dk] has joined #code |
03:28 | <~Vornicus> | Level's an object. THat much is relatively clear. I can create a level by passing in a file name; this loads the level, creates the surface, figures out what entities there are... |
03:29 | <~Vornicus> | Then the entities are objects too. All of these, eventually, are in a render list somewhere but I'm not sure where. Probably in the level object, because that way when the level is unloaded the entities are cleared out too. |
03:32 | <~Vornicus> | This means that my event loop, generally, tells the level to render itself. |
03:32 | <~Vornicus> | and then the level renders its entities. |
03:37 | <~Vornicus> | Okay. THen somewhere in here I need to eventually display two levels at once - either I've done smooth scrolling, or I'm doing edge transitions a la LttP |
03:40 | <~Vornicus> | Not sure how that is going to work yet. |
03:42 | <&Derakon> | Transitioning between rooms can be done by rendering the current display to a surface, then doing a wipe transition from that surface to the new level. |
03:42 | <&Derakon> | Thus you only need one level in memory at a time. |
03:42 | <&Derakon> | If you want to do smooth scrolling throughout then you'll need to either make your levels the size of the entire world map or hold multiple levels in memory at once. |
03:42 | <&Derakon> | I'd advocate for the former at least to get you started. |
03:43 | <&Derakon> | You can spawn monsters on the fly depending on their distance to the player. |
03:43 | <~Vornicus> | Acutally i think I see how to do it |
03:43 | <~Vornicus> | Sort of. |
03:44 | <&Derakon> | Also, if you want a quadtree to hold dynamic objects in, you can use Jetblade's. |
03:44 | <~Vornicus> | ooh, quadtree. I need to learn how that actually works. |
03:44 | <&Derakon> | http://code.google.com/p/jetblade/source/browse/quadtree.py |
03:45 | | * Derakon eyes the top class comment, notes he cannot spell "spatial" consistently, apparently. |
03:45 | <&Derakon> | Anyway, let's say our world space is a 256x256-unit square. |
03:46 | <&Derakon> | We create a 256x256 quadtree node. |
03:46 | <&Derakon> | We spawn an object. We stuff it into that node. |
03:46 | <&Derakon> | We spawn another object, we stuff it into that node again. |
03:46 | <&Derakon> | This repeats some number of times until we hit the max we like to have in a single node. |
03:46 | <&Derakon> | Then we create four 128x128 nodes underneath the 256x256 node, and divvy up our objects amongst them. |
03:46 | <&Derakon> | (Objects that straddle the boundaries between two child nodes stay at the top level) |
03:47 | <&Derakon> | Now when we add new objects, we push them down as far into the tree as we can. |
03:47 | <&Derakon> | When it comes time to do collision detection for a given object, all the candidates we have to consider are either in the candidate's current node, or one of that node's parents. |
03:49 | <&Derakon> | Hm, Jetblade's QuadTree creates all children when the initial node is created. Probably inefficient, but oh well. |
03:49 | <~Vornicus> | -- or in any of that node's children. |
03:49 | <&Derakon> | Yes, quite. |
03:49 | <&Derakon> | Well...no, not entirely. |
03:49 | <&Derakon> | Any child that the candidate does not intersect can be skipped. |
03:50 | <&Derakon> | If we have an object in the top-left of the root node, then there's only one child we have to consider. |
03:50 | <~Vornicus> | So if it's only in the right pair, then I don't need to check the left |
03:50 | <~Vornicus> | But if it's only in the top left then it'd be down a level anyway |
03:50 | <&Derakon> | Only if we're unhappy with how many objects we have in the root node. |
03:50 | <&Derakon> | See line 138 for the collision detection function. |
03:50 | <~Vornicus> | aha |
03:51 | <&Derakon> | It accepts a list of objects that come from our parents and need to be collided with us and our children. |
03:51 | <&Derakon> | The first thing we do is prune out objects in colliders that don't actually intersect us. |
03:52 | <&Derakon> | Hm, if I wrote these functions today there'd be more comments~ |
04:10 | <~Vornicus> | Heh |
04:48 | | eckse [eckse@Nightstar-34e67ee8.dsl.sentex.ca] has quit [Connection reset by peer] |
04:49 | | himi [fow035@D741F1.243F35.CADC30.81D435] has quit [Connection closed] |
04:56 | | Stalker [Z@Nightstar-3602cf5a.cust.comxnet.dk] has quit [Ping timeout: 121 seconds] |
05:04 | | Derakon is now known as Derakon[AFK] |
05:30 | | Vash [Vash@Nightstar-cdeba41f.wlfrct.sbcglobal.net] has quit [[NS] Quit: I lovecraft Vorn!] |
05:53 | | Kindamoody is now known as Kindamoody|out |
05:54 | | thalass [thalass@Nightstar-cf36ce30.bigpond.net.au] has quit [Ping timeout: 121 seconds] |
06:15 | | thalass [thalass@Nightstar-cf36ce30.bigpond.net.au] has joined #code |
06:20 | < Eri> | Hmm. So, how can I use the terminal to start a program, but still be able to use the same terminal window afterwards for more commands. |
06:21 | < Eri> | Like, if I type, $ ibus-daemon, it starts ibus, but that terminal window is exclusively dedicated to ibus, now. |
06:21 | < Eri> | Is there some way to, like, fork the two processes, or something? Like, this is a daemon, it doesn't need my input |
06:21 | < Eri> | At least, not from terminal |
06:25 | <@Tamber> | "ibus-daemon &" will run it in the background. But it'll still end when you close the terminal. |
06:26 | < Eri> | That's fine. Mostly, I just don't want to have a terminal window open for each program. It gets cluttered fast because I always forget where programs are in the menu, so I just go to the terminal |
06:26 | <@Anna> | You can also run it, CTRL+Z, "bg" and it'll be fine. |
06:27 | | Anna is now known as Ling |
06:28 | < Eri> | Hah, that was the worst idea ever. Possibly because ibus kind of hijacks the keyboard input, ctrl+z made everything stop taking keyboard input |
06:29 | <@Ling> | Then instead do: screen -Rx ibus ibus-daemon |
06:29 | <@Ling> | CTRL+a, d to get back to prompt |
06:29 | <@Ling> | Run the command again to get back to ibus |
06:30 | <@Ling> | If you have issues, remove the R for the start up, and the ibus-daemon from the recall. |
06:30 | <@Ling> | Oh, and -Rs |
06:30 | <@Ling> | Not -Rx, sorry |
06:32 | < Eri> | Ooh, that's slick |
06:33 | < Eri> | I'll have to read more into the man-page on the weekend. This is, like, terminal virtualization, or something? |
07:16 | < thalass> | You should also be able to open a new tab within that terminal window, though that's much the same as opening a new window |
07:17 | | thalass [thalass@Nightstar-cf36ce30.bigpond.net.au] has quit [[NS] Quit: Farewell, fellow nerdlingers!] |
07:17 | | thalass [thalass@Nightstar-cf36ce30.bigpond.net.au] has joined #code |
07:19 | <@ToxicFrog> | Eri: kind of, yeah. screen lets you run arbitrary many virtual terminals inside a single real terminal, and also detach from and reattach to them at will. |
07:24 | < thalass> | afternoon, all |
07:45 | | thalass [thalass@Nightstar-cf36ce30.bigpond.net.au] has quit [Ping timeout: 121 seconds] |
07:58 | | thalass [thalass@Nightstar-cf36ce30.bigpond.net.au] has joined #code |
08:09 | | thalass [thalass@Nightstar-cf36ce30.bigpond.net.au] has quit [[NS] Quit: omg] |
08:10 | | You're now known as TheWatcher |
08:17 | | macdjord|out is now known as macdjord|slep |
08:38 | < Tarinaky> | Good morning everyone. |
08:49 | | Attilla [Obsolete@Nightstar-7d4a92bc.as43234.net] has joined #code |
08:53 | | Attilla [Obsolete@Nightstar-7d4a92bc.as43234.net] has quit [Ping timeout: 121 seconds] |
08:53 | < Tarinaky> | "Which is great... if you've ever thought that Operating Systems were just too useful..." |
08:54 | <@Ling> | Context? |
08:54 | < Tarinaky> | UEFI |
08:54 | < Tarinaky> | http://www.youtube.com/watch?v=IfKF7mEY5Dc |
08:56 | <@Ling> | That's the "don't worry we're not going to kill Linux" tech right? |
08:56 | < Tarinaky> | Something like that. |
09:08 | | Attilla [Obsolete@Nightstar-7d4a92bc.as43234.net] has joined #code |
09:14 | | * TheWatcher eyes that vido |
09:14 | <@TheWatcher> | Good gods, he's wearing a CDTV tshirt. I remember those, hell, I had one of those. |
09:17 | < Tarinaky> | It gets good after 18min |
09:35 | <@TheWatcher> | "Code is just an embodiment of bugs" - heh |
09:40 | < Tarinaky> | Right. I'm going to go shave and think about heading in to college. |
09:41 | < Tarinaky> | I have another exciting episode of "Complete a 2 hour lab session in 45 minutes." |
09:41 | <@TheWatcher> | Wooo! |
09:53 | | Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has quit [Client exited] |
10:19 | | * TheWatcher finishes that video, sighs vaguely |
10:23 | | McMartin [mcmartin@Nightstar-e70d8af0.pltn13.sbcglobal.net] has quit [Connection reset by peer] |
11:02 | | thalass [thalass@Nightstar-cf36ce30.bigpond.net.au] has joined #code |
11:03 | < thalass> | whee |
11:29 | | * thalass ponders |
11:32 | < thalass> | I've found how to get python to speak through espeak. (in this case to speak the time). However the output on the hour is "the time is nineteen zero", which i would rather be "nineteen hundred" or "nineteen o'clock". |
11:32 | < thalass> | (it was surprisingly simple, too) |
11:47 | < thalass> | Trying to replace %M in strftime(%H %M) with "hundred", but it's expecting a number. |
12:00 | | Reiver [orthianz@3CF3A5.E1CD01.C6689C.33956A] has joined #code |
12:02 | | Reiver is now known as Orthia |
12:18 | < thalass> | also espeak doesn't want to say the leading "0", whereas a similar program on my phone using the same strftime rules (literals?) will do so. |
12:45 | | Attilla_ [Obsolete@Nightstar-7d4a92bc.as43234.net] has joined #code |
12:46 | | Attilla [Obsolete@Nightstar-7d4a92bc.as43234.net] has quit [Ping timeout: 121 seconds] |
12:55 | | Attilla_ is now known as Attilla |
13:48 | | celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has joined #code |
14:00 | | Stalker [Z@Nightstar-3602cf5a.cust.comxnet.dk] has joined #code |
14:17 | | thalass [thalass@Nightstar-cf36ce30.bigpond.net.au] has quit [[NS] Quit: damnit morning shift in six hours] |
14:33 | | Vash [Vash@Nightstar-cdeba41f.wlfrct.sbcglobal.net] has joined #code |
14:33 | | mode/#code [+o Vash] by ChanServ |
15:02 | | macdjord|slep [macdjord@Nightstar-2cabe70a.cpe.distributel.net] has quit [[NS] Quit: Save Derpy Hooves!] |
16:04 | <@Alek> | nifteh. http://english.bouletcorp.com/2011/12/18/pixel-quantum/ |
16:38 | | Stalker [Z@Nightstar-3602cf5a.cust.comxnet.dk] has quit [Ping timeout: 121 seconds] |
17:18 | | Stalker [Z@Nightstar-5aa18eaf.balk.dk] has joined #code |
17:30 | | Vash [Vash@Nightstar-cdeba41f.wlfrct.sbcglobal.net] has quit [[NS] Quit: I lovecraft Vorn!] |
17:40 | | ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has quit [Operation timed out] |
18:02 | | ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has joined #code |
18:02 | | mode/#code [+o ToxicFrog] by ChanServ |
18:06 | | Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has joined #code |
18:09 | | Vornucopia [NSwebIRC@C888DE.7F9621.4A1301.BBBE7B] has joined #code |
18:18 | | Kindamoody|out is now known as Kindamoody |
18:40 | | Kindamoody is now known as Kindamoody[zZz] |
19:09 | | * Vornucopia floons |
19:12 | <@Alek> | Vorny, check this out |
19:12 | <@Alek> | http://english.bouletcorp.com/2011/12/18/pixel-quantum/ |
19:30 | | * Tarinaky :/s at pydev a few times. |
19:30 | < Vornucopia> | what's up? |
19:31 | < Tarinaky> | Nothing File->Restart couldn't fix. |
19:33 | | * Vornucopia gts his js prime factorizer to show results in exponential form |
19:49 | | McMartin [mcmartin@Nightstar-551c08b0.pltn13.sbcglobal.net] has joined #code |
19:49 | | mode/#code [+ao McMartin McMartin] by ChanServ |
20:00 | | * Vornucopia gets it to show the factorization tree, but the tree sucks. |
20:01 | | * Vornucopia tries to figure out how to format this thing sensibly without too much work. |
20:02 | | * Vornucopia tries to figure out what a sensible format would even look like. |
20:16 | | Vash [Vash@Nightstar-cdeba41f.wlfrct.sbcglobal.net] has joined #code |
20:16 | | mode/#code [+o Vash] by ChanServ |
20:41 | < Vornucopia> | Gneh. |
20:43 | < Vornucopia> | Arg, styling stuff like this can be a pain. |
20:44 | < Vornucopia> | That's a little better... |
20:46 | | Attilla_ [Obsolete@Nightstar-76beb3a3.as43234.net] has joined #code |
20:47 | | Attilla [Obsolete@Nightstar-7d4a92bc.as43234.net] has quit [Ping timeout: 121 seconds] |
20:49 | | Attilla_ is now known as Attilla |
20:54 | | Vornucopia [NSwebIRC@C888DE.7F9621.4A1301.BBBE7B] has quit [[NS] Quit: Page closed] |
20:55 | | * Tarinaky wooos! |
20:56 | < Tarinaky> | My faction name generator works awesomely in the first attempt. |
20:56 | <&McMartin> | Is this like the Unitarian Jihad |
20:56 | < Tarinaky> | Ah. Slight problem... |
20:56 | < Tarinaky> | Sometimes it generates real words. |
20:57 | < Tarinaky> | I've had the King Kingdom come up once >.> |
20:57 | <&McMartin> | Special-case those, as Might and Magic did in 4 so that it stopped generating leather leather armor. |
20:57 | <&McMartin> | (It menaces with spikes of leather!) |
20:58 | < Tarinaky> | ['Rorng Republic', 'Chayd Regieme', 'Hir Aristocracy', 'Nuw Council', 'Horp Union', 'Lin Principality', 'Djoth Colonies', 'Vayj Hive', 'Fereb Union', 'Chyd Fiefdom'] |
20:59 | <&McMartin> | Hm. |
20:59 | < Tarinaky> | The problem with special casing is I'm not sure I want to build a decision tree for every possible combination and check it's not a real word :p |
20:59 | <&McMartin> | Not like that. Maybe a rule that says to reroll if the first word is a substring of the second? |
21:00 | < Tarinaky> | How would you do that in python? |
21:00 | | * Tarinaky sucks at string manip >.> |
21:10 | < Tarinaky> | http://i.imgur.com/39dqW.png << How it looks in the game. |
21:35 | < Tarinaky> | Hmm. |
21:35 | < Tarinaky> | Is there something in python that will return all the variables defined in a module? |
21:36 | < Tarinaky> | For example, if I have a file containing a list of colours - can I retrieve some builtin that lists all the colours. |
21:36 | < Tarinaky> | Or do I need to manually add each colour to a list. |
21:36 | < Tarinaky> | s/variables/constants |
21:42 | <@jerith> | import foo; dir(foo) |
21:44 | < Tarinaky> | Ahah, cheers. |
21:44 | <@jerith> | You might want to structure that a bit differently, though. |
21:45 | <@jerith> | Maybe a COLOURS = {'red': 0xff0000, 'green': 0x00ff00, <etc.>} |
21:46 | <@jerith> | in your module. |
21:49 | < Tarinaky> | The trouble is then I have a color.COLORS and it feels a bit silly. |
21:50 | < Tarinaky> | If I wasn't using python color.py would be a text file. |
21:50 | < Tarinaky> | If it was C or something I'd be reading a text file at runtime to populate some kind of data-structure. |
21:51 | < Tarinaky> | Problem: dir(color) returns the keys... not the values... |
21:51 | < Tarinaky> | How infuriating. |
22:02 | < celticminstrel> | foo.__dict__? |
22:02 | < celticminstrel> | Or whatever the magic name is. |
22:03 | < celticminstrel> | It's __dict__ for classes, at least. |
22:03 | < Tarinaky> | Exactly. Can't remember the magic name :p |
22:03 | < celticminstrel> | Oh, so it's not __dict__? |
22:03 | < Tarinaky> | Dunno. I just changed everything to use a dict called COLORS |
22:03 | < celticminstrel> | Okay then. |
22:03 | < Tarinaky> | Because it was easier than playing guess the word with the python interpretter |
22:03 | < Tarinaky> | Currently wtfing at some geometry that's going askew - suspect rounding error. |
22:04 | < celticminstrel> | Looks like it actually is __dict__... |
22:05 | < Tarinaky> | Nm. PEBKAC |
22:15 | | maoranma [maoranma@Nightstar-333d981b.pools.spcsdns.net] has quit [Ping timeout: 121 seconds] |
22:24 | < Tarinaky> | http://i.imgur.com/DLRuv.png << The perils of prng generated names. |
22:26 | | eckse [eckse@Nightstar-34e67ee8.dsl.sentex.ca] has joined #code |
22:26 | | mode/#code [+o eckse] by ChanServ |
22:27 | | RichyB [MyCatVerbs@Nightstar-86656b6c.cable.virginmedia.com] has joined #code |
22:28 | | RichyB [MyCatVerbs@Nightstar-86656b6c.cable.virginmedia.com] has quit [Client closed the connection] |
22:30 | | celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
22:36 | | Stalker [Z@Nightstar-5aa18eaf.balk.dk] has quit [Ping timeout: 121 seconds] |
23:37 | | Stalker [Z@Nightstar-3602cf5a.cust.comxnet.dk] has joined #code |
23:39 | <&McMartin> | "Maintenance: kill trunk in the face" |
23:51 | | Derakon[AFK] is now known as Derakon |
--- Log closed Tue Mar 20 00:00:26 2012 |