code logs -> 2013 -> Tue, 02 Jul 2013< code.20130701.log - code.20130703.log >
--- Log opened Tue Jul 02 00:00:03 2013
00:03 Derakon_ [chriswei@Nightstar-a3b183ae.ca.comcast.net] has quit [[NS] Quit: leaving]
00:05 Turaiel[Offline] is now known as Turaiel
00:15 Turaiel is now known as Turaiel[Offline]
00:35 You're now known as TheWatcher[T-2]
00:44 You're now known as TheWatcher[zZzZ]
00:52 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving]
01:15 VirusJTG_ [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code
01:17 VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Ping timeout: 121 seconds]
01:32 RichyB [RichyB@D553D1.68E9F7.02BB7C.3AF784] has quit [[NS] Quit: Gone.]
01:35 RichyB [RichyB@D553D1.68E9F7.02BB7C.3AF784] has joined #code
02:09 * Derakon eyes Pyrel's directory.
02:10
<&Derakon>
16MB, 12 of which is the .git directory.
02:31 Vorntastic [Vorn@Nightstar-272c6a80.sub-70-211-6.myvzw.com] has joined #code
02:55 * Derakon eyes Python's json module.
02:55
<&Derakon>
>>> json.dumps({0: 'a'})
02:55
<&Derakon>
'{"0": "a"}'
02:56
<&Derakon>
Stop turning my ints into strings!
02:56
< Vorntastic>
Um
02:56
< Vorntastic>
wat
02:56
<&Derakon>
...maybe ints can't be dict keys in JSON?
02:56
< Vorntastic>
They can in js...
02:56
< Vorntastic>
Let me check
02:57
<&Derakon>
http://stackoverflow.com/questions/1450957/pythons-json-module-converts-int-dict ionary-keys-to-strings has the same problem as me.
02:57
< Vorntastic>
okay, no numbers as dict/obj keys in json.
02:57
<&Derakon>
The top answer is not exactly reassuring.
02:57
<&Derakon>
Bah.
02:58
< Vorntastic>
Json.org says the key has to be a string, in the syntax bit on the right.
02:59
<&Derakon>
I guess I get to manually convert if key.isdigit() is True.
02:59 Karono[zZz] is now known as Karono
03:10 * Derakon adds an exception if the code tries to serialize a string-of-numbers, sighs.
03:13
< Vorntastic>
Why are you putting numbers as dict keys anyway?
03:14 Karono [Karono@Nightstar-03f66622.optusnet.com.au] has quit [[NS] Quit: ]
03:14
<&Derakon>
Object IDs are auto-incrementing ints.
03:14
<&Derakon>
Also, \o/ it works
03:15 Karono [Karono@Nightstar-03f66622.optusnet.com.au] has joined #code
03:17
< Vorntastic>
So you're using the dict as a sparse array?
03:17
<&Derakon>
Uh...not exactly.
03:17
<&Derakon>
This is just the most convenient way to separate out the object ID from the object data.
03:18
<&Derakon>
So I can say "for objectId, objectData in loadedFile['things'].iteritems()..."
03:21
<&Derakon>
I guess I could just change it to be "for entry in loadedFile['things']: objectId, objectData = entry; ..." instead.
03:21
<&Derakon>
Wouldn't save me from the general problem that some portion of the object data might be trying to use an int as a key elsewhere.
03:37 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code
03:37 mode/#code [+qo Vornicus Vornicus] by ChanServ
03:40 Vorntastic [Vorn@Nightstar-272c6a80.sub-70-211-6.myvzw.com] has quit [[NS] Quit: Bye]
03:40 zeurel [188a20bd@Nightstar-ef290c21.mibbit.com] has joined #code
03:40 VirusJTG_ [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [[NS] Quit: Program Shutting down]
03:48 zeurel [188a20bd@Nightstar-ef290c21.mibbit.com] has left #code []
04:45 Turaiel[Offline] is now known as Turaiel
05:01 Karono [Karono@Nightstar-03f66622.optusnet.com.au] has quit [[NS] Quit: ]
05:06 Derakon is now known as Derakon[AFK]
05:13 Kindamoody[zZz] is now known as Kindamoody
05:59 ErikMesoy|sleep is now known as ErikMesoy
06:02 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Client closed the connection]
06:03 Orthia [orthianz@3CF3A5.E1CD01.B089B9.1E14D1] has quit [Ping timeout: 121 seconds]
06:15 Orthia [orthianz@3CF3A5.E1CD01.B089B9.1E14D1] has joined #code
06:15 mode/#code [+o Orthia] by ChanServ
06:17 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
06:17 mode/#code [+o himi] by ChanServ
06:29 Karono [Karono@Nightstar-03f66622.optusnet.com.au] has joined #code
06:56 Turaiel is now known as Turaiel[Offline]
07:04 Karono [Karono@Nightstar-03f66622.optusnet.com.au] has quit [[NS] Quit: ]
07:35 Kindamoody is now known as Kindamoody|afk
07:40 Karono [Karono@Nightstar-03f66622.optusnet.com.au] has joined #code
07:51 AverageJoe [evil1@Nightstar-4b668a07.ph.cox.net] has joined #code
08:01 Kindamoody|afk is now known as Kindamoody
08:42 AverageJoe [evil1@Nightstar-4b668a07.ph.cox.net] has quit [[NS] Quit: Leaving]
08:50 celticminstrel [celticminst@Nightstar-8403057e.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
09:08 You're now known as TheWatcher
09:15
< AnnoDomini>
I'm finding it hard to phrase a search.
09:15
<~Vornicus>
I take it you can come up with a detailed explanation of what you want
09:16
< AnnoDomini>
I want to find out if I can set up Outlook to pretend to send mail from a certain address, like you can set up between Gmail accounts - mail sent to one@domain.com gets routed to two@domain.com, and when you're logged into two@domain.com, you can send mail as if from one@domain.com.
09:19
< AnnoDomini>
My company has this setup where they get to keep their private email addresses, but have forwards under the company domain. There aren't any actual accounts there, just forwarding orders.
09:21
< AnnoDomini>
Now one of our employees wants to set up Outlook to use this. I think it would be enough that she sets up a connection to her normal account (where mail to her company email address gets routed anyway), and has the option to send from the company email.
09:22 Karono [Karono@Nightstar-03f66622.optusnet.com.au] has quit [[NS] Quit: ]
09:29
< AnnoDomini>
.
09:57 Kindamoody is now known as Kindamoody|out
10:12 Karono [Karono@Nightstar-03f66622.optusnet.com.au] has joined #code
10:44
<@TheWatcher>
AnnoDomini: try 'outlook alternative from address'
10:46
<@TheWatcher>
(or 'outlook alias from address')
10:50
< AnnoDomini>
Thanks.
10:53
<@TheWatcher>
("Oh God The Spiders, AAAAAAaaaaAAaaA!" may also work~)
10:55
< AnnoDomini>
Yeah, I can see that with the solutions given.
11:01
< Syka>
its an exchange thing
11:01
< Syka>
in outlook
11:47
< AnnoDomini>
I ended up changing the alias she had into a proper mailbox so she can keep it separate and not fiddle with outlook spiders.
12:09 cpux|2 [cpux@Nightstar-98762b0f.dyn.optonline.net] has quit [[NS] Quit: Well, most things get better when I kick them!]
13:14
< AnnoDomini>
http://fatpita.net/?i=17719
13:29
<@TheWatcher>
http://www.youtube.com/watch?v=yL_-1d9OSdk
13:40
< AnnoDomini>
http://fatpita.net/?i=8486
13:55 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving]
14:11
< AnnoDomini>
I do declare I have made an excellent choice to install LogMeIn remote desktop software on company machines. :D
14:12
< AnnoDomini>
Troubleshooting via email took hours. Troubleshooting when I was puppeteering took me minutes.
14:25
<@iospace>
fucking pointers
14:55 celticminstrel [celticminst@Nightstar-8403057e.dsl.bell.ca] has joined #code
14:55 mode/#code [+o celticminstrel] by ChanServ
15:09 celticminstrel [celticminst@Nightstar-8403057e.dsl.bell.ca] has quit [[NS] Quit: KABOOM! It seems that I have exploded. Please wait while I reinstall the universe.]
15:09 celticminstrel [celticminst@Nightstar-8403057e.dsl.bell.ca] has joined #code
15:09 mode/#code [+o celticminstrel] by ChanServ
15:16 Karono [Karono@Nightstar-03f66622.optusnet.com.au] has quit [Connection reset by peer]
15:17 Karono [Karono@Nightstar-03f66622.optusnet.com.au] has joined #code
16:21
<@iospace>
wooo got a "phone discussion" coming up
16:21
<@iospace>
yay progress :3
16:25
<@iospace>
for the record, i don't know what seperates a discussion from an interview, but that's what the email said
16:32
<@TheWatcher>
An interview is when you're being considered for a job. A phone discussion is where they're asking for your opinion on which phone to buy.
16:32
<@iospace>
heh
16:32
<@TheWatcher>
(Whatever you say, not a Windows phone)
16:33
<@TheWatcher>
(seriously though, good luck)
16:33
<@iospace>
thanks
16:37
< Syka>
huh?"
16:37
< Syka>
i constantly recommend windows phones
16:38
< Syka>
nokias hit hard
16:38
< Syka>
oh, you mean for use
16:40 * Tamber throws a 3310 at Syka.
16:41 * Syka D:
16:41 ErikMesoy is now known as Harrower
16:54 Syka_ [the@Nightstar-a401d04c.iinet.net.au] has joined #code
16:55 Syka [the@A6D346.0419D1.386664.7A31A2] has quit [Ping timeout: 121 seconds]
17:11
<@Azash>
RIP Syka
17:11
< Syka_>
wat
17:11 Syka_ is now known as Syka
17:11
<@Azash>
17:39 * Tamber throws a 3310 at Syka.
17:11
<@Azash>
And then you pinged out
17:12
< Syka>
hehe
17:12
<@Tamber>
They're bloody dangerous things.
17:12
<@Azash>
Agreed
17:12
<@Azash>
Better than the 2110 though
17:19 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code
17:19 mode/#code [+qo Vornicus Vornicus] by ChanServ
18:04 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving]
19:01 Turaiel[Offline] is now known as Turaiel
19:42 Kindamoody|out is now known as Kindamoody
19:44 Karono [Karono@Nightstar-03f66622.optusnet.com.au] has quit [[NS] Quit: ]
19:52 Alek [omegaboot@Nightstar-56dbba0f.in.comcast.net] has quit [Ping timeout: 121 seconds]
19:56 ktemkin is now known as ktemkin[awol]
20:09 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code
20:09 mode/#code [+qo Vornicus Vornicus] by ChanServ
20:24 Alek [omegaboot@Nightstar-56dbba0f.in.comcast.net] has joined #code
20:24 mode/#code [+o Alek] by ChanServ
20:37 Derakon [chriswei@Nightstar-a3b183ae.ca.comcast.net] has joined #code
20:37 mode/#code [+ao Derakon Derakon] by ChanServ
20:45 * Derakon prods Pyrel, gets to the bit where he actually has to write the [de]serializers for every in-game object. Joy~
20:46
<&Derakon>
In particular, every Proc class needs its own functions.
20:52
<@Tarinaky>
Derakon: What're you doing for engine/gui these days?
20:53
<&Derakon>
Uh? Custom Python code, as usual.
20:53 * Tarinaky is struggling to find anything decent that does the latter.
20:53
<&Derakon>
Oh, you mean libraries.
20:53
<&Derakon>
It really depends on what you want to do.
20:54
<&Derakon>
Pyrel is its own engine, of course, since I can never seem to resist writing everything myself.
20:55
<@Tarinaky>
Ah, but no opengl or sdl... gtk/qt/curses...
20:55
<@Tarinaky>
*only gtk/...
20:56
<&Derakon>
Pyrel is using wx/qt/curses, all three. Three different front-ends.
20:56
<&Derakon>
Really we should only have one frontend that's either wx or qt, but oh well.
20:56
<@Tarinaky>
I had a go at trying to make a gui system ontop of OpenGL and it sortof works... but it requires far too much love to get into a nice place.
20:57
<@Tarinaky>
I keep putting off working on the project because hate-hate-hate >.>
20:57
<&Derakon>
OpenGL can be a pain yeah, but honestly no library is going to free you from having to do a lot of fiddly UI work.
20:58
<&Derakon>
It's a fact of life.
20:58
<@Tarinaky>
It's alright once you have some basic elements to work with...
20:59
<@Tarinaky>
Or ideally some less basic elements to work with >.<
20:59
<&ToxicFrog>
Derakon: true, but there is a difference between the fiddly UI work of laying out and wiring up the UI, and the fiddly UI work of implementing stuff like scrollbars and text inputs from scratch.
20:59
<&Derakon>
Well, yes.
20:59
<@Tarinaky>
I'd like to be doing more of the former and less of the latter.
21:00
<&Derakon>
Then use a library like wx/qt/gtk that does that for you.
21:01 Kindamoody is now known as Kindamoody[zZz]
21:01
<@Tarinaky>
They don't work ontop of opengl.
21:02
<&Derakon>
Bullshit.
21:02
<@Tarinaky>
You can make OpenGL run ontop of /them/.
21:02
<&Derakon>
You can create a window in wx that has an OpenGL canvas in it trivially
21:02
<@Tarinaky>
But that's not what I'm going for >.>
21:02
<&Derakon>
Adapt your plans to the available tools, or resign yourself to doing a lot of extra work to little benefit.
21:03
<@Tarinaky>
"Learn and become more comfortable with OpenGL... by not doing anything in OpenGL" >.>
21:03
<&ToxicFrog>
Derakon: "creating a window with an openGL canvas in it" helps not at all when what you actually want is an openGL game with the ability to, say, have an in-game inventory screen
21:04
<&ToxicFrog>
That said, there are actually GUI libraries that use openGL as a rendering backend
21:04
<&ToxicFrog>
(and others that use love2d, or SDL, or pygame, or the like)
21:04
<&ToxicFrog>
Sadly most of them are terrible
21:04
<&Derakon>
Mm, that is true, I guess.
21:04
<&Derakon>
On the flipside, it turns out that scrollbars and buttons are not especially difficult to implement yourself.
21:05
<&Derakon>
So they can be a good introduction to handling mouse input in your program.
21:05
<&ToxicFrog>
Difficult, no. Tedious, very.
21:05
<&ToxicFrog>
And I would say that text widgets, especially multiline ones, count as difficult.
21:05
<&Derakon>
That is certainly true.
21:05
<&Derakon>
Text rendering is unfathomably difficult in OpenGL.
21:05
<&ToxicFrog>
(and if I had a high tolerance for tedium, I wouldn't be a programmer)
21:06
<@Tarinaky>
My current goal is to try to get some kind of bitmap skinning going but I've struggled to make any real progress on it beyond installing inkscape and gimp :/
21:06
<@gnolam>
s/in OpenGL//
21:09
<&Derakon>
gnolam: nah, if you use SDL then you can just create an SDLFont object from a .ttf (or whatever the TrueType file extension is), tell it to render "Hello, world" to a surface, and you're good to go.
21:09
<&Derakon>
If you want to do that in OpenGL then you need to do a lot more work, or else install a third-party library like FTGL (and let me tell you, building the PyFTGL bindings was a royal pain)
21:16 * Derakon eyes this code, finds it a bit sketchy that he's just written a decorator function that doesn't actually modify the wrapped function in any way.
21:16
<&Derakon>
It just creates the necessary deserialization functions for the class that the function is a constructor for.
21:19
<@Tarinaky>
It's a small mercy that PyGlet has stuff for drawing text at least >.>
21:19
<@Tarinaky>
Even if that still leaves multiline text as a nightmare.
21:20
<&Derakon>
Psh, multiline is only an issue if you want it to be justified on both sides. Single-justified text isn't too difficult.
21:20
<&Derakon>
A bit tedious though, I grant.
21:21
<@gnolam>
Derakon: and SDL_ttf isn't a third-party library?
21:22
<&Derakon>
Gnolam: mm, I last interacted with SDL via PySDL, which had the TTF support bundled in, so I didn't realize it was separate.
21:26
<&Derakon>
Argh, frickin' network kable%Wcable doesn't seat properly in my laptop's port and keeps popping out.
21:26 * Derakon eyes that typo.
21:26
<&Derakon>
Also, ^W, not %W.
21:29 Turaiel is now known as Turaiel[Offline]
21:32
<~Vornicus>
Der: yes, that smells bad
21:32
<&Derakon>
Smells?
21:34
<~Vornicus>
"code smell"
21:34
<~Vornicus>
the decorator
21:34
<&Derakon>
Ah.
21:35
<&Derakon>
I guess it doesn't really need to be done as a decorator; I could as easily just call a function after the definition of each class that does the necessary registration to make that class serializable.
21:35
<&Derakon>
But the decorator seems tidier.
21:42
<&McMartin>
This is Python, yes? wrapping a constructor is a way of implementing inheritance outside the type system
21:42
<&Derakon>
...dur, I should put the registration in the base class's constructor.
21:43
<&Derakon>
Man, what the hell was I thinking?
21:43
<&Derakon>
...oh yeah.
21:43
<&Derakon>
I was thinking "The function can't be a member function of the class because it must be callable without an instance handy".
21:43
<&Derakon>
But that's done easily enough.
21:46
<@Tarinaky>
ROTT is on Steam apparently.
21:46
<~Vornicus>
EAP
21:47
<@Tarinaky>
EAP?
21:47
<~Vornicus>
"expand acronym please"
21:47
<&McMartin>
Rise of the Triad.
21:48
<~Vornicus>
aha
21:50
<@Alek>
the remake, AND the original.
21:57
< Harrower>
I remember that from primary school.
21:58
< Harrower>
It came with Raptor: Call of the Shadows and some other DOS games. Different genre, same appearance: terribly low palette and high pixelation due to running fullscreen on Windows machines.
22:01
<&ToxicFrog>
Running on windows has nothing to do with it; 320x200 is going to look pixelated no matter what you run it on.
22:01
<&ToxicFrog>
ROTT used a modified Wolf3d engine; it's not exactly a shining example of technical sophistication.
22:11
<&Derakon>
That whole 320x200-fullscreen thing is why I couldn't bring myself to play Descent.
22:16
<~Vornicus>
now, there is d2x-xl, for your material defending pleasure.
22:17
<&Derakon>
Hm, given an instance of a class, is there a way to get to that class's constructor?
22:18
<&Derakon>
self.__class__ isn't what I want, unfortunately.
22:19
<~Vornicus>
self.__init__ should exist
22:19
<&Derakon>
I realize, belatedly, that I will need that if all classes descended from Proc are to be auto-registered as serializable.
22:20
<&Derakon>
...right, yes, thank you.
22:20
<&Derakon>
No, wait, that doesn't work, I don't think.
22:21
<&Derakon>
Pastebin time.
22:22
<&Derakon>
http://pastebin.com/eYjduvgw
22:22
<&Derakon>
I don't know how to do line 4.
22:22
< Harrower>
ToxicFrog: Yeah, what I meant was something like "running on more advanced computers with bigger monitors".
22:22
<&Derakon>
Pretty sure that self.__init__ is invalid because it operates on a specific instance.
22:22
<&Derakon>
I need to access NonBase() here -- a function distinct from any given instance.
22:23
<&Derakon>
(Just as self.__class__.__name__ is NonBase when creating a NonBase instance)
22:24 Harrower is now known as ErikMesoy|sleep
22:28
<~Vornicus>
self.__init__ is a method object; self.__init__.im_func is the underlying function.
22:28
<&Derakon>
Ah, right, RichyB told me that yesterday. I should have remembered. Thank you, Vorn.
22:29
<~Vornicus>
The word "implementation" is in the sentence that describes that though, and this is Really Naughty reflection.
22:29
<&Derakon>
Do you have a better idea for how to do this?
22:30
<~Vornicus>
No.
22:30
<~Vornicus>
At least partly because I'm not sure what you're up to at the moment.
22:31
<&Derakon>
I'm handling [de]serialization of Procs.
22:31
<&Derakon>
This is a whole bunch of subclasses of the base Proc class.
22:32
<&Derakon>
They all serialize/deserialize the same way, but they need to be individually registered with the serialization code.
22:32
<&Derakon>
So I figured I could put the registration stuff into the Proc.__init__ function.
22:32
<&Derakon>
But part of registration is giving the serialization code a function that will create a "blank" instance of the class (with no data filled in, so the deserializer can recreate object relationships).
22:33
<&Derakon>
This in turn means that Proc.__init__ needs to know what SomeNonBaseProc() is -- that is, the function that, when called, creates a SomeNonBaseProc instance.
22:33
<&Derakon>
Obviously, Proc.__init__ is not it.
22:33
<&ToxicFrog>
Derakon: I thought original Descent went all the way up to 640x480?
22:33
<&ToxicFrog>
Anyways, there's D2X-XL and DXX-Rebirth these days.
22:34
<&Derakon>
TF: dunno; I just remember it being way too pixely for me when I tried to play it. I may return to it someday.
22:34
<~Vornicus>
Now, it will be too polygony.
22:34
<&ToxicFrog>
It is worth playing.
22:36
<&McMartin>
Despite being Super Polygony Descent's ship designs hold up amazingly well.
22:36
<~Vornicus>
They do.
22:36
<&McMartin>
It's almost like they're rough-hewn mining robots largely made of big, flat metallic plates.
22:36
<~Vornicus>
I think their budget on some of them was like 30 polys.
22:37
<&McMartin>
When I needed to do the graphics for my 3D Graphics final, I wanted spaceships and I didn't have modeling tools beyond graph paper and a calculator.
22:37
<&McMartin>
I drew my inspiration from Descent. It worked.
22:40
<~Vornicus>
Actually my biggest complaint is that there are several robots with the same body plan.
22:40
<~Vornicus>
And the difference is color.
22:41
< [R]>
D2 fixed that a bit
22:41
<&McMartin>
Also whether or not they are hapless meat or ruin your shit with barrages of homing missiles~
22:41
< [R]>
I think only two robots really get reused there
22:41
<&McMartin>
(SMALL HULK :argh:)
22:41
<~Vornicus>
--that
22:41
< [R]>
The claw things, and the mine-layer things.
22:42
<&McMartin>
The Medium Lifter is goddamn iconic
22:42
<&ToxicFrog>
I can only think of one robot line that used the same models in Descent 1
22:42
<&ToxicFrog>
The Hulk series
22:42
<&McMartin>
Same here
22:42
<&ToxicFrog>
Everything else has distinct models
22:42
<&McMartin>
Though tbh if there were secretly multiple kinds of drillers I wouldn't notice because ARGH KILL IT WITH FIRE NOW
22:42
<&Derakon>
Okay, have fun talking about Descent. I'm outta here. :)
22:42 Derakon [chriswei@Nightstar-a3b183ae.ca.comcast.net] has quit [[NS] Quit: leaving]
22:43
<&ToxicFrog>
And of course, Descent 2 deserves much opprobium for re-using the D1 Small Hulk model for the D2 Large hulk equivalent
22:43
<&ToxicFrog>
I.e. the one armed with dual homing missile launchers rather than light lasers.
22:44
< [R]>
D1 only had two bosses?
22:44
< [R]>
Heh
22:44
< [R]>
http://budwin.net/insectoid/dos/descent/d1robots.html
22:45 VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code
22:45
<&McMartin>
Yeah, the boss of the shareware levels and the boss of the game~
22:48
< [R]>
The first two Descents were pretty sweet
22:48
< [R]>
I didn't like the third due to its high HW reqs at the time
22:48
<&McMartin>
Descent 2 had some nice bits and some very un-nice bits
22:48
<&ToxicFrog>
I thought Descent 2 was by far the worst, personally
22:48
<&McMartin>
I feel that in gaining it lost.
22:49
<&McMartin>
Descent 3 was the only one I couldn't bring myself to complete
22:49
<&McMartin>
But its high points were *excellent* up to that point
22:49
<&McMartin>
The Actual Materiel Defender Mission was fabulous
22:49
< [R]>
I liked it the most personally. Though it was also my intro into the series. I had the 8-level demo version for the longest time.
22:49
<&McMartin>
As was playing chicken with the subway trains in South Korea.
22:49
<&ToxicFrog>
The robots all looked worse despite having higher polycounts, the levels were far too complicated, and the text briefings were replaced with an intro movie at the main menu and an outro after the final boss and that's it.
22:49
<&McMartin>
Descent 1 and 2 both have stronger openings and get weaker and flabbier as the game progresses.
22:49
< [R]>
Err, it == D2
22:50
<&McMartin>
TF: To be fair, D2's intro movie was all kinds of badass.
22:50
<&ToxicFrog>
Well, yes
22:50
<&ToxicFrog>
And I did like its greater weapon selection
22:50
<&McMartin>
D2 also had a hilarious bug where on the default difficulty level the final boss was permanently and entirely invulnerable
22:50
<&ToxicFrog>
But the actual game I gave up on in disgust six levels in, whereas I've completeled D1 and D3 twice each.
22:51
<&McMartin>
Maybe I should at some point give D3 another shot.
22:51
<&McMartin>
I think I still have the disks
22:51
<&McMartin>
I might just re-buy it from GOG to get the xpacks and the Lack Of Installation Headaches though.
22:51
< [R]>
Mine are scratched to hell :/
22:51
<&ToxicFrog>
I still haven't played the D3 expansion; I fished D3 out of a bargain bin after Parallax had already gone under
22:52
<&ToxicFrog>
I should fix that with GOG
22:52 * McMartin beat D1 and D2 after messy breakups, because otherwise he was unable to maintain attention span
22:52
<&ToxicFrog>
First, however, I should finish System Shock again~
22:53
< [R]>
D2 gives you map, guidebot and markers (remote cameras) makes you use them.
22:53
< [R]>
D3's levels were pretty complicated too. I remember getting lost in them sooner than I did with the D2 ones.
22:54
<&ToxicFrog>
With the guidebot I never had trouble navigating D2's levels, they were just overcomplicated and tedious.
22:54
<&ToxicFrog>
And the secrets were pretty much completely unforgivable.
22:55
< [R]>
Yeah, many of the secret doors were assholish in D2
22:55
<~Vornicus>
D3 I found the places relatively memorable, most of the time.
22:55
< [R]>
"Oh you're in the room now? Got 10 seconds to shoot the invisible panel to open the door, which will only stay open for 15."
22:56
< [R]>
"Oh, you didn't hit the key in 10 seconds welp. Sucks to be you."
22:56
< [R]>
IIRC that one was in the second level.
22:56
<&ToxicFrog>
"Navigate a guided missile through a maze to hit a panel - on the opposite side of the level, because the door and the paoenl are on opposite sides and the door only stays open for five seconds"
22:57 * TheWatcher eyes gcc
22:57
<@TheWatcher>
"expected unqualified-id before 'variable'" is probably the least helpful error message ever.
22:58
<&McMartin>
No
22:58
<&McMartin>
Template instantiation errors prior to incorporated g++ name demanglers were.
22:58
<&ToxicFrog>
"Shoot the panel to open a door in the hallway you just went down, race back there, and drop a smartmine inside it, then race back to the other hallway and hover in front of it for a few minutes until the smartmine explodes and the door opens for a few minutes"
22:58
<&ToxicFrog>
Er, opens for a few seconds
22:58
<&ToxicFrog>
Death to D2's level desighers, seriously
22:58
<@TheWatcher>
McMartin: *twitch*
22:59
<@TheWatcher>
... ohgods, WHAT
23:00 * TheWatcher stabs the dark engine
23:00
<~Vornicus>
that is a spectacularly terrible secret
23:01
< [R]>
This was before guides were a cash cow right?
23:01
< [R]>
Or was it that era?
23:03
<&McMartin>
I think it was after the hotlines and before the awesome artbooks.
23:03
<&McMartin>
Pre-Voliton Parallax were just kind of dicks~
23:04
<&ToxicFrog>
D1 wasn't nearly as dickish, though
23:04
<&McMartin>
Indeed
23:04
<&McMartin>
D2 was a bit of second-system effect
23:04
<&McMartin>
D3 tried to stick an actual narrative on
23:05
<@Azash>
http://i.imgur.com/udAdAeT.jpg
23:55 You're now known as TheWatcher[T-2]
--- Log closed Wed Jul 03 00:00:18 2013
code logs -> 2013 -> Tue, 02 Jul 2013< code.20130701.log - code.20130703.log >

[ Latest log file ]