Tue Sep 1 04:28:49 2009
[dgd]
Sorressean@Falcon: I'm just asking why input checking is so minimal. I like this a lot better. It's a lot better than that bloated peace of junk you try to market as a lib, anyway.
Tue Sep 1 04:30:16 2009
[dgd]
Sorressean@Falcon: Gurba's got a few issues here and there, but it's pretty clean.
Tue Sep 1 04:41:05 2009
[dgd]
Sorressean@Falcon: what. not liking anything comes from not wanting to use a lib that looks like you tried to cram everything in it? as I said, I'm happy with this lib. Got a cool maintainer, and it's barebones, which is what I like.
Tue Sep 1 04:41:30 2009
[dgd]
Cratylus@Dead Souls Dev: my apologies, i misinterpreted your statements for a complaint
Tue Sep 1 04:42:11 2009
[dgd]
Sorressean@Falcon: Retorical question. there's not a ton of stuff that really needs fixing. I won't ever find a lib that's "perfect," so I just fix what I don't like here and am chill with the rest.
Tue Sep 1 04:43:16 2009
[dgd]
Sorressean@Falcon: glad you agree. I can now sleep better tonight with that thought.
Tue Sep 1 04:55:47 2009
[dgd]
Sorressean@Falcon: I've got a mapping of channel,flag. I'm trying to remove with something like channels-=channels[name], which doesn't seem to work. there another way to do it?
Tue Sep 1 05:05:08 2009
[dgd]
Sorressean@Falcon: so that didn't work. it removed the wrong mapping index. :(
Tue Sep 1 05:41:53 2009
[dgd]
Quixadhal@Bloodlines: Heh, don't be too hard on Dead Souls. It's not fat, it's big boned! *grin*
Tue Sep 1 05:43:12 2009
[dgd]
Quixadhal@Bloodlines: Besides... you could be using 2.4.5... that's "simple"
Tue Sep 1 05:44:32 2009
[dgd]
Quixadhal@Bloodlines: What's useless to you is an example implementation to others.
Tue Sep 1 05:44:50 2009
[dgd]
Sorressean@Falcon: sure, but there were things that needed lots and lots of um... help
Tue Sep 1 05:45:26 2009
[dgd]
Sorressean@Falcon: last I seen combat it looked like well... bad. it relied on like 15 other modules which relied on 10 more, and the list goes on. altering it was rough.
Tue Sep 1 05:46:34 2009
[dgd]
Quixadhal@Bloodlines: Sure, but that doesn't make it useless. You could have no combat of any kind and then let people who aren't familiar with LPC wonder how in the hell you'd even TRY to build a combat system.
Tue Sep 1 05:47:23 2009
[dgd]
Cratylus@Dead Souls Dev: afaict i hurt Sorressean's feelings a while back
Tue Sep 1 05:47:41 2009
[dgd]
Cratylus@Dead Souls Dev: he showed up with a drunk friend and forced me to ban their mud from intermud
Tue Sep 1 05:47:51 2009
[dgd]
Sorressean@Falcon: let them build off of systems rather than make it brain damage to try to be creative and deviate from what is already there. I like that approach better. Then if they decide they don't want magic, they just remove it and it's done with. Doesn't take rewriting the whole lib to get rid of it.
Tue Sep 1 05:49:27 2009
[dgd]
Quixadhal@Bloodlines: So, what you're really complaining about is the fact that DS isn't fully documented, and that many of its systems rely on each others existence?
Tue Sep 1 05:50:31 2009
[dgd]
Sorressean@Falcon: not really documentation, just that everything is so tightly interwoven. It's like your supposed to just build on top of the pre-existing code and sorta hack and slash your way through to something that you want.
Tue Sep 1 05:51:49 2009
[dgd]
Quixadhal@Bloodlines: I feel the same way about .NET, MFC, and in many ways, STL and even libc. :)
Tue Sep 1 05:53:05 2009
[dgd]
Cratylus@Dead Souls Dev: the other thing is that Sorressean is really a very impatient person
Tue Sep 1 05:53:19 2009
[dgd]
Cratylus@Dead Souls Dev: and for ds you really have to be willing to read through the docs and faqs
Tue Sep 1 05:53:23 2009
[dgd]
Sorressean@Falcon: and your not really altering it to do what you want. It's just something providing a medium in which you can complete a task. altering something like ds is way worse. Anyway, The only reason it got brought up is cause crat jumped to some stupid assumptions.
Tue Sep 1 05:53:50 2009
[dgd]
Quixadhal@Bloodlines: Try writing a C++ program and you quickly realize that you can't really just use std::string, because every stinking OS call will force you to convert back to char *'s.
Tue Sep 1 05:53:59 2009
[dgd]
Sorressean@Falcon: I love how your giving me a psychology report, when will I see my bill in the mail, crat?
Tue Sep 1 05:54:36 2009
[dgd]
Quixadhal@Bloodlines: It seems trivial, until your code gets large enough and has a few dozen hands touching it.
Tue Sep 1 05:55:38 2009
[dgd]
Sorressean@Falcon: heh. There's not really a compromize for that though. I can see what your saying, but it's just something that has to happen if you plan on using std::string. but adding .c_str() to the end of vars when you pass them to funcs isn't that big of an issue. Or you could just write a conversion macro or... something.
Tue Sep 1 05:56:52 2009
[dgd]
Cratylus@Dead Souls Dev: i'll let the channel hist address that one ;)
Tue Sep 1 05:57:21 2009
[dgd]
Sorressean@Falcon: I asked about the lack of input validation. In no way was I complaining.
Tue Sep 1 05:57:28 2009
[dgd]
Quixadhal@Bloodlines: I just reject the "one size fits all" mentality that says one mudlib is the "right way". I'm overjoyed that there's more than one poor soul out there working on public releases.
Tue Sep 1 05:57:31 2009
[dgd]
Cratylus@Dead Souls Dev: one of the problems Sorressean had with me is that he'd ask a ds
Tue Sep 1 05:58:33 2009
[dgd]
Sorressean@Falcon nods. that's something I pointed out. I just figured I'd comment on his library suckage for the fact that everything is interwoven. and you always answered with faqs. some of which were helpfull, most of which didn't really address the issue.
Tue Sep 1 05:58:59 2009
[dgd]
Sorressean@Falcon: and um... the reader can go to aname tags, it's not a "configuration" issue.
Tue Sep 1 05:59:06 2009
[dgd]
Quixadhal@Bloodlines: Yeah, I too have the bad habit of not sitting down and reading before I dive in... I blame google. Before google, I had no problem printing out a 200 page document and sitting down in a comfy chair with it.
Tue Sep 1 05:59:29 2009
[dgd]
Sorressean@Falcon: anyway, you seem to be getting rather defensive about your lib. I'll stop if it makes you that insecure. I need to crash anyway. Peace!
Tue Sep 1 05:59:44 2009
[dgd]
Cratylus@Dead Souls Dev: i dont think i've mentioned it except to discuss the docs, Sorressean
Tue Sep 1 05:59:54 2009
[dgd]
Quixadhal@Bloodlines: Now, it seems like "work", which is a shame... since sitting in a comfy chair and reading is much easier on the eyes than staring at a monitor all day.
Tue Sep 1 05:59:56 2009
[dgd]
Cratylus@Dead Souls Dev: which i have to say are extensive and helpful
Tue Sep 1 06:00:42 2009
[dgd]
Sorressean@Falcon: I don't have issues reading. I do plenty now, though printing out a 200 page doc would end up being like 50 volumes in braille. As long as I have a big cart, I guess the chair would be an option. :p
Tue Sep 1 06:01:29 2009
[dgd]
Sorressean@Falcon: I would much prefer to read manuals in braille though, over some monotone voice.
Tue Sep 1 06:02:14 2009
[dgd]
Quixadhal@Bloodlines: True enough. A monotone voice would remind me of too many lecture halls. *grin*
Tue Sep 1 06:02:37 2009
[dgd]
Sorressean@Falcon: hahaha. yeah. it's not bad, I'd just prefer solid reading materials. and um, now I know what?
Tue Sep 1 06:03:07 2009
[dgd]
Sorressean@Falcon: I got lucky to get a cool IT/CCNA class. Lectures weren't to bad
Tue Sep 1 06:03:49 2009
[dgd]
Quixadhal@Bloodlines: Some of mine were good, but I had my share of the big lecture halls too.
Tue Sep 1 06:04:41 2009
[dgd]
Sorressean@Falcon: I'm easily distracted. I blame the hot chicks in the back of math class for bad math grades in there. :p
Tue Sep 1 06:06:08 2009
[dgd]
Quixadhal@Bloodlines: Heh. I can't imagine classes nowadays, with wireless access and laptops actually being encouraged in class.
Tue Sep 1 06:06:29 2009
[dgd]
Quixadhal@Bloodlines: I would have spent ALL my time coding my Diku, rather than just half of it.
Tue Sep 1 06:06:46 2009
[dgd]
Sorressean@Falcon: hahaha. There is that, too. I spent 90% of my IT and CCNA 1 classes mudding. Still passed with an A+ though, so apparently I did something right on the final
Tue Sep 1 06:09:10 2009
[dgd]
Sorressean@Falcon: not that IT was particularly hard, though. Only thing I messed up was printer stuff, but I don't tend to need to use ink printers much.
Tue Sep 1 06:10:35 2009
[dgd]
Quixadhal@Bloodlines: Heh, my cat seems to think his breath should smell more like cat food (in other words, I'm late feeding him). Take it easy guys!
Tue Sep 1 06:10:37 2009
[dgd]
Sorressean@Falcon: anyway, I'm out. hunting hella early in the morning. :( peace!
Tue Sep 1 06:36:29 2009
[dgd]
Aidil@GurbaDev2: I suggest both Cratylus and Sorressean take their issues somewhere else then this channel.
Tue Sep 1 12:03:59 2009
[dgd]
Sorressean@Falcon: going to have more patches ready for you later on. going hunting soon, but I added stuff to the channel daemon
Tue Sep 1 12:04:57 2009
[dgd]
Sorressean@Falcon: some of it was just trivial input validation, but channel removal seemed a nice one.
Tue Sep 1 12:06:15 2009
[dgd]
Aidil@Way of the Force: what do you mean by trivial input validation :)
Tue Sep 1 12:06:30 2009
[dgd]
Sorressean@Falcon: kinda sorta thought about adding a sort of intermud ignore thingy too, but there wasn't enough coffee left to physilitate that.
Tue Sep 1 12:07:10 2009
[dgd]
Sorressean@Falcon: I dunno if you just put it somewhere else, but when I code I have input validation checks like crazy. if (!arg), things like that to make sure that the function gets valid, reasonable values.
Tue Sep 1 12:08:04 2009
[dgd]
Aidil@Way of the Force: only for functions that get user input normally.
Tue Sep 1 12:09:00 2009
[dgd]
Aidil@Way of the Force: argcheck is meant for checking function arguments. it doesn't really check user input.
Tue Sep 1 12:09:19 2009
[dgd]
Sorressean@Falcon: and yeah. But a coder evaling stuff might scrue up too. So I do input checks there. Not on lower intermediate functions really, but on the ones that are going to be called by the coder or by a command. I guess it's just an issue with code I have. Spent to much time tracking down exploits because of lack of validation.
Tue Sep 1 12:09:47 2009
[dgd]
Aidil@Way of the Force: the issue is that adding such checks everywhere is really making things more expensive.
Tue Sep 1 12:10:36 2009
[dgd]
Aidil@Way of the Force: but yeah, I see what you mean. It can be useful.
Tue Sep 1 12:11:17 2009
[dgd]
Sorressean@Falcon: well, scratch the trivial input validation then. just chan removal. and yeah, I can see where that would be an issue.
Tue Sep 1 12:11:24 2009
[dgd]
Aidil@Way of the Force: ie, function that gets called by commands, commands should validate their output themselves.
Tue Sep 1 12:12:13 2009
[dgd]
Aidil@Way of the Force: but.. things often called with eval.. in that case it could help a lot.
Tue Sep 1 12:12:47 2009
[dgd]
Sorressean@Falcon: that's all I was validating really. shouldn't need to validate everything beyond that point, if one function already has checks.
Tue Sep 1 12:13:02 2009
[dgd]
Aidil@Way of the Force: but at any rate, just making a general argument, I'll obviously check the patches and if the checks make sense, or aren't introducing a lot of overhead, I see no prob with them :)
Tue Sep 1 12:13:17 2009
[dgd]
Sorressean@Falcon: gotta go, anyway. and werd. I'll send in the patch later. peace
Tue Sep 1 12:13:51 2009
[dgd]
Sorressean@Falcon hopes to kill something. jerky sounds hella good. :p
Tue Sep 1 12:14:35 2009
[dgd]
Aidil@Way of the Force: btw, a kind request. Could you and Cratylus leave eachother alone on this channel unless you have something nice and positive to say to eachother?
Tue Sep 1 12:15:46 2009
[dgd]
Aidil@Way of the Force: we really have no need for people telling someone who spends a lot of time on his lib that his work is crap, at least not on this channel, just as we have no need for people repeating their analysis of someone elses psyche here :P
Wed Sep 2 00:25:48 2009
[dgd]
Sorressean@Falcon: coin.c seems to be a mix between a sign and a pile of coins. :p
Wed Sep 2 09:13:30 2009
[dgd]
Aidil@GurbaDev2: Cerihan had it on his todo list, but no news from him about that for quite some time now.
Wed Sep 2 16:57:46 2009
[dgd]
Raudhrskal@Dead Souls Dev: I seriously doubt it was removed from dgd... tho... not sure.
Wed Sep 2 16:58:39 2009
[dgd]
Raudhrskal@Dead Souls Dev: Tho the one who does that w/o using parentheses shall be mercilessly tortured.
Wed Sep 2 16:59:43 2009
[dgd]
Raudhrskal@Dead Souls Dev: a ? b ? c : d ? e ? f : g : h : i would work, I think.
Wed Sep 2 17:00:14 2009
[dgd]
Sorressean@Falcon: wow. scrue that, I'll just nest my if statements if it gets to that point. :p
Wed Sep 2 17:00:31 2009
[dgd]
Sorressean@Falcon: only time I use turnery is for plural stuff. user vs users sorta thing
Wed Sep 2 17:01:14 2009
[dgd]
Raudhrskal@Dead Souls Dev: Actually... it was. good. (a ? (b ? c : (d ? (e ? f : g) : h)) : i) . But that quite shows the problem, doesn't it?
Wed Sep 2 17:03:48 2009
[dgd]
Sorressean@Falcon: write(MUD_NAME + " currently has " + sizeof(usr)+(sizeof(usr)==1?" user ":" users ")+"online.");
Wed Sep 2 17:04:12 2009
[dgd]
Sorressean@Falcon: irritates the hell out of me when I see 1 users online. :p
Wed Sep 2 17:05:19 2009
[dgd]
Kalinash@Fire and Ice: write(MUD_NAME + " currently has " + sizeof(usr) + " user" + (sizeof(usr) > 1 ? "s" : "") + " online.");
Wed Sep 2 17:06:28 2009
[dgd]
Sorressean@Falcon: looks the same as mine, xcept he just appends the s.
Wed Sep 2 17:07:06 2009
[dgd]
Sorressean@Falcon: heh. whitespace really doesn't matter to the blind dude. Though I should probably run astyle on my code sometime. :p
Wed Sep 2 17:08:54 2009
[dgd]
Kalinash@Fire and Ice: although it's too bad that the aesthetic value of well structured code is lost to you :(
Wed Sep 2 17:09:46 2009
[dgd]
Sorressean@Falcon: hahaha. It's beyond lost to me. My code looks mangled formatting wise.
Wed Sep 2 17:10:06 2009
[dgd]
Sorressean@Falcon: I've never really seen the use in indenting. I just get way confused
Wed Sep 2 17:11:49 2009
[dgd]
Raudhrskal@Dead Souls Dev: It could be worse. You could have to write python or haskell.
Wed Sep 2 17:12:33 2009
[dgd]
Sorressean@Falcon: but... I can't really bring myself to indent code beyond python. to time consuming to make sure everything is indented right.
Wed Sep 2 17:14:00 2009
[dgd]
Kalinash@Fire and Ice: PERFORM READ-RECORD VARYING COUNT FROM 1 BY 1 UNTIL COUNT = MAX
Wed Sep 2 17:14:04 2009
[dgd]
Raudhrskal@Dead Souls Dev: Modern fortran and rpg have freeform modes too.
Wed Sep 2 17:14:28 2009
[dgd]
Kalinash@Fire and Ice: i did like how cobol reads... but the formatting restrictions were a pain
Wed Sep 2 17:14:52 2009
[dgd]
Raudhrskal@Dead Souls Dev: Well, just as lost commans in fortran's do loops.
Wed Sep 2 17:15:49 2009
[dgd]
Raudhrskal@Dead Souls Dev: speaking of which, gotta learn more fortran. I know basics of cobol already, but fortran - not really.
Wed Sep 2 17:16:26 2009
[dgd]
Raudhrskal@Dead Souls Dev: Unless you meant a hypothetical fortran for .net?
Wed Sep 2 17:16:32 2009
[dgd]
Kalinash@Fire and Ice: one functional language is the same as the next ;)
Wed Sep 2 17:17:14 2009
[dgd]
Raudhrskal@Dead Souls Dev: ML is most practical of those i know, but it's extremely ugly at the same time.
Wed Sep 2 17:20:20 2009
[dgd]
Kalinash@Fire and Ice: http://helloworldsite.he.funpic.de/hello.htm#Whitespace
Wed Sep 2 17:21:09 2009
[dgd]
Kalinash@Fire and Ice: http://helloworldsite.he.funpic.de/hello.htm#Malbolge
Wed Sep 2 17:21:18 2009
[dgd]
Kalinash@Fire and Ice: (=<`$9]7<5YXz7wT.3,+O/o'K%$H"'~D|#z@b=`{^Lx8%$Xmrkpohm-kNi;gsedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543s+O<oLm
Wed Sep 2 17:21:29 2009
[dgd]
Kalinash@Fire and Ice: i love how that language doesn't support comments :)
Wed Sep 2 17:22:20 2009
[dgd]
Raudhrskal@Dead Souls Dev: Remember that one where source code is image? Named after those crazy french painter... what was it...
Wed Sep 2 17:23:54 2009
[dgd]
Raudhrskal@Dead Souls Dev: OMG just got an evil idea... 80-column punch card lolcode...
Wed Sep 2 17:25:21 2009
[dgd]
Kalinash@Fire and Ice: Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Wed Sep 2 17:25:23 2009
[dgd]
Raudhrskal@Dead Souls Dev: Speaking of which, I think I'm late with library payments...
Wed Sep 2 17:25:41 2009
[dgd]
Kalinash@Fire and Ice: here we go... http://helloworldsite.he.funpic.de/hellopics/piet.png
Wed Sep 2 17:26:57 2009
[dgd]
Raudhrskal@Dead Souls Dev: http://99-bottles-of-beer.net/language-piet-1269.html
Wed Sep 2 17:27:49 2009
[dgd]
Kalinash@Fire and Ice: http://99-bottles-of-beer.net/language-whitespace-154.html
Wed Sep 2 17:28:09 2009
[dgd]
Kalinash@Fire and Ice: i want to code in whitespace... does gcc support it? :)
Wed Sep 2 17:29:54 2009
[dgd]
Raudhrskal@Dead Souls Dev: I hate myself. And I treat everybody else just like I treat myself.
Wed Sep 2 18:36:39 2009
[dgd]
Quixadhal@Bloodlines: http://www.codeproject.com/KB/net-languages/intro_fortran.aspx
Wed Sep 2 18:37:09 2009
[dgd]
Quixadhal@Bloodlines: Or if you have money to burn.... http://www.lahey.com/lf71/lf71.htm
Wed Sep 2 19:57:41 2009
[dgd]
Quixadhal@Bloodlines: define's a preprocessor command.... it doesn't care what's a reserved word or token.
Wed Sep 2 19:58:11 2009
[dgd]
Quixadhal@Bloodlines: Only thing it may check is parens for macro arguments perhaps.
Wed Sep 2 19:58:35 2009
[dgd]
Raudhrskal@Dead Souls Dev: Yeah, well... you can have math expressions in #if, so it must parse these a bit more.
Wed Sep 2 19:58:51 2009
[dgd]
Raudhrskal@Dead Souls Dev: But true, there's a possibility that it only checks parens and whitespace.
Wed Sep 2 20:00:34 2009
[dgd]
Quixadhal@Bloodlines: I bet good old cc would work... GNU probably checks to make sure everything's trim and proper to the Nth degree.
Wed Sep 2 20:01:17 2009
[dgd]
Raudhrskal@Dead Souls Dev: i _once_ got it to work, recently it died on glibc's stdio.h
Wed Sep 2 20:03:26 2009
[dgd]
Raudhrskal@Dead Souls Dev: i think I saw that one in one of IOCCC programs.
Wed Sep 2 20:05:06 2009
[dgd]
Silenus@Dead Souls Dev: problem is i dont know how to debug fluffos properly
Wed Sep 2 20:12:46 2009
[dgd]
Quixadhal@Bloodlines: oo_Oo_O OO_oO_oo_Oo(oo_Oo_O oO_oOo_OOo_OoOo, OoOo_oooo_oO_oOo **oO_oOo_OOo_oooO) { oOOo_oOo_oo_Oo_O_oo_o("Hello world.n"); oOo_o_O_ooO_oOo_Oo oOOOO; }
Wed Sep 2 20:13:19 2009
[dgd]
Raudhrskal@Dead Souls Dev: You could do #definne foo include then #foo <file> on old compilers, but not in gcc.
Wed Sep 2 22:38:46 2009
[dgd]
Sorressean@Falcon: well, perhaps someone else can help. I'd like to set up a couple things. First, I'd like to allow apartments to be rented, I'm not quite sure how I can do that. I could just set up the room and move the player to it when they go, which would work. But I need to be able to deduct rental fees. Can I do that without the player being on somehow? Last, I wanted to set up some sort of action to perform on a get. I'm going to just rewrite the currency, but I'd like it to add it to the player's cash and dest the object when it's picked up. Any ideas there?
Wed Sep 2 22:39:52 2009
[dgd]
Raudhrskal@Dead Souls Dev: Don't start with such ambitious projects, maybe?
Wed Sep 2 22:39:56 2009
[dgd]
Aidil@Way of the Force: well.. that is a lot of questions indeed, I'd rather start by splitting that up into a number of simpler things...
Wed Sep 2 22:40:45 2009
[dgd]
Sorressean@Falcon: lol. I know how to make the room, and I can save it in a domain rooms directory
Wed Sep 2 22:40:47 2009
[dgd]
Aidil@Way of the Force: just a rewrite of currency (which is quite needed) seems like a good starting point, and one that takes a fair amount of design itself. :)
Wed Sep 2 22:41:06 2009
[dgd]
Aidil@Way of the Force: yes, but that is not a very efficient way of doing that.
Wed Sep 2 22:41:47 2009
[dgd]
Aidil@Way of the Force: you definitely can go that way, and basicly have every apartment be a file in a domain dir, but I'd rather want to solve such a thing with a virtual room system.
Wed Sep 2 22:41:48 2009
[dgd]
Sorressean@Falcon: I could design it in terms of what I want, or I could design it in terms of what would help the lib and then work off of that. I notice that fudge seems to be confused as to whether he wanted a sign or a pile of money in std/coin.c
Wed Sep 2 22:41:54 2009
[dgd]
Silenus@Dead Souls Dev: well we had a long discussion about alternatives when it comes to cash
Wed Sep 2 22:42:44 2009
[dgd]
Aidil@Way of the Force: abeit a bit impractical, since the direction that took involved a complete redisign of the inventory system and much more.
Wed Sep 2 22:43:55 2009
[dgd]
Aidil@Way of the Force: actually, I think the end result of that discussion was that Cerihan was going to implement a simple, straigtforward single currency system.
Wed Sep 2 22:44:44 2009
[dgd]
Sorressean@Falcon: but currency shouldn't really take me that long to set up. I was going to assign values to the money. basically 1 gold = 100. 1 silver=1 1 plat=10 so then you could just divide things out.
Wed Sep 2 22:45:07 2009
[dgd]
Aidil@Way of the Force: but, for now, I'm not going to delve into currency or any such thing myself, I'll have to stop distracting myself from some kernel work that needs to be done.
Wed Sep 2 22:45:24 2009
[dgd]
Thingol@the Void: You could have a glance at std TMI-2 money system. I recoded some of it for fun sometime.
Wed Sep 2 22:45:40 2009
[dgd]
Silenus@Dead Souls Dev: we had some more outlandish proposals which aidil explained to us would be pretty impractical :P
Wed Sep 2 22:46:28 2009
[dgd]
Sorressean@Falcon: I think what I'll end up doing is writing my currency system after I look at TMI, then giving it to aidil. If he wants to include it, that's up to him.
Wed Sep 2 22:46:30 2009
[dgd]
Aidil@Way of the Force: btw, Sil, gurbalib may end up a lot more into the direction of those outlandish proposals then it is now :)
Wed Sep 2 22:46:40 2009
[dgd]
Silenus@Dead Souls Dev: i think the mapping type solution might be best
Wed Sep 2 22:46:57 2009
[dgd]
Silenus@Dead Souls Dev: it's the easiest to implement and most practical :P
Wed Sep 2 22:47:08 2009
[dgd]
Aidil@Way of the Force: I've reworked things such on my development copy that there are no external references to the complete inventory array used anywhere anymore :)
Wed Sep 2 22:47:39 2009
[dgd]
Silenus@Dead Souls Dev: how about that crazy uber slow handle idea? :P
Wed Sep 2 22:48:00 2009
[dgd]
Aidil@Way of the Force: everything either calls the container class, or uses the inventory one item at a time (which it gets from the container class)
Wed Sep 2 22:48:17 2009
[dgd]
Aidil@Way of the Force: but for now, thats not in svn. still playing with it and seeing what the performance impact is.
Wed Sep 2 22:48:27 2009
[dgd]
Sorressean@Falcon: why would it have to be part of the inventory? It could show up when they use the inventory command, but it could just stay part of the mapping. Could just write a transfer verb to let people transfer money back and forth.
Wed Sep 2 22:48:56 2009
[dgd]
Aidil@Way of the Force: first impression is that it is more expensive on the current 'mainstream' versions of dgd, but a fair bit less expensive for the mp version of dgd.
Wed Sep 2 22:49:09 2009
[dgd]
Sorressean@Falcon: mobs could just spawn a coin object that would dest when picked up out of the corpse, and transfer the money saved on that to the player.
Wed Sep 2 22:51:15 2009
[dgd]
Aidil@Way of the Force: I didn't put too much thought into a currency system yet, as said, Cerihan was going to implement that, but he sortof fell of the edge of the earth or something :)
Wed Sep 2 22:51:45 2009
[dgd]
Aidil@Way of the Force: all I can say is that the money object seems a workable solution :)
Wed Sep 2 22:51:47 2009
[dgd]
Silenus@Dead Souls Dev: i guess if you can refer to inventory indirectly
Wed Sep 2 22:52:22 2009
[dgd]
Aidil@Way of the Force: sil, keep in mind that, as it is, everything in the inv MUST be a real object still.
Wed Sep 2 22:52:38 2009
[dgd]
Sorressean@Falcon: well... I can code it for me on this end. I'd rather not wait for people to implament things. It's something I'd like to get going, and it's what a lot would depend on, so it would be a bases for productivity for me. If it's something you might accept, I can code it for flexability so people could add or remove currencies as they wished. If not, I can just code it to fit my needs.
Wed Sep 2 22:52:52 2009
[dgd]
Aidil@Way of the Force: but you can arrange the inventory in many interesting ways, including having multiple indices and such.
Wed Sep 2 22:53:12 2009
[dgd]
Silenus@Dead Souls Dev: i.e. so that all relevant containers have the mapping
Wed Sep 2 22:56:37 2009
[dgd]
Sorressean@Falcon: so you would put the mapping on the corpse? adding it to *everything* seems kind of intensive, though adding it to a container would be cool. would allow for you to store cash in boxes or whatever.
Wed Sep 2 22:56:39 2009
[dgd]
Aidil@Way of the Force: but, using objects has one big implementation advantage.
Wed Sep 2 22:56:42 2009
[dgd]
Aidil@Way of the Force: it enables '3d positioning' without ending up with complex nested mappings for it :)
Wed Sep 2 22:56:44 2009
[dgd]
Aidil@Way of the Force: no, Soressean, you'd add them to /std/container.c
Wed Sep 2 22:56:47 2009
[dgd]
Aidil@Way of the Force: so everything that can be a container automatically has them.
Wed Sep 2 22:56:55 2009
[dgd]
Aidil@Way of the Force: but consider this (gurbalib doesn't have this, yet, way of the force does tho)
Wed Sep 2 22:56:58 2009
[dgd]
Sorressean@Falcon: that'd work too, but adding them to containers means you can put money in backpacks and stuff, and you could grab it from the corpses which should inherit container.
Wed Sep 2 22:57:05 2009
[dgd]
Aidil@Way of the Force: on here, every object that is in a container (everything here is a container) has x,y and z coordinates inside that inv.
Wed Sep 2 22:57:27 2009
[dgd]
Aidil@Way of the Force: now, instead of storing a grid in the container, those coordinates are properties of the objects in it.
Wed Sep 2 22:58:05 2009
[dgd]
Sorressean@Falcon: where's the advantage of making *everything* a container? then you have issues of someone storing a boat in their sword or... something.
Wed Sep 2 22:58:08 2009
[dgd]
Silenus@Dead Souls Dev: are you planning to implement spatial searches?
Wed Sep 2 22:59:01 2009
[dgd]
Aidil@Way of the Force: Sorressean, that everything is a container in the code sense, does not mean everything allows putting stuff in it.
Wed Sep 2 22:59:54 2009
[dgd]
Aidil@Way of the Force: way of the force has that, sil, but it is only used for space.
Wed Sep 2 23:00:22 2009
[dgd]
Sorressean@Falcon: I guess the question was what benafit you gain from everything being a container. sounds kind of cool, was just wondering what the idea behind it was.
Wed Sep 2 23:00:24 2009
[dgd]
Aidil@Way of the Force: however, the consequence of this design is that everything can float in space.
Wed Sep 2 23:01:46 2009
[dgd]
Aidil@Way of the Force: Sorressean, it is a leftover of how things were done in most traditional lpmud libs.
Wed Sep 2 23:02:39 2009
[dgd]
Silenus@Dead Souls Dev: what data structure did you use for spatial searches?
Wed Sep 2 23:03:06 2009
[dgd]
Aidil@Way of the Force: it does not serve a specific purpose or anything, other then that in the early 90s, it was probably more efficient to do the inventory handling in the driver instead of in the lib, and, early lpc versions did not actually have array support, so you could not implement it in lpc easily.
Wed Sep 2 23:05:08 2009
[dgd]
Silenus@Dead Souls Dev: though i do wonder if it's worthwhile doing elaborate data structure work in LPC
Wed Sep 2 23:05:37 2009
[dgd]
Silenus@Dead Souls Dev: in C/C++ the speed gains can be quite large. i guess in LPC it might depend on the situation
Wed Sep 2 23:05:52 2009
[dgd]
Aidil@Way of the Force: spatial searches? the only 'data structure' is an inventory mapping. Scope of searches is limited by means of sector objects, which are a dynamic sortof bounding 'sphere'.
Wed Sep 2 23:06:58 2009
[dgd]
Silenus@Dead Souls Dev: just curious if you were doing some of those computational geometry tricks they might use in 3D games or in large spatials dbs
Wed Sep 2 23:07:20 2009
[dgd]
Aidil@Way of the Force: sector objects are only created when an inventory contains more then (iirc) 500 objects.
Wed Sep 2 23:08:03 2009
[dgd]
Aidil@Way of the Force: the most important thing is being able to calculate distance.
Wed Sep 2 23:08:18 2009
[dgd]
Aidil@Way of the Force: I spent a fair bit of time on getting that fast enough :)
Wed Sep 2 23:08:46 2009
[dgd]
Silenus@Dead Souls Dev: there are standard algorithms like R* R+ trees and such
Wed Sep 2 23:08:56 2009
[dgd]
Aidil@Way of the Force: everything else is in lpc a matter of keeping your active working set relatively small.
Wed Sep 2 23:10:13 2009
[dgd]
Aidil@Way of the Force: well, for 'space' where you have no upper bounds on how much things can exist in theory, datastructures that do cpu/space tradeoff with a bias to space use are usually a bad idea.
Wed Sep 2 23:11:12 2009
[dgd]
Aidil@Way of the Force: and even more so in lpc, unless you can very easily chop them up into small bits that have no direct interaction with the rest.
Wed Sep 2 23:12:11 2009
[dgd]
Aidil@Way of the Force: because it means small mappings and arrays, and few reallocations due to array resizing (and cheap ones for that)
Wed Sep 2 23:13:48 2009
[dgd]
Sorressean@Falcon: is there some docs on the dgd driver? I didn't see much relaly. just how things work internally and all that
Wed Sep 2 23:13:58 2009
[dgd]
Aidil@Way of the Force: besides, with a potentially infinite number of objects, there is no way to properly size your data structures.
Wed Sep 2 23:14:17 2009
[dgd]
Aidil@Way of the Force: there is the mailinglist and its archives, it contains pointers to some other sites also.
Wed Sep 2 23:14:35 2009
[dgd]
Aidil@Way of the Force: beyond that.. you can try to pick Dworkin's or my brain :)
Wed Sep 2 23:15:39 2009
[dgd]
Sorressean@Falcon: I'll look for the mailing list thing. I'm just curious to read some on it. digging through mailing list archives for tidbits of info makes my brain hurt.
Wed Sep 2 23:16:32 2009
[dgd]
Silenus@Dead Souls Dev: i think time to go back and finish my compiler project
Wed Sep 2 23:16:50 2009
[dgd]
Aidil@Way of the Force: well, it is the best source of information beyond the source :)
Wed Sep 2 23:17:06 2009
[dgd]
Silenus@Dead Souls Dev: tried hacking some simple stuff into fluffos but really dont understand it well enough to do anything sophisticated
Wed Sep 2 23:17:42 2009
[dgd]
Silenus@Dead Souls Dev: if wodan moves hthe project to C++ though there are a few things i would like to try
Wed Sep 2 23:18:17 2009
[dgd]
Silenus@Dead Souls Dev: it's pretty clean if a bit succinct in terms of variable names
Wed Sep 2 23:18:48 2009
[dgd]
Aidil@Way of the Force: tho it does probably help a lot to read up about its design and design goals before doing that :)
Wed Sep 2 23:19:19 2009
[dgd]
Silenus@Dead Souls Dev: *nod* alot of the important discussions i think use to be summarized on some of the sites
Wed Sep 2 23:19:43 2009
[dgd]
Silenus@Dead Souls Dev: i.e. from information gleaned from the mailing lists
Wed Sep 2 23:20:00 2009
[dgd]
Sorressean@Falcon: Well, unless I'm writing it for history class. then most important information is left out
Wed Sep 2 23:20:05 2009
[dgd]
Aidil@Way of the Force: if only because it answers half of the 'why in the universe did Dworkin it in the way it is'
Wed Sep 2 23:20:21 2009
[dgd]
Aidil@Way of the Force: the other half is usually answered by 'because he is a stubborn person who does things the way he does' :)
Wed Sep 2 23:21:44 2009
[dgd]
Silenus@Dead Souls Dev: dgd is probably the most sophisticated lpmud driver internally
Wed Sep 2 23:22:10 2009
[dgd]
Aidil@Way of the Force: anyway, besides the mailinglist, the phantasmal website is a useful place to look for information, there is also a dgd wiki, it is old but many things are still relevant :)
Wed Sep 2 23:22:18 2009
[dgd]
Sorressean@Falcon: yeah. it looks pretty cool. I never seemed to get along with fluff
Wed Sep 2 23:22:54 2009
[dgd]
Silenus@Dead Souls Dev: fluffos could use some hacking to improve it probably
Wed Sep 2 23:23:00 2009
[dgd]
Sorressean@Falcon: only other best thing is just written from scratch in like c++ or something.
Wed Sep 2 23:23:45 2009
[dgd]
Silenus@Dead Souls Dev: well writing something comparable to dgd in C++ especially the mp version probably = years of work.
Wed Sep 2 23:24:12 2009
[dgd]
Sorressean@Falcon: um. just writing your mud in c++. not a driver is what I was refering to.
Wed Sep 2 23:24:44 2009
[dgd]
Silenus@Dead Souls Dev: doing the same for fluffos is comparatively simpler
Wed Sep 2 23:25:01 2009
[dgd]
Silenus@Dead Souls Dev: i think zod is currently quite far along in making a fluffos clone system in java
Wed Sep 2 23:26:00 2009
[dgd]
Silenus@Dead Souls Dev: i was considering doing something similar in C++ for a while
Wed Sep 2 23:26:52 2009
[dgd]
Silenus@Dead Souls Dev: but lost interest in it when i noticed that tagged types + call_other and heavily overloaded operators equates to alot of inefficiency for my JIT scheme
Wed Sep 2 23:27:46 2009
[dgd]
Silenus@Dead Souls Dev: i couldnt figure out how to simplify the code generated by the system.
Wed Sep 2 23:28:52 2009
[dgd]
Silenus@Dead Souls Dev: but yeah you could develop a mud in C++ if you are willing to forgo some of the protections LPC affords.
Wed Sep 2 23:29:31 2009
[dgd]
Sorressean@Falcon: I wish I had the pacients to start totally from scratch
Wed Sep 2 23:29:42 2009
[dgd]
Sorressean@Falcon: there was nakedmud that I started using, but that's a joke.
Wed Sep 2 23:30:10 2009
[dgd]
Silenus@Dead Souls Dev: it's probably easier and you probably will get better results IMHO
Wed Sep 2 23:31:38 2009
[dgd]
Silenus@Dead Souls Dev: doing it in C++ is even harder and you cannot have multiple wizards working together on code bits
Wed Sep 2 23:32:00 2009
[dgd]
Sorressean@Falcon: I haven't managed to recruit someone I trust, but you can have people working together... there's svn.
Wed Sep 2 23:38:06 2009
[dgd]
Aidil@Way of the Force: I am working with Noah Gibbs on a project to allow gurbalib to function as game server in his railsgame project.
Wed Sep 2 23:40:02 2009
[dgd]
Aidil@Way of the Force: its what /daemons/serialize/json.c is for, and another reason why I have to finish some kernel stuff :)
Wed Sep 2 23:40:29 2009
[dgd]
Sorressean@Falcon: I was looking for info on it. they just tell you that it exists, but don't actually give you anything related to it working.
Wed Sep 2 23:40:32 2009
[dgd]
Aidil@Way of the Force: anyway :) really going to catch some sleep now.
Wed Sep 2 23:47:55 2009
[dgd]
Sorressean@Falcon: o_o. I found language specific docs. I'm in love now
Wed Sep 2 23:53:02 2009
[dgd]
Quixadhal@Bloodlines: Just as a note from a few screens up... money wouldn't HAVE to be part of the normal inventory, but it needs to be referenced by the inventory system. If you want a realistic game, you may want coins to have weight, and you really don't want your combat system to have to check multiple spots to figure out how much you're carrying.
Thu Sep 3 00:04:51 2009
[dgd]
Silenus@Dead Souls Dev: i suppose you could just propagate the mass upwards as things enter inventory so you only need to do the calculations once. i guess the efficiency of this would depend on how often objects enter inventory (and how deep) versus how often the mass is checked
Fri Sep 4 16:06:59 2009
[dgd]
Aidil@Way of the Force: so... my webbrowser has a memory footprint of 1.2g
Fri Sep 4 16:07:03 2009
[dgd]
Aidil@Way of the Force puts his fingers to his lips and goes: blblblblblblblblblbl.
Fri Sep 4 16:43:45 2009
[dgd]
Silenus@Dead Souls Dev: i remember having a version of firefox which after 8 hours or so would use 1.x g of ram and if i killed it and reloaded it would be back to normal.
Fri Sep 4 16:44:14 2009
[dgd]
Aidil@Way of the Force: possibly, but its memory footprint seems to be huge at startup already, and depending on available memory.
Fri Sep 4 21:24:09 2009
[dgd]
Sorressean@Falcon: you know, hiding behind people really doesn't work against the blind dude. :p
Fri Sep 4 21:24:55 2009
[dgd]
Sorressean@Falcon: quick did say you smelled funny though, there is that
Fri Sep 4 21:24:58 2009
[dgd]
Quixadhal@Bloodlines throws a bag of cowbells over in the corner of the room.
Fri Sep 4 21:25:38 2009
[dgd]
Aidil@Way of the Force: and yes I know :) I'm not blind but I am visually impaired, which has given me this nice training of my hearing.. :)
Fri Sep 4 21:26:17 2009
[dgd]
Aidil@Way of the Force: being able to do somewhat limited echo location as a human gets you some funny responses :)
Fri Sep 4 21:26:44 2009
[dgd]
Sorressean@Falcon: so like... I was coding last night, and I found a problem. I want to add commands to weapons, so they're activated when the player uses them. like techs of a sort. any possible way to do this? so when the player wields something in his/her right hand, they can use rs to strike, rt to stab, etc. and hahaha. I love walking around clicking
Fri Sep 4 21:27:03 2009
[dgd]
Quixadhal@Bloodlines clicks his ultrasonic remote at Aidil and laughs as he ducks.
Fri Sep 4 21:27:25 2009
[dgd]
Aidil@Way of the Force: yes, but you will have to make verbs for those commands.
Fri Sep 4 21:27:43 2009
[dgd]
Aidil@Way of the Force: first, it is the only way that is supported currently.
Fri Sep 4 21:28:06 2009
[dgd]
Aidil@Way of the Force: second, that is the only way to make it work with all weapons that would support such things.
Fri Sep 4 21:28:24 2009
[dgd]
Sorressean@Falcon: werd. so, how would the verb work? I've not used them before. if I were to define the verb on the weapon... is that how that works?
Fri Sep 4 21:28:27 2009
[dgd]
Quixadhal@Bloodlines: verbs are good, add_action is evil. Nobody really enjoys playing "Guess the verb", unless you're on Wheel of Fortune or something.
Fri Sep 4 21:28:57 2009
[dgd]
Aidil@Way of the Force: a general bit of explanation is in man verb_parsing
Fri Sep 4 21:29:10 2009
[dgd]
Quixadhal@Bloodlines: I don't know the details, but you define the verb globally, and then you make the weapon respond to it.
Fri Sep 4 21:29:37 2009
[dgd]
Sorressean@Falcon: um. each weap will have diff techs. I can't just define all verbs global. :(
Fri Sep 4 21:29:47 2009
[dgd]
Quixadhal@Bloodlines: Thus, all things that can be pushed, all work with the same set of push, shove, etc...
Fri Sep 4 21:30:30 2009
[dgd]
Aidil@Way of the Force: you can define them globally and still only have them work on weapons on which they have to work.
Fri Sep 4 21:30:38 2009
[dgd]
Quixadhal@Bloodlines: Sure you can, you just only make the weapons that will respond to "guttwist" recognize it.
Fri Sep 4 21:31:34 2009
[dgd]
Silenus@Dead Souls Dev: one thing i have been curious about is local verbs i guess in theory for some systems that maybe be possible too.
Fri Sep 4 21:32:05 2009
[dgd]
Aidil@Way of the Force: gurba is supposed to support those for rooms and objects as well.
Fri Sep 4 21:32:22 2009
[dgd]
Sorressean@Falcon: hmm. ok. how viable would it be to add commands to the weapon its self?
Fri Sep 4 21:32:40 2009
[dgd]
Aidil@Way of the Force: but for the moment, you should stay away from that since the code behind it is undergoing rewrite by nullinfinite.
Fri Sep 4 21:33:14 2009
[dgd]
Aidil@Way of the Force: currently, the only supported way is using verbs in /cmds/verb
Fri Sep 4 21:34:49 2009
[dgd]
Quixadhal@Bloodlines: Silenus, I assume by "local", you mean having a local version of "get" that overrides some global "get"? I believe there's a distinction between parsing and action. So, you always want "get" to parse the same way, but different interpreters (command, weapon, room, etc) might choose to call different functions.
Fri Sep 4 21:35:06 2009
[dgd]
Sorressean@Falcon: Is the parser built into the driver? or is it written in lpc. I could mod that to check for object commands.
Fri Sep 4 21:36:01 2009
[dgd]
Silenus@Dead Souls Dev: and quix you may be correct i am not sure if having custom verbs on objects = good idea or not.
Fri Sep 4 21:36:27 2009
[dgd]
Aidil@Way of the Force: it explains how gurbalib implements this, including pointing you to where it is implemented.
Go to the top | Channel Index

