code logs -> 2012 -> Fri, 11 May 2012< code.20120510.log - code.20120512.log >
--- 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
code logs -> 2012 -> Fri, 11 May 2012< code.20120510.log - code.20120512.log >

[ Latest log file ]