code logs -> 2012 -> Tue, 02 Oct 2012< code.20121001.log - code.20121003.log >
--- Log opened Tue Oct 02 00:00:54 2012
00:32 PinkFreud [WhyNot@NetworkAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds]
00:34 PinkFreud [WhyNot@NetworkAdministrator.Nightstar.Net] has joined #code
00:34 mode/#code [+o PinkFreud] by ChanServ
01:24 RichyB [richardb@Nightstar-3b2c2db2.bethere.co.uk] has quit [[NS] Quit: Leaving]
01:33
<&Derakon>
Man, the travails of publicizing your development efforts.
01:33
<&Derakon>
I keep getting utterly useless suggestions from one kid. He means well, he just...doesn't really have a clue what he's doing.
01:34
<&ToxicFrog>
sigh
01:35
<&Derakon>
(This is also the kid that wanted to use tabs instead of spaces...)
02:28 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [G-Lined: Session limit exceeded]
02:28
< rms>
Oh noes! Someone argues for the saner of the two, clearly all his opinions are worthless! </flamebait>
02:32
< Rhamphoryncus>
Sure, I'm game
02:32 Attilla [Obsolete@FBC920.173C5E.F86DF0.D9DC14] has quit [[NS] Quit: ]
02:35
< Rhamphoryncus>
In theory tabs are better. They allow editors to have a concept of code blocks independent of indentation. In practice no editor does that, instead the norm is for tabs to display as X spaces and the tab key producing equal results be it real tab characters or just X spaces. Given that they're equal anyway it's simpler to deprecate the tab character and use spaces for everything
02:36
< Reiv>
Rhamphoryncus: A particular shame in languages such as Python, where whitespace matters
02:36
< Reiv>
It would have been lovely to have rigged Tabs to be meaningful indicators of said whitespace.
02:36
< Rhamphoryncus>
Reiv: aye
02:37
< Rhamphoryncus>
but IMO you don't get any benefit until editors start doing *indented* word-wrap, so you don't need to manually break/wrap/indent long lines
02:38
< Rhamphoryncus>
And a mildly clever editor could do that with spaces still
02:38 Vash [Vash@Nightstar-3ba4108e.wlfrct.sbcglobal.net] has quit [[NS] Quit: I lovecraft Vorn!]
02:39
< Rhamphoryncus>
Or having tabs in the middle of a line magically group with other nearby tabs and indent to a common level
02:40
< rms>
It'd be nice if more editors supported elastic tabs
02:40
< Rhamphoryncus>
meaning if you had "foo() # Call foo so bar works", it'd shift the # as much as is needed
02:41
< Rhamphoryncus>
Not heard that term before
02:58 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
02:58 mode/#code [+o himi] by ChanServ
03:09
< rms>
http://nickgravgaard.com/elastictabstops/
03:12 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
03:26 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
03:26 mode/#code [+o himi] by ChanServ
03:42 Vash [Vash@Nightstar-3ba4108e.wlfrct.sbcglobal.net] has joined #code
03:42 mode/#code [+o Vash] by ChanServ
04:23 * Derakon looks up. "Whoops."
04:23
<&Derakon>
More generally, he was complaining about the fact that the style guide I wrote said "use spaces, not tabs" and the entire codebase thus far had used spaces.
04:24
<&Derakon>
Except for the code he'd written, which I had to go back in and fix for consistency's sake.
04:31 * Vornicus kind of wishes he could set text editors to have fractional tab width.
04:44
< Rhamphoryncus>
I need to figure out how to make hg have a whitespace sanity check hook
04:46
<&Derakon>
Get it to invoke pep8?
04:47
< Rhamphoryncus>
writing C++, not python :/
04:47
< Rhamphoryncus>
But my actual rules will be no tabs anywhere and no trailing whitespace
04:47
<&Derakon>
What's bad about trailing whitespace? I mean, it's functionally useless, but is it harmful?
04:49
< Rhamphoryncus>
It's unclean (which irks me) and results in commit noise when it's accidentally removed/added
04:49
<&Derakon>
Ah.
04:56 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
04:57
<&ToxicFrog>
Rhamphoryncus: egrep -q ' |\s+$' will EXIT_SUCCESS if the file contains any tabs or trailing whitespace, and EXIT_FAILURE otherwise.
04:57
<&ToxicFrog>
That space after the ' is a tab character, incidentally, not a space character.
04:58
< Rhamphoryncus>
.. hah, which may be impossible to get through the same check ^_^
04:58
<&McMartin>
Yeah, you want to filefilter this
04:58
<&McMartin>
You also want that so that, say, PNG headers will pass through =P
04:58
< Rhamphoryncus>
heh
04:59
<&ToxicFrog>
Yeah, I'm assuming you wrap this in a shell script that also does file type checking etc
05:09 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
05:09 mode/#code [+o himi] by ChanServ
05:18
< Rhamphoryncus>
Oh. Well then. I'm currently using tabs exclusively >.>
05:23
< Rhamphoryncus>
This should be sufficient for now, as trailing whitespace is common while mixing tabs/spaces is not:
05:23
< Rhamphoryncus>
[hooks]
05:23
< Rhamphoryncus>
pretxncommit.whitespace = hg export tip | (! egrep -Iq '\s+$')
05:27 Rhamphoryncus [rhamph@Nightstar-cc6253d6.abhsia.telus.net] has quit [Client exited]
05:31 ErikMesoy|sleep is now known as ErikMesoy
05:36 Emu [Emu@Nightstar-b920a19c.cust.comxnet.dk] has joined #code
06:14 You're now known as TheWatcher
06:38 Derakon is now known as Derakon[AFK]
07:00 Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Client closed the connection]
07:10 You're now known as TheWatcher[afk]
07:23 gnolam_ [lenin@Nightstar-ccbf4b44.cust.bredbandsbolaget.se] has joined #code
07:23 Netsplit *.net <-> *.split quits: @Vash, Tarinaky, gnolam, franny, @Tamber, @Kindamoody|afk, @himi, AnnoDomini, rms, EvilDarkLord, (+3 more, use /NETSPLIT to show all of them)
07:23 FurryHelix [tamber@furryhelix.co.uk] has joined #code
07:25 FurryHelix is now known as Tamber
07:25 mode/#code [+o Tamber] by ChanServ
07:25 franny [fran@Nightstar-e67f9d08.com] has joined #code
07:25 rms [rstamer@Nightstar-e681a855.org] has joined #code
07:25 Reiver [quassel@Nightstar-3762b576.co.uk] has joined #code
07:27 EvilDarkLord [jjlehto3@Nightstar-a5db08cc.org.aalto.fi] has joined #code
07:27 AnnoDomini [abudhabi@Nightstar-bce82ff6.adsl.inetia.pl] has joined #code
07:28 froztbyte [froztbyte@Nightstar-dc394964.za.net] has joined #code
07:28 Tarinaky [tarinaky@Nightstar-dd7e4a05.net] has joined #code
07:33 ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has joined #code
07:40 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
07:40 mode/#code [+o himi] by ChanServ
07:46 Kindamoody|afk [Kindamoody@Nightstar-5b3db968.telia.com] has joined #code
07:51 Emu [Emu@Nightstar-b920a19c.cust.comxnet.dk] has quit [Connection closed]
07:53 Emu [Emu@Nightstar-b920a19c.cust.comxnet.dk] has joined #code
08:15 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
08:28 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
08:28 mode/#code [+o himi] by ChanServ
08:33 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
08:45 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
08:45 mode/#code [+o himi] by ChanServ
09:12 You're now known as TheWatcher
09:33 Emu [Emu@Nightstar-b920a19c.cust.comxnet.dk] has quit [Connection closed]
09:55 Attilla [Obsolete@Nightstar-03feb95a.as43234.net] has joined #code
10:06 RichyB [richardb@Nightstar-3b2c2db2.bethere.co.uk] has joined #code
11:12 Attilla_ [Obsolete@Nightstar-0f05a4e9.as43234.net] has joined #code
11:13 Emu [Emu@7D8456.A943BA.FB3BDD.418FAB] has joined #code
11:14 Attilla [Obsolete@Nightstar-03feb95a.as43234.net] has quit [Ping timeout: 121 seconds]
11:23
< Tarinaky>
Okay. Something is confusing me.
11:23
< Tarinaky>
(Math tiem!)
11:24
< Tarinaky>
Fourier Series, in order to represent a function that is neither odd, or even, you need a sum of even and odd, ie both sine and cosine...
11:24
< Tarinaky>
What about f(x) = 0 over (-pi,0) and f(x) = 1 over (0,pi) ?
11:25
< Tarinaky>
This is neither odd nor even, so I'd expect a_n and b_n to both be nonzero.
11:25
< Tarinaky>
But my a_n is coming out 0.
11:29
< Tarinaky>
I think I'm doing something wrong here.
11:48 Attilla_ is now known as Attilla
12:59 gnolam_ is now known as gnolam
13:03
< gnolam>
... the hell?
13:03
< gnolam>
WTF do people build enclosures out of - lead?
13:05
< gnolam>
Even our flimsy plastic test enclosure weighs in at 247 g.
13:37 Emu [Emu@7D8456.A943BA.FB3BDD.418FAB] has quit [Client closed the connection]
13:53
< rms>
Gotta keep that HDD radiation away from your privates
14:48 You're now known as TheWatcher[afk]
--- Log closed Tue Oct 02 14:49:01 2012
--- Log opened Tue Oct 02 14:49:13 2012
14:49 TheWatcher [chris@Nightstar-3762b576.co.uk] has joined #code
14:49 Irssi: #code: Total of 27 nicks [4 ops, 0 halfops, 0 voices, 23 normal]
14:49 mode/#code [+o TheWatcher] by ChanServ
14:49 You're now known as TheWatcher[afk]
14:49 Irssi: Join to #code was synced in 41 secs
15:07 Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code
15:17 mode/#code [+ao ToxicFrog ToxicFrog] by ChanServ
16:01 Rhamphoryncus [rhamph@Nightstar-cc6253d6.abhsia.telus.net] has joined #code
16:02
<~Vornicus>
Tarinaky: it is not necessarily true that any /particular/ pair of sine-cosine terms of the same period are non-zero
16:04
< Tarinaky>
Vornicus: Yes, but my a_n is 0 for all n.
16:04
< Tarinaky>
And it isn't an odd function.
16:04
<~Vornicus>
Then something might be going wrong.
16:06
< Tarinaky>
No kidding.
16:06 * iospace eyes this issue
16:06
< iospace>
don't you love when you find what /isn't/ the problem but you can't find what is?
16:06
< Tarinaky>
Okay so...
16:07
< Tarinaky>
a_0 = 1/pi integral[f(x),dx,(-pi,pi) = 1/pi integral[f(x),dx,(-pi,0)] + 1/pi integral[f(x),dx,(0,pi)] -- yes?
16:07
<~Vornicus>
Tarinaky: actually
16:08
<~Vornicus>
there is a bit you missed here, there's a constant term that isn't paired
16:08
< Tarinaky>
a_0?
16:08
<~Vornicus>
And if that constant term is nonzero, the function can "look" odd by the paired terms but it clearly isn't
16:08
< Tarinaky>
Ah.
16:09
< Tarinaky>
So if I have nonzero a_0, and some b_ns... then I can have zero a_ns and still have a neither function?
16:09
<~Vornicus>
For such functions, you're what I'd call nearly-odd: f(-x) = -f(x) + k
16:12 You're now known as TheWatcher
16:14
<~Vornicus>
there is after all a reason that constant term is a_0 and not b_0 or just k: it acts like an a in that it describes an even term.
16:17
< Tarinaky>
I need to head off to lectures.
16:21
< iospace>
ok, as much as i dislike apple, i will say thunderbolt is a much more elegent design than the first revision of the external cabling for PCIe
16:25
< iospace>
though thunderbolt appears to be PCIe x2, the external specs for PCIe that I'm looking at go up to x16
16:31
< iospace>
take that back
16:31
< iospace>
TB goes up to 4x
16:34
< iospace>
yeah, much more elegant than the 4x spec they had back in 07 from PCI-SIG
17:11 ErikMesoy is now known as Harrower
17:17 EvilDarkLord is now known as Maze
18:07 Harrower [Erik@Nightstar-bd2f5f93.80-203-16.nextgentel.com] has left #code []
18:47
<&McMartin>
Oh hey
18:47
<&McMartin>
Kind of preliminary, but
18:48
<&McMartin>
The guy who largely unfucked Pascal and Java by designing Turbo Pascal and C# has turned his eyes to JavaScript
18:49
<&McMartin>
http://typescriptlang.org/
19:07
< iospace>
... unfucked java by designing C#?
19:07
< iospace>
... unfucked java by designing C#?
19:25
<&McMartin>
Yes.
19:26
<&McMartin>
C# as a language is basically "Java with the hilariously shitty parts designed out"
19:26
<&McMartin>
In practice, they're close enough that any decision of which language to use is dictate by software ecosystem.
19:26
<&McMartin>
But IDisposable having syntactic support *alone* would be enough to give C# the nod.
19:27
<&McMartin>
Oh, and the ability to have unsigned 8-bit primitive values, right~
19:27
< iospace>
C# is Java with hilariously shitty additions :P
19:27 * iospace shrugs
19:27
<&McMartin>
Yeah, uh
19:27
<&McMartin>
I'm going to guess that you don't need precise destructors
19:27
< iospace>
not relaly
19:27
< iospace>
*really
19:27
<&McMartin>
Yeah, so
19:27
< iospace>
plus, i work on the code that you'll never think about ^_^
19:27
<&McMartin>
When you start doing things like opening network database connections
19:28
<&McMartin>
Java starts being worse wrt to resource leaks than fucking C++, and the way of making the compiler do it for you involves one level of indentation for every variable you declare
19:28
<&McMartin>
This Is A Language Flaw
19:28 Rhamphoryncus [rhamph@Nightstar-cc6253d6.abhsia.telus.net] has quit [Ping timeout: 121 seconds]
19:29 Rhamphoryncus [rhamph@Nightstar-cc6253d6.abhsia.telus.net] has joined #code
19:29
<&McMartin>
Also, Java's byte type is signed and there is no way to treat it as unsigned without bitmasking arithmetic, which makes processing packed binary data vastly more obnoxious than it has any right whatsoever to be.
19:29 * iospace shrugs
19:29
< iospace>
i mostly use C here so
19:30
<&McMartin>
OK, the idiom that Java breaks drastically doesn't even exist in C
19:30
<&McMartin>
C++ has a parallel one that applies, more or less, only to it
19:30
< Rhamphoryncus>
C# may have its elements of stupid, but it's still much more practical than java
19:30
<&McMartin>
(RAII)
19:30
< Rhamphoryncus>
ugh RAII
19:30
<&McMartin>
RAII is a way of hacking method pairing into a language that doesn't have it but does have precise destructors
19:31
<&McMartin>
Precise destructors are kind of unfortunate for other reasons, but if you have them, at least you can get method pairing.
19:31
<&McMartin>
C#'s approach is The Right Way To Do It, though, yes~
19:31
< Rhamphoryncus>
For allocating memory it's fine. You want that constrained but not to any specific amount
19:32
< Rhamphoryncus>
For allocating a tightly limited resource, in my case a SDL context.. ugh. I really want a better option for that (in C++)
19:32
<&McMartin>
SDL contexts get tricky
19:32
<&McMartin>
The "classical" examples here are files and network connections
19:32
< Rhamphoryncus>
Python's with-statement is ideal for that IMO
19:32
<&McMartin>
"If you open one and then throw an exception, clean it up on the way out"
19:32
<&McMartin>
Yeah, C#'s IDisposable interface is equivalent to that
19:32
<&McMartin>
That's The Solution.
19:33
< Rhamphoryncus>
I don't suppose you know a way to bludgeon that into C++?
19:33 * iospace wonders why McMartin is capitolizing every word
19:33
< Rhamphoryncus>
Every Word Is Sacred. Every Word Is Special!
19:33
<&McMartin>
For the specific case of graphics contexts in C++, a boost::shared_ptr to your RAII-y class might give it enough freedom to let you do custom factories and break stack discipline while still maintaining it as a managed resource.
19:34
<&McMartin>
No, only capitalized words are Special
19:34
< iospace>
Rhamphoryncus: and it's driving me insane
19:35
<&McMartin>
Rhamphoryncus: That said, I would, I think, want separate things for SDL: The System and SDL: Graphics Context
19:35
<&McMartin>
(Here capitalized because they are classes, go away)
19:35
< Rhamphoryncus>
I don't need that freedom. I want the opposite. I allocate one instance on the stack, it never moves.
19:35
<&McMartin>
Oh
19:35
<&McMartin>
Put it in main()~
19:35
< Rhamphoryncus>
it is
19:35
<&McMartin>
Er, I seem to have missed what the problem is here
19:36
< Rhamphoryncus>
But it currently looks like this: SDLContext sdlctx;
19:36
< Rhamphoryncus>
There's no clue that it's allocating something, and something major at that
19:36
<&McMartin>
Oh, I see
19:36
<&McMartin>
Ahahahaha
19:36
<&McMartin>
Well
19:37
<&McMartin>
You can be evil
19:37
< Rhamphoryncus>
I could make it use a lambda. Ugly.
19:37
<&McMartin>
You could *name the class a verb*
19:37
<&McMartin>
CreateSDLContext mainscreen();
19:37
< Rhamphoryncus>
oh, that'd help
19:38
<&McMartin>
(I've seen 'GuardedBy' as a class name for pairing lock/unlock on a mutex to do critical sections)
19:39
< Rhamphoryncus>
Hrm. CreateSDLContext([] (SDLContext &sdlctx) {
19:39
< Rhamphoryncus>
...
19:39
< Rhamphoryncus>
});
19:39
<&McMartin>
Hm. Are you trying to abstract over graphics engines here?
19:40
< Rhamphoryncus>
nope. Just to isolate SDL
19:41
< Rhamphoryncus>
sdlcontext.h (yes, it's just a header for now) is 71 lines
19:41
<&McMartin>
I don't think I'd actually use lambdas for this, then
19:41
<&McMartin>
You've got your isolation layer interface, more or less
19:42
<&McMartin>
You could pass a pointer or to your CreateSDLContext object and then have the main code use that
19:43
<&McMartin>
Sadly, the only parallel to this I can come up with right now is java.awt.Component.paint(Graphics g)
19:43
<&McMartin>
Where java.awt.Graphics has the methods like drawLine and drawImage
19:44
< Rhamphoryncus>
Which'd be similar to having a basic SDLContext object with explicit .init()/.deinit() methods..
19:44
<&McMartin>
Right
19:44
< Rhamphoryncus>
With the magical implied exception handling .deinit()
19:44
<&McMartin>
Yup
19:45
<&McMartin>
Now you're exactly equivalent to the classic CriticalSection class
19:45
<&McMartin>
Built out of a mutex, does lock in constructor and unlock in destructor, but the real work is all done in Mutex
19:46
< Rhamphoryncus>
I don't like that. Sure, there's cases where explicit is more useful (allowing odd interleaving of multiple such sections), but this only needs basic behaviour
19:47
<&McMartin>
OK, change that to the conditional tense above then
19:48
<&McMartin>
"If you did that (the basic SDLContext with explicit) then you'd be exactly equivalent to..."
19:49
< Rhamphoryncus>
I don't see a reason to declare the SDLContext explicitly
19:49
<&McMartin>
Yeah, I tend to agree
19:50
<&McMartin>
Though the fact that constructors can't be virtual is an annoyance to me
19:50
<&McMartin>
In the most general case of this
19:50
< Rhamphoryncus>
I find the C++ lambda a bit ugly. That's the only bit that annoys me
19:50
<&McMartin>
I'm not totally clear on what you even need the lambda for
19:51
<&McMartin>
(In that the stuff I'm imagining here doesn't use lambdas, or, indeed, virtual functions at all)
19:51
< Rhamphoryncus>
to have the same code order as python's with-statement. Top to bottom, not jumping around
19:52
< Rhamphoryncus>
Which does mean that most of main() will be further indented
19:52
<&McMartin>
Well, yeah, but eh
19:52
<&McMartin>
OK, this is a matter of taste, but I think you're going slightly to far in importing an alien idiom here~
19:52
<&McMartin>
*too far
19:52
<&McMartin>
But it looks sound
19:53
< Rhamphoryncus>
I don't see it as alien. I see it as the Right Way to do it, limited by the tools available. (actually, I think python would be better if it passed in a function too.)
19:54
<&McMartin>
Mmm
19:54
<&McMartin>
I suppose part of the issue here is that you're viewing it as special case of method pairing and I'm viewing the problem of "manage SDL resources" as a dependency-injection problem instead.
19:55
< Rhamphoryncus>
Maybe
19:56
< Rhamphoryncus>
yeah, dependency injection would take place by making the CreateSDLContext function a pointer
19:56
<&McMartin>
This is more or less what UQM ended up doing (without the C++ or automatic management parts -_-) to support its twin backends
19:56
<&McMartin>
Framebuffer vs. OpenGL
19:56
<&McMartin>
Both still are SDL-based but they have to do wildly different things
19:58 * Rhamphoryncus nods
20:18
< gnolam>
http://www.cs.cmu.edu/~wklieber/python-tail-recursion.jpg
20:23
< Rhamphoryncus>
cute
20:34 Emu [Emu@7D8456.A943BA.FB3BDD.D37BA4] has joined #code
20:45 Emu [Emu@7D8456.A943BA.FB3BDD.D37BA4] has quit [Ping timeout: 121 seconds]
20:46
< froztbyte>
haha
20:53 Derakon [chriswei@Nightstar-a3b183ae.ca.comcast.net] has joined #code
20:53 mode/#code [+ao Derakon Derakon] by ChanServ
20:54 * Derakon eyes the Angband dev forum.
20:54
<&Derakon>
Recently in Pyrel I made a stats-management system, to track all the numerical attributes of an entity.
20:54
<&Derakon>
So you can say e.g. "my base STR is 10, I get +2 from race and +1 from class, I'm wearing a ring that gives +3, so my total is 16".
20:55
<&Derakon>
This includes other non-core-stat stats, though, like stealth, perception, magic device skill, etc.
20:55
<&Derakon>
Two of these skills are Finesse and Prowess, representing roughly your ability to hit what you aim at, and to deliver power behind that blow.
20:56
<&Derakon>
These stats are tracked separately for melee vs. missile combat -- different items provide bonuses to the stats, etc.
20:56
<&Derakon>
So I just went ahead and named them "meleeProwess", "meleeFinesse", "missileProwess", and "missileFinesse" to distinguish them.
20:56
<&Derakon>
This is bugging some of the other devs, but for hard-to-articulate reasons.
20:57
<&Derakon>
Thoughts?
20:57
<~Vornicus>
welll
20:57
<&Derakon>
Keep in mind that missile and melee combat do not use exactly the same calculations.
20:58 Emu [Emu@7D8456.A943BA.FB3BDD.D37BA4] has joined #code
21:00
<~Vornicus>
Okay, in 4e D&D you get melee weapons, light thrown weapons/bows, and heavy thrown weapons. Melee and heavy thrown weapons use str for both prowess and finesse, and light thrown weapons and bows use dex for both prowess and finesse.
21:01
<&Derakon>
We can safely assume that the derivation of these stat values is sane.
21:01
<&Derakon>
It's mostly a question of how they should be stored and referred to in the stats "database".
21:03
<~Vornicus>
So there are situations (in 4e at least, and 3e as well though I haven't described that today) where your missile prowess is not appropriate for missile weapons.
21:03
<&Derakon>
Mm, throwing weapons are not a big thing in Angband currently, but we can assume a separate throwingFinesse and throwingProwess if we need to.
21:04
<&Derakon>
The suggestion I received was to make the stats DB a hierarchical structure so you'd have "melee" stats, "missile" stats, "throwing" stats, etc, each with their own "finesse" and "prowess" entries.
21:04
<&Derakon>
The main issue I have with that being that there's sort of an implicit assumption that nothing outside of a given level in the hierarchy depends on anything inside.
21:05
<&Derakon>
E.g. if you wanted to provide an AC bonus for having a high melee finesse, representing your ability to parry attacks.
21:05
<&Derakon>
Nothing enforces you from not creating dependencies like that, but I like it better when the structure of the data matches how it's used.
21:11
< RichyB>
I'm quite fond of how Dredmor does stats personally.
21:11
< RichyB>
You have primary stats - Burliness, Caddishness and so on.
21:12
< RichyB>
Those determine secondary stats, like Critical Chance, Block Chance, Hitpoints, Enemy-Dodge-Reduction
21:13
<&Derakon>
Yeah, I've played Dredmor.
21:13
< RichyB>
Enchanted equipment, character skills, and (de)buffs directly modify either of your primary or secondary stats.
21:13
<&Derakon>
Pyrel will be using a more flexible system since its engine needs to be adaptible.
21:13
< RichyB>
It's pleasingly simple - you can fit most enough the whole game in your head.
21:13
<&Derakon>
Every stat is built up out of a tiered set of modifiers.
21:13
<&Derakon>
You have inherent, permanent, and temporary modifiers.
21:14
<&Derakon>
These are additive, multiplicative, or invoking arbitrary functions.
21:14
<&Derakon>
The "arbitrary function" bit is only allowed to refer to stats of a strictly lesser tier, to avoid permanent loops.
21:14
< RichyB>
Oh-kay.
21:14
< RichyB>
So Dredmor's system is trivially representable in yours.
21:14
<&Derakon>
Yes.
21:15
< RichyB>
You'd represent Dredmor with 2 layers and a load of equipment+buff modifiers.
21:15
<&Derakon>
Pretty much, yeah.
21:15
< RichyB>
Or would you put equipment/skills/buffs on a layer underneath Caddishness/Burliness/Sagacity/etc?
21:16
<&Derakon>
...hm, actually, yeah, Dredmor wouldn't really work under this system.
21:17
<&Derakon>
Since the entire point of primary-stat buffs is to affect your secondary stats.
21:17
<&Derakon>
(Counting HP as a secondary stat)
21:17
< RichyB>
{HP,MP}{max,regen period} are all secondary stats in Dredmor.
21:17
<&Derakon>
So what that means is that everything that affects the primary stats has to be on lower tiers than anything that affects secondary stats.
21:18
< RichyB>
I thought that in your system, it's fine for a layer object to affect a layer 2 object?
21:18
< RichyB>
It's just never fine for layer 2 to affect layer 2 or lower.
21:18
<&Derakon>
The tiers are "inherent to the entity", "indefinite-duration effect on the entity", and "limited-duration effect on the entity".
21:18
<&Derakon>
Roughly corresponding to what the creature is, what equipment it's wearing, and what buffs it has active.
21:19
<&Derakon>
Certainly I could change what the tiers are, though.
21:19
<&Derakon>
If I was willing to split that into "CORE inherent/permanent/temporary" and "DERIVED inherent/permanent/temporary" (thus, six tiers), then I could represent Dredmor.
21:21 Emu [Emu@7D8456.A943BA.FB3BDD.D37BA4] has quit [Client closed the connection]
21:21 Emu [Emu@7D8456.A943BA.FB3BDD.D37BA4] has joined #code
21:26 Derakon [chriswei@Nightstar-a3b183ae.ca.comcast.net] has quit [Ping timeout: 121 seconds]
21:26 Derakon[AFK] [Derakon@Nightstar-a3b183ae.ca.comcast.net] has quit [Ping timeout: 121 seconds]
21:27 Derakon [chriswei@Nightstar-a3b183ae.ca.comcast.net] has joined #code
21:27 Derakon[AFK] [Derakon@Nightstar-a3b183ae.ca.comcast.net] has joined #code
21:47 Emu [Emu@7D8456.A943BA.FB3BDD.D37BA4] has quit [Ping timeout: 121 seconds]
21:48 Emu [Emu@7D8456.A943BA.FB3BDD.D37BA4] has joined #code
21:50 Maze is now known as EvilDarkLord
21:52 Emu [Emu@7D8456.A943BA.FB3BDD.D37BA4] has quit [Ping timeout: 121 seconds]
21:53 Emu [Emu@7D8456.A943BA.FB3BDD.D37BA4] has joined #code
21:54 RichyB [richardb@Nightstar-3b2c2db2.bethere.co.uk] has quit [[NS] Quit: Leaving]
22:03 Derakon [chriswei@Nightstar-a3b183ae.ca.comcast.net] has quit [[NS] Quit: Lost terminal]
22:15
< AnnoDomini>
It's kinda weird to be doing graphics in a piece of software 10 years old. Because I could never find anything better than Macromedia Flash 5.
22:17
<&McMartin>
Heh
22:17
<&McMartin>
This is one reason people kept Amiga emulators around
22:18 * AnnoDomini runs it in VirtualBox because Linux.
22:18
< Reiv>
AnnoDomini: I assume Flash 6 went and made things Bad And Wrong?
22:20
< AnnoDomini>
I seem to recall it doing that. It added a nice thing (skewing) but fucked up the interface somehow.
22:29
< AnnoDomini>
Flash 5 is like an advanced Paint for vector graphics. It can sorta do raster too, if you really need to. And animations, but that's not what I normally use it for. :V
22:30 * McMartin pokes
22:30
<&McMartin>
Oh hey, I do still have my old lightwave objects.
22:32 Derakon [chriswei@Nightstar-a3b183ae.ca.comcast.net] has joined #code
22:32 mode/#code [+ao Derakon Derakon] by ChanServ
22:32
<&Derakon>
Sorry, I dropped off there. Anything interesting happen?
22:32
<&McMartin>
Just some reminiscing about Flash 5
22:33
<&Derakon>
Okeyden.
23:02 Emu [Emu@7D8456.A943BA.FB3BDD.D37BA4] has quit [Ping timeout: 121 seconds]
23:07 Emu [Emu@7D8456.A943BA.FB3BDD.D37BA4] has joined #code
23:49 Emu [Emu@7D8456.A943BA.FB3BDD.D37BA4] has quit [Connection closed]
--- Log closed Wed Oct 03 00:00:12 2012
code logs -> 2012 -> Tue, 02 Oct 2012< code.20121001.log - code.20121003.log >

[ Latest log file ]