--- Log opened Fri May 11 00:00:15 2012 |
00:00 | <&McMartin> | Were they published by EA? |
00:01 | <&McMartin> | I know they were all about the crossovers back in the day~ |
00:01 | <@ToxicFrog> | They were published by EA, but also predate System Shock by six years, so the influence, if any, actually goes the other way |
00:02 | <@ToxicFrog> | But the backstory is basically "Citadel Station's activation causes lots of tinfoil hattery by the people who think it's secretly a nuclear launch platform, then it suddenly goes dark apart from a distress signal, then something fucks up all the satellites in orbit, then someone freaks out and pushes the button" |
00:03 | <@ToxicFrog> | Which is basically The Plot Of System Shock as seen from outside right up until the point WW3 starts while the Hacker is still wandering around on deck 7. |
00:03 | | You're now known as TheWatcher[T-2] |
00:03 | <&McMartin> | Right, my question was "Is Citadel Station name-dropped by name? Becuase it and SHODAN totally were in Crusader" |
00:07 | | You're now known as TheWatcher[zZzZ] |
00:08 | <@ToxicFrog> | Citadel Station is mentioned by name; SHODAN is not. |
00:17 | <@ToxicFrog> | Snrk |
00:17 | <@ToxicFrog> | Vegas is the city of Las Vegas. No one is quite sure how the Soviet missiles managed to miss the city, but |
00:17 | <@ToxicFrog> | most folks figure it was because the ?house? was betting against a missile landing -- and no one wins |
00:17 | <@ToxicFrog> | against the house. There was an international rumor about some Russian general?s markers being torn up |
00:17 | <@ToxicFrog> | after the attack, but that has yet to be confirmed. |
00:17 | | * Vornicus tries to remember what was on deck 7 |
00:19 | <~Vornicus> | oh, right. dormitories and the gardens |
00:20 | | cpux is now known as cpux[blargh] |
00:20 | <@ToxicFrog> | What? No |
00:20 | <@ToxicFrog> | Deck 7 is ops, including the communications masts |
00:20 | <~Vornicus> | ...aha |
00:20 | <@ToxicFrog> | Deck 6 is the groves, I think, although I get 5 and 6 mixed up really easily |
00:21 | <~Vornicus> | 6 is the groves them. |
00:21 | <~Vornicus> | 5 is the cargo pits |
00:21 | <@ToxicFrog> | (Reactor, Medical, Research, Maintenance, The Cargo Pits of Ragnarok, Flight, Executive, Ops, Security, Command) |
00:21 | <@ToxicFrog> | 4 is the cargo pits. |
00:21 | <@ToxicFrog> | The flight deck is between the cargo pits and the executive deck. |
00:22 | <@ToxicFrog> | (it's the fifth deck up from the bottom, but the reactor deck is labeled R rather than 1) |
00:30 | | * Vornicus still wants to see some of his ideas for marathon levels remade in cooler game engines |
00:31 | <~Vornicus> | (like g4 sunbathing with weirdass gravity) |
00:37 | | Derakon[AFK] is now known as Derakon |
00:39 | <&Derakon> | I'd say you know a bit too much about System Shock, TF, but I have similar levels of knowledge about other games~ |
00:40 | <~Vornicus> | I don't know if you were around when TF first showed up, Der |
00:40 | <&Derakon> | I know his LJ identity is a big System Shock reference. |
00:40 | <&McMartin> | TF is to System Shock more or less what I am to Star Control 2. |
00:40 | <&Derakon> | ISTR a lot of "Frog Blast the Vent Core" too, which IIRC is a Marathon reference? |
00:40 | < Noah> | Livejournal, heh |
00:41 | <~Vornicus> | See here's the thing |
00:41 | <&Derakon> | (My game obsessions would probably be Angband and Super Metroid) |
00:41 | <~Vornicus> | back in the day, TF showed up and announced himself on the CRFH boards by saying "man you guys have a lot of System Shock references in your warthreads." |
00:44 | <&Derakon> | Vorn's...hm, what would Vorn's game obsession be? Vash's is clearly Zelda. |
00:46 | < Noah> | Vornicus secretly plays Pokemon |
00:46 | <@ToxicFrog> | Marathon? |
00:47 | <~Vornicus> | I introduced TF to Marathon, but no, I don't know if I have a specific one. |
00:47 | < Noah> | that isn't a secret |
00:47 | <@ToxicFrog> | McMartin: I would say "that's the TSSHP guys" but, well, TSSHP is dead :/ |
00:48 | <~Vornicus> | Did they at least put out source? |
00:48 | <@ToxicFrog> | And my code is included in the official unofficial release of SS1, so |
00:48 | <@ToxicFrog> | Vornicus: yeah, they had the whole thing in public version control from day 1 |
00:48 | <@ToxicFrog> | Including the reverse engineered file formats, which have been of great use to me |
00:48 | <@ToxicFrog> | Pretty sure it's still on sourceforge somewhere |
00:49 | <@ToxicFrog> | Yep: http://tsshp.sourceforge.net/ |
00:51 | | Noah [maoranma@Nightstar-9b84afe1.pools.spcsdns.net] has quit [[NS] Quit: ] |
00:54 | <@ToxicFrog> | Derakon: I was and am a ridiculous System Shock fan and I've spent a lot of time crowbarring it open and looking inside, so |
01:45 | | cpux[blargh] is now known as cpux |
02:05 | | Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Connection closed] |
02:06 | | Kindamoody[zZz] is now known as Kindamoody |
02:33 | | Attilla [Obsolete@Nightstar-210af7d5.as43234.net] has quit [Ping timeout: 121 seconds] |
03:17 | | Noah [maoranma@Nightstar-d3947588.pools.spcsdns.net] has joined #code |
03:37 | | Kindamoody is now known as Kindamoody|afk |
03:37 | | * Derakon ponders terrain in Pyrel. |
03:38 | <&Derakon> | Being a 2D game, we basically have two things we care about game-mechanics wise: first off, how terrain affects movement: can we see through it? Can we walk through it? Can phantom monsters walk through it? Can spells be cast through it? |
03:38 | <&Derakon> | Secondly, we care about terrain transitions. |
03:38 | <&Derakon> | For example, door -> open -> open door, or door -> bash -> broken door, or wall -> tunnel -> open space. |
03:39 | <&Derakon> | It's this latter bit that's giving me trouble. I'm trying to come up with a reasonable way to define these different terrains and their state transitions. |
03:40 | <&Derakon> | Some issues: doors can be locked or jammed; locked doors are harder to open and the difficulty typically depends on the dungeon depth. Jammed doors must be bashed down, which can result in either an open door or a broken door (and bashing difficulty likewise typically depends on depth). |
03:40 | <&Derakon> | There are quartz veins and cooled magma flows, which basically act as easier-to-dig walls, except that sometimes they also contain some money...if they do, then it's obvious that the money's there, on sight. |
03:41 | <&Derakon> | There's rubble, which randomly may contain an item. |
03:41 | <&Derakon> | But you can't tell, with rubble, until you dig it out. |
03:41 | <~Vornicus> | Okay, so... ...well what I'd probably do is just give the verb a target tile and let it handle the transition? |
03:42 | <~Vornicus> | This is a persistent world; changing the array is perfectly fine. |
03:42 | < celticminstrel> | "it" seems ambiguous. |
03:42 | <&Derakon> | CM: "it" meaning the rubble. |
03:42 | <&Derakon> | Vorn: my concern with letting the verb handle the state transition is that the verbs multitask. |
03:42 | < celticminstrel> | So you can read Vorn's mind? :P |
03:42 | <&Derakon> | For example, chests are opened with the same command. |
03:43 | <&Derakon> | And I could conceive of e.g. a "curtain" terrain which can be opened to result in an opened curtain. |
03:43 | <&Derakon> | (Basically a door that doesn't block movement) |
03:43 | <&Derakon> | CM: oh, sorry, thought you were talking about my last line. |
03:43 | <~Vornicus> | Okay so you're going to need a dispatch in your verbs |
03:43 | < celticminstrel> | I would've interpreted "it" as referencing the "target tile", rather than the "verb". |
03:43 | <~Vornicus> | "it" being the verb |
03:43 | < celticminstrel> | I guess that's not what you meant though. |
03:44 | <~Vornicus> | Well, okay, target tile works better now that I consider |
03:44 | <&Derakon> | Right, so, definitely different terrain tiles are going to need to say e.g. "I am a valid target for opening" or "I am a valid target for bashing". |
03:44 | <~Vornicus> | That way you can create a curtain or a chest without the... |
03:44 | <&Derakon> | Here's a post I made earlier today on the subject: http://angband.oook.cz/forum/showpost.php?p=69495&postcount=35 |
03:45 | <~Vornicus> | Which makes your dispatch instead callbacks. The base object for entities has stub callbacks which are basically failure messages |
03:45 | <&Derakon> | Sure, yeah, I have all that set up already, more or less. |
03:45 | <@Alek> | "I am a valid target for walking through" "I am a valid target for seeing through/casting through"... |
03:45 | <~Vornicus> | The big big big difficulty is that then certain things need to edit the world map |
03:45 | <&Derakon> | The way I have it actually working is that Things add themselves to various containers depending on which functions they implement. |
03:45 | <&Derakon> | And when you go to perform a verb, you query the container for all valid targets. |
03:46 | <~Vornicus> | Or more importantly things need to edit their own place in the world map |
03:46 | <&Derakon> | Things can remove themselves from the containers, which amounts to deleting themselves if they do it for everything. |
03:46 | <@Alek> | make sure the delete function actually DOES remove it from EVERY thing. |
03:47 | <&Derakon> | This is really not the issue though. The issue is how to properly represent what a terrain can do in a configuration file without effectively writing my own programming language in said config file. |
03:47 | <&Derakon> | Alek: ...yes, thank you, I know how to handle memory. |
03:47 | <@Alek> | ?_? |
03:48 | <@Alek> | toggles? openable=Y|N breakable=Y|N passable=Y|N |
03:49 | <~Vornicus> | That's only part of it |
03:49 | <&Derakon> | But again you need to encode what happens when you open/break/etc. the thing. |
03:49 | <~Vornicus> | YOu need to say, for instance |
03:49 | <&Derakon> | And sometimes performing the action requires a skill check. |
03:49 | <~Vornicus> | A poison gas tile, you can pass through it sure |
03:49 | <~Vornicus> | but it then gives you a status effect. |
03:49 | <&Derakon> | Actually, that will be trivial. |
03:50 | < celticminstrel> | Alek, that's not the part he was asking for help on... |
03:50 | <&Derakon> | I have a system of procs set up, you can just attach one to the terrain to trigger on creature entry. |
03:50 | | * Alek shrugs. |
03:50 | <@Alek> | sorry. |
03:53 | <~Vornicus> | Okay, can you make a "change terrain" proc? |
03:56 | <&Derakon> | Sure, even say which kind to create after. |
03:56 | <&Derakon> | (See the example records in the post I linked) |
03:56 | <&Derakon> | The main problems I have with the example I linked are the repetition and the weird proc chaining procedure. |
04:06 | <~Vornicus> | Can you build... a probability proc |
04:06 | <~Vornicus> | Like, one that takes some number of other procs and associated probabilities |
04:08 | <&Derakon> | I could probably manage something like that, yeah. |
04:08 | <~Vornicus> | This should solve some issues. |
04:08 | <~Vornicus> | Verbosity is not one of them. |
04:09 | <&Derakon> | If you're thinking of using that to handle treasure/item drops, remember the player needs to be able to look at a quartz vein and see that there's treasure in it. |
04:09 | <~Vornicus> | No, I was aiming more at the one about, uh |
04:09 | <&Derakon> | ...I mean, that's how Angband works now, I guess I don't have to keep it that way. |
04:09 | <~Vornicus> | broken/open |
04:09 | <&Derakon> | Ah. |
04:10 | <&Derakon> | Mightn't it be better to just write a proc that says "transition to one of the following terrains based on these probability weightings"? |
04:10 | <~Vornicus> | A little too specific, imo |
04:11 | <~Vornicus> | Doesn't give you a Bad Breath power either. |
04:11 | <&McMartin> | whut |
04:11 | <&Derakon> | Status ailments will be handled by an "impose this list of temporary effects on the target for this duration" proc. |
04:11 | <~Vornicus> | Right, but |
04:12 | <~Vornicus> | Bad Breath is an FF baddie power, it inflicts a random status |
04:12 | <&Derakon> | I thought it inflicting all statuses? |
04:12 | <&Derakon> | Then again I've only played FFs 4 and 6 to completion. |
04:12 | <~Vornicus> | Oh, it might |
04:13 | <~Vornicus> | but "random status effect" and "possible status effect" would also be handled by a probability thing |
04:15 | | 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!] |
04:15 | <&Derakon> | So the question basically is, then, do we write one "perform one of these procs" proc, or multiple "perform one of these effects" procs? |
04:15 | <&Derakon> | The latter is easier on the people writing the resource files; the former involves less actual code. |
04:19 | | Vash [Vash@Nightstar-241cb5d4.wlfrct.sbcglobal.net] has joined #code |
04:19 | | mode/#code [+o Vash] by ChanServ |
05:47 | | Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has quit [Client exited] |
06:17 | | ErikMesoy|sleep is now known as ErikMesoy |
06:44 | | Derakon is now known as Derakon[AFK] |
07:00 | | Vash [Vash@Nightstar-241cb5d4.wlfrct.sbcglobal.net] has quit [[NS] Quit: I <3Lovecraft<3 Vorn!] |
08:39 | | You're now known as TheWatcher |
08:44 | < froztbyte> | http://recursivedrawing.com/ is pretty cool |
09:11 | | eckse [eckse@Nightstar-2c03fb8a.dsl.sentex.ca] has quit [Client closed the connection] |
09:32 | | Kindamoody|afk is now known as Kindamoody |
09:36 | < gnolam> | Ok, officially jealous. My brother's office got a makerbot. |
09:37 | < froztbyte> | erf |
09:37 | < froztbyte> | want. |
09:43 | | Attilla [Obsolete@Nightstar-210af7d5.as43234.net] has joined #code |
10:00 | < gnolam> | Huh. I'd missed this: https://twitter.com/#!/Cribstopper/status/200641059389313024/photo/1/large |
10:01 | < froztbyte> | hooray! he's human after all!!@ |
10:33 | < Attilla> | he could just be faking to make us think otherwise |
10:33 | | Kindamoody is now known as Kindamoody|out |
10:43 | | gnolam [lenin@Nightstar-202a5047.priv.bahnhof.se] has quit [[NS] Quit: Gone] |
12:18 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
12:31 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
12:31 | | mode/#code [+o himi] by ChanServ |
13:00 | | celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has joined #code |
15:21 | | Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has joined #code |
15:35 | | Attilla [Obsolete@Nightstar-210af7d5.as43234.net] has quit [Ping timeout: 121 seconds] |
15:45 | | You're now known as TheWatcher[afk] |
15:58 | | Attilla [Obsolete@Nightstar-210af7d5.as43234.net] has joined #code |
16:14 | | Kindamoody|out is now known as Kindamoody |
16:25 | | eckse [eckse@Nightstar-dab5dc59.dsl.sentex.ca] has joined #code |
16:25 | | mode/#code [+o eckse] by ChanServ |
16:42 | < froztbyte> | http://www.creativeapplications.net/windows/hartverdrahtet-infinite-complexity-i n-4096-bytes/ |
17:04 | | You're now known as TheWatcher |
17:24 | < sshine> | would you characterize dynamic programming as a difficult method? |
17:25 | < sshine> | are there problems for which it is difficult to realize that they have common-structured sub-problems? |
17:43 | <&McMartin> | Hm |
17:43 | <&McMartin> | Dynamic programming as it is usually presented is kinda tricky, but there are equivalent methods that I find much simpler |
17:43 | <&McMartin> | Memoization of a heavily recursive function, for instance. |
17:56 | | Attilla [Obsolete@Nightstar-210af7d5.as43234.net] has quit [Ping timeout: 121 seconds] |
18:01 | | Attilla [Obsolete@Nightstar-210af7d5.as43234.net] has joined #code |
18:05 | | Noah [maoranma@Nightstar-d3947588.pools.spcsdns.net] has quit [Client closed the connection] |
18:05 | | Noah [maoranma@Nightstar-d3947588.pools.spcsdns.net] has joined #code |
18:06 | | Kindamoody is now known as Kindamoody|out |
18:06 | | Kindamoody|out is now known as Kindamoody|codiing |
18:07 | | Kindamoody|codiing is now known as Kindamoody|coding |
18:19 | | PinkFreud [WhyNot@NetworkAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds] |
18:19 | | Derakon[AFK] is now known as Derakon |
18:20 | < sshine> | McMartin, I thought dynamic programming = using memoization. |
18:21 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
18:21 | < sshine> | McMartin, it seems to me that memoization often applies well imperatively as it does recursively. |
18:21 | <&McMartin> | They are in fact equivalent, AIUI |
18:21 | < sshine> | yeah |
18:22 | <&McMartin> | However, a lot of stuff that shows up as "dynamic programming" is about as easy to understand as something that's iteratively computing a recursive function by hand-maintaining its own stack independent of the callstack |
18:22 | < sshine> | right |
18:23 | < sshine> | so you mean the way CLRS, etc. present DP is heavy in some sense? |
18:23 | | PinkFreud [WhyNot@NetworkAdministrator.Nightstar.Net] has joined #code |
18:23 | | mode/#code [+o PinkFreud] by ChanServ |
18:24 | < sshine> | I feel that the moment I've characterised a common sub-problem, e.g. by its parameters, the rest is trivial boilerplate. |
18:29 | < sshine> | oh well. |
18:30 | <&McMartin> | While that's sort of true, hm. |
18:30 | <&McMartin> | Even when that's true, the result is still a lot harder to reverse |
18:30 | <&McMartin> | "Does this code do what the comments say it does" is harder to work out for that kind of thing. |
18:31 | <&McMartin> | Except in memoized-recursive, which I can pretty much ase |
18:31 | <&McMartin> | *ace |
18:31 | <&McMartin> | But if it's doing some kind of crazy accumulation-as-we-go thing I have to do a lot more work to figure out what it's up to. |
19:06 | | Kindamoody|coding is now known as Kindamoody[zZz] |
19:51 | | Derakon is now known as Derakon[AFK] |
19:53 | | Noah [maoranma@Nightstar-d3947588.pools.spcsdns.net] has quit [Ping timeout: 121 seconds] |
20:10 | <&McMartin> | ... |
20:10 | <&McMartin> | ... |
20:10 | <&McMartin> | \o/ |
20:10 | < ErikMesoy> | o-o-o? |
20:11 | <&McMartin> | Truly, I and my project manager are ninjas. |
20:11 | <&McMartin> | Three and a half years ago we designed and implemented a terrible feature that was abandoned before it was shipped. |
20:11 | <&McMartin> | Now we have a reasonably urgent customer need and crucial backend infrastructure for that feature was implemented three and a half years ago to back up said terrible feature. |
20:11 | <&McMartin> | AND THAT INFRASTRUCTURE STILL WORKS. |
20:12 | <&McMartin> | By the time the requirements documents had been produced it was already too late. |
20:14 | <&jerith> | \o/ |
20:14 | <&jerith> | (Too late for?) |
20:27 | <&McMartin> | (I dunno, that's the ninja thing though right) |
21:13 | <&McMartin> | For those of you who missed it, Wolfenstein 3D ported to HTML5: http://wolfenstein.bethsoft.com/game/wolf3d.html |
21:16 | | Derakon[AFK] is now known as Derakon |
21:20 | | ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has quit [Operation timed out] |
22:13 | | ErikMesoy is now known as ErikMesoy|sleep |
22:13 | | ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has joined #code |
22:13 | | mode/#code [+o ToxicFrog] by ChanServ |
22:15 | | ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has quit [Operation timed out] |
22:19 | | ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has joined #code |
22:19 | | mode/#code [+o ToxicFrog] by ChanServ |
23:32 | | Noah [maoranma@Nightstar-d3947588.pools.spcsdns.net] has joined #code |
--- Log closed Sat May 12 00:00:34 2012 |