#pentagram@irc.freenode.net logs for 20 Dec 2003 (GMT)

Archive Today Yesterday Tomorrow
Pentagram homepage


[00:06:52] <-- watt has left IRC (""Think I'll game for a while. bbl"")
[00:48:09] --> Kirben has joined #pentagram
[00:48:09] --- ChanServ gives channel operator status to Kirben
[00:56:26] <-- wjp has left IRC ("Zzzz...")
[05:21:39] --> Knight has joined #pentagram
[06:18:21] <-- Knight has left IRC (" I love my HydraIRC -> http://www.hydrairc.com <-")
[08:08:24] --> watt has joined #pentagram
[09:37:08] --> SB-X has joined #pentagram
[10:21:55] --> Colourless has joined #Pentagram
[10:21:55] --- ChanServ gives channel operator status to Colourless
[10:22:21] <Colourless> hi
[10:22:26] <Darke> Nanoo.
[10:34:33] <Colourless> http://edition.cnn.com/2003/TECH/fun.games/12/19/china.gamer.reut/index.html
[10:34:57] <Colourless> can't exactly say 'only in america', since this was in china :-)
[10:35:38] <Colourless> oh well, it's only a matter of time till it does happen in america too :-)
[10:35:52] <Darke> Yeah.
[10:37:57] <Darke> Though wasn't there a case involving a company that farmed items and such and sold them on ebay, suing the makers of DAOC over their banning (and subsequent loss of sales, etc) since this was against the EULA? DAOC won, IIRC.
[10:38:40] <Colourless> yes
[10:38:51] <Colourless> not exactly the same, but is along the same lines
[10:39:24] <Colourless> and the DAOC creators were within their rights to do so
[10:40:04] <Darke> Yep.
[10:40:51] <Colourless> most MMORPGs now do have clauses in the EULA that prevent selling of items&characters in ebay or similar so they wont have other issues involving potential 'real' worth of items in the game
[10:41:14] <Colourless> EA seems to be the odd exception though
[10:41:53] <Darke> Yup.
[10:45:55] <Colourless> in a way it makes UO more interesting as play time is given a so called 'market' value
[10:47:09] <Colourless> and there is an effective exchange rate for uo gold<->real world money
[10:52:25] <Colourless> of course a quick browse of ebay reveals that a UO Gold isn't exactly worth as much as it once was :-)
[10:52:41] <Darke> Heh. That is true. *grin*
[10:53:16] <Colourless> i wonder what the inflation rate is in UO
[10:54:42] <Darke> It became insane at one point due to rampant, uncontrolled gold duping.
[10:55:20] <Darke> Actually, there was someone who did a study on that at one point. The overall economics of UO anyway.
[10:56:05] <Colourless> it would appear an approx exchange rate is $1 USD = 10,000 gold
[10:59:53] <Colourless> 'twas Zack! http://www.mine-control.com/zack/uoecon/uoecon.html
[11:00:23] <Darke> That seems unusually high. Then again, I haven't really been paying much attention really, I do remember it was closer to $1=1million gold at one point. *grin*
[11:00:25] <Darke> Nice!
[11:04:32] <Colourless> i actually missed out a 0 there. should be $1 = 100,000 gold
[11:05:57] <Darke> (During the 'counterfeiting times) "Estimates of the inflation value range from multiples of hundreds of thousands to millions. The hyperinflation destroyed the gold economy and players resorted to bartering and just plain-old charity during this period."
[11:08:13] <Colourless> Another major exception to the rule that NPCs did not supply things that players wanted is magical reagents. Shopkeepers are the only source of reagents. It was not long before a group of players realized that they could corner the market in this valuable commodity. (In fact, some of the first people to try this were actually employees at a rival computer game company.) This group became highly efficient at the process of buying up all the re
[11:08:18] <Colourless> On the one hand, this scheme created an very interesting player event, the kind of thing a game designer hopes will be possible within the rules. On the other hand, while it amused a minority, it annoyed the majority who demanded that Origin stop the Mafia.
[11:13:29] <Darke> Heh.
[11:19:51] <Colourless> that entire article should be required reading for any MMORPG developer, regardless of what role they have in development
[11:20:52] <Darke> Yep.
[11:26:08] --> wjp has joined #pentagram
[11:26:08] --- ChanServ gives channel operator status to wjp
[11:26:37] <wjp> hi
[11:27:11] <Colourless> hi
[11:27:25] <Darke> Greetings.
[11:27:50] <Colourless> how can you have an evil clone of an evil character?!?!
[11:27:53] <Colourless> :-)
[11:29:02] <Darke> Once quote from that article I found unusual: "The production paths for many objects are quite shallow." Given U7's production paths, I would have thought they would have made them at least a little bit deeper...
[11:30:22] <Darke> Well... surely an exact clone of an evil character, would be evil, no?
[11:31:50] <Colourless> you would have to think so
[11:32:50] <SB-X> anyone played A Tale In the Desert? http://www.atitd.com/
[11:33:47] <Darke> The keyword, of course, being 'exact'. If you've not got a perfect cloning method, then there's the possiblity of his is_evil bit being corrupted upon cloning. So thus one would specify an 'evil clone', *just* to be absolutely sure. *grin*
[11:34:22] <Darke> I haven't played it. It's supposed to be fun if you're a heavy socialiser. *grin*
[11:35:06] <SB-X> Hmm, evil bit. Is that related to RFC3514 at all?
[11:35:14] <Colourless> fristly, not a 'his' but 'her' in this circumstance, and secondly the clone is intended to be exact replica that is hostile towards you
[11:35:31] <SB-X> And I have just been seeing ads for that game in Opera.
[11:36:54] <Colourless> even though the char is chaotic evil, it wouldn't be incharacter for a lawful evil 'clone' to attack their original. Just wouldn't be in character :-)
[11:37:44] <Darke> Well if you're evil, and your clone is evil, one would assume that standard hostility would ensure (after all, *both* of you can't take over the world...) so one would logicly attack your identical evil twin anyway.
[11:38:22] <Colourless> perhaps, perhaps, but why can't we ally, then later one will attempt to stab the other in the back eventually
[11:38:44] * Darke would guess clones would implement RFC3514, as would basicly any RPG character.
[11:38:55] <Darke> She's an impatient clone? *grin*
[11:39:21] <Colourless> :-)
[11:40:01] <Colourless> now, if it said 'insane' clone, then that would be a totally different scenario
[11:43:21] <Darke> Yes. You would both think alike and end up working together.
[11:43:44] * Darke quickly makes a strategic retreat away from the dragon. *grin*
[11:44:02] <Colourless> oh haha, you are just the comedian tonight :-)
[11:44:27] <Colourless> the first thing my evil clone did was turn invisible and started sneak attacking my weakest party member/
[11:44:50] <Darke> Ooooh!
[11:45:17] <Colourless> almost killed them until i used an item that gave me true sight
[11:45:51] <Colourless> then i turned sneak attacked my clone since they were facing away from me, killing them rather quickly :-)
[11:46:14] <Darke> Heh.
[11:47:16] <Colourless> s/turned //
[11:59:11] <wjp> so... what's the final verdict on input code location? :-)
[12:03:38] <Darke> "Yes, we want input code in a location."
[12:03:48] <wjp> I've merged the patch here locally with the HIDManager.{h.cpp} and HIDBindings.h in kernel/, and {u8,std}bindings.{h,cpp} in games/
[12:06:26] <Darke> Sounds ok.
[12:06:40] <Colourless> fine with me
[12:07:58] <wjp> I guess I'll commit it then
[12:44:19] <wjp> this is weird
[12:44:41] <wjp> I'm now getting the same problem that watt mentioned earlier. Avatar is frozen after a quickload
[12:44:54] <wjp> cause is that the AvatarMoverProcess is suspended
[12:45:34] <Colourless> put a break point in the suspend function for AvatarMoverProcess
[12:46:17] <wjp> pity we don't store which pid a process is waiting for :-)
[12:46:36] <Kirben> u8bindings.cfg should be installed to data folder, right ?
[12:46:39] <wjp> yes
[12:47:00] <wjp> data should now contain fixedfont.cfg, fixedfont.tga, u8bindings.cfg
[12:47:40] <wjp> let me guess, I missed that in Makefile.mingw? :-)
[12:47:54] <Kirben> Yes will commit change.
[13:13:03] <wjp> hmm... it seems ActorAnimProcess::aborted isn't initialized or saved/loaded properly
[13:15:26] <Colourless> the default constructor doesn't initialize anything
[13:15:52] <wjp> yes, which means it should get set by loadData
[13:16:33] <Colourless> yeah well, it's not :-)
[13:16:50] * wjp breaks savegames again
[13:16:56] <Colourless> bit saved, not loaded
[13:17:08] <Colourless> hey, you could have actually used versioning :-)
[13:17:11] <wjp> not even saved, actually
[13:17:23] <Colourless> s/bit/not/
[13:17:51] <wjp> ah, 'bi' is left of 'no', I see
[13:17:56] <Colourless> note right hand left shifted 1 char :-)
[13:18:38] <wjp> I'll start using versioning once the savegame format is a bit more stable
[13:19:15] * Darke adds 'me' to the end. Woo! Double word score!
[13:19:29] <wjp> eh?
[13:19:36] <SB-X> hehe
[13:19:48] <Darke> 'binome'? Sorry. Scrabble reflex. *grin*
[13:20:01] <wjp> binome is a word?
[13:20:28] * wjp feels like he's missing the point :-)
[13:20:30] <Darke> Hrm... nope. Apparently not. *pout*
[13:21:03] <Colourless> binomial was though :-)
[13:21:16] <wjp> yeah :-)
[13:21:35] * Darke pouts and goes back to reading Scrabble for Dummies.
[13:22:16] <wjp> there, the first savegame-breakage in months :-)
[13:23:46] <Colourless> was it as good for you as it is for us?
[13:23:55] <wjp> lol
[13:24:32] * Darke waits for the first complaints of people who upgrade and suddenly can't load their saves anymore. *grin*
[13:26:09] <Colourless> well, what 'will' happen?
[13:26:12] <wjp> hm, we have an invalid read (valgrind) in the line 'for (int i = 0; i < 16; i++) ods->write2(pal->matrix[i]);'
[13:26:48] <Colourless> matrix is only 12 big
[13:26:51] <Colourless> oops
[13:27:17] <wjp> ah, A isn't transformed I see
[13:28:24] <wjp> other than that we still have
[13:28:28] <wjp> ==2167== Conditional jump or move depends on uninitialised value(s)
[13:28:28] <wjp> ==2167== at 0x809A4F9: Item::setupLerp(int) (Item.cpp:1011)
[13:28:34] <wjp> ==2167== by 0x8091605: GameMapGump::PaintThis(RenderSurface*, int) (GameMapGump.cpp:178)
[13:28:56] <wjp> a couple of errors in SDL_OpenAudio
[13:29:10] <wjp> one in SDL_VideoInit
[13:30:06] <wjp> and an uninitialized value passed to the write system call when saving OBJECTS
[13:32:11] <Colourless> ok, does it give more info about which unitialized value in setupLerp
[13:32:35] <Colourless> i'm guessing something to do with l_next
[13:33:58] <wjp> no, just the line number
[13:34:30] <Colourless> well, care to modify the if statment and make all the ORs separate if statements
[13:36:54] <wjp> ok, let's see
[13:37:32] <wjp> it's the 'l_next.shape != shape'
[13:37:42] <Colourless> i guessed as much
[13:38:29] <Colourless> IIRC i didn't bother initializing l_next since the values didn't matter in it the first time the object got passed through setupLerp
[13:39:00] <Colourless> if course it probably would be a good idea to initialze it to something like 0xFFFFFFFF
[13:39:13] <wjp> except for the shape field, it seems
[13:39:53] <wjp> would moving last_setup == 0 forward help?
[13:40:20] <Colourless> the first time no_lerp should always be set to true, regardless of what l_next.shapes value is
[13:41:15] <Colourless> s/shapes/shape/
[13:41:35] <wjp> and the first time is detected by last_setup == 0 ?
[13:41:46] <Colourless> yes
[13:42:04] <wjp> ok, then moving last_setup == 0 to the start of the if should probably fix it
[13:42:14] * wjp tries
[13:42:18] <Colourless> valgrind may still complain though about something
[13:42:52] <wjp> this particular error is gonen ow
[13:42:57] <wjp> s/n / n/
[13:43:32] <wjp> at startup we only get errors in SDL or X code now
[13:49:03] <wjp> and apparently we still save some uninitialized bytes
[13:49:22] <wjp> but with all these STL containers it's kind of hard to tell where they originated
[14:29:23] <-- Kirben has left IRC ("System Meltdown")
[14:44:43] <ragzter> hahaha... I'm still in love with the name "valgrind" (as well as the program). if you thought this was a swedish word and translated it to english it would be "whale gate"
[14:47:36] <wjp> hehe :-)
[14:51:02] <wjp> Colourless: what exactly should the Gump::Run functions do?
[14:51:10] <wjp> in particular, should they be run when the kernel is paused?
[14:51:57] <Colourless> i don't really know if they should be run. probably not:-)
[14:59:42] <wjp> what about when pausing because of a modal gump?
[15:01:02] <Colourless> well, this is what run currently does
[15:01:13] <Colourless> Makes bark gumps disappear
[15:01:19] <Colourless> Handles the console sliding
[15:02:25] <Colourless> that's it.
[15:02:51] <Colourless> Now, for those 2 you could argue that bark gumps shouldn't run when paused, while the console should
[15:03:08] <wjp> if we change BarkGump::run to use the framenum, it could still run
[15:03:08] <Colourless> a 'solution' would be for there to be a gump flag run when paused
[15:03:32] <Colourless> or always run gumps, and use processes for things that want to be paused
[15:04:19] <Colourless> a BarkGumpProcess is totally logical in the 'grand scheme of things' especially when you consider how things work wrt usecode
[15:04:36] <wjp> :-)
[15:06:07] <Colourless> but hey using framenum still works
[15:07:04] <wjp> hm, we're currently using a GumpNotifyProcess it seems
[15:07:20] <Colourless> yes we do :-)
[15:07:21] <wjp> I guess that's basically a dummy that returns when the gump closes
[15:07:27] <Colourless> yes it is
[15:07:50] <Colourless> performs 2 functions: Close gump if process is terminated. Terminate process if gump closes :-)
[15:09:26] <wjp> is it used in other places than BarkGump and the answer-selection-gump in conversations?
[15:09:35] <wjp> AskGump
[15:09:41] <Colourless> yes
[15:10:15] <Colourless> it's also allows passing of return values from the gump to a usecode process
[16:01:35] <wjp> we could just let BarkGump check if the kernel is paused
[16:02:05] <Colourless> what?!?!
[16:02:38] <wjp> uh, no? :-)
[16:03:53] <Colourless> we could never allow such a simple concept to invade our code!
[16:04:09] <wjp> you do have a point there :-)
[16:27:41] <Colourless> you know, i never realized that a -1 str modifier will have a -1 modified to damage
[16:27:53] <Colourless> s/modified/modifier/
[16:29:00] * Colourless feels foolish
[16:30:55] * Colourless plans on upping str next level up
[16:59:52] <wjp> yeah, modifiers work both ways :-)
[17:00:50] <Colourless> the thing was, i never realised that the str modified have an effect on damage
[17:00:59] <Colourless> s/modified/modifier/\
[17:01:09] <wjp> ah
[17:01:30] <wjp> yes, str affects both to-hit in melee and damage
[17:01:49] <wjp> ranged it only affects damage if your bow is 'mighty'
[17:02:14] <Colourless> except if you Weapon Finesse
[17:02:25] <wjp> yes, then you can use dex instead of str
[17:02:25] <Colourless> s/you/you have/
[17:02:38] <Colourless> but only for to-hit
[17:03:28] <Colourless> so at the moment i'm getting +8 on the attack roll and -1 on the damage roll :-)
[17:03:47] <wjp> are you using a shield?
[17:03:55] <Colourless> no
[17:04:01] <Colourless> Dual Weapons
[17:04:03] <wjp> ah, ok
[17:04:32] <wjp> using a shield would apply the shield's armour-check penalty to the attack roll when using weapon finesse
[17:06:11] <wjp> I started SoU with a wizard
[17:06:31] <wjp> really takes some getting used to not being able to make most 'persuade' checks in conversations :-)
[17:06:47] <Colourless> my Main weapons is a Pixie Lance (Dagger +3, Sleep DC-14 50% 2 Rounds) attack bonus +20/+15
[17:07:09] <Colourless> my off hand weapon is Dagger +3 attack bonus +20
[17:08:32] <Colourless> add to that Sneak Attack +3D6 and Death Attack +4D6
[17:08:42] <wjp> death attack?
[17:09:23] <Colourless> same as Sneak Attack, except there is also a Fortitude Save or be paralyzed
[17:09:43] <wjp> not bad
[17:09:48] <Colourless> it's an Assassin feat
[17:09:53] <wjp> I expected as much :-)
[17:11:01] <Colourless> in the attack bonus what does the /+15 mean?
[17:11:06] <wjp> second attack
[17:11:12] <Colourless> ah
[17:11:26] <wjp> I had +28/+23/+18/+13 at level 16 as a paladin
[17:11:34] <Colourless> hehe
[17:12:33] <Colourless> my Armour is Robes of the Shining Hand +3 (Only Usable by Monks) :-)
[17:12:55] <wjp> hehe
[17:12:59] <Colourless> reason why i'm using that is because soon enough i'm going to probably have a Dex bonus greater than 8
[17:13:13] <wjp> what does that robe do?
[17:13:40] <Colourless> give +3 to AC and -1 penalty to Listen Check
[17:14:06] <Colourless> Base Armour class is 0, so it doesn't have Max Dex Bonus or Skill check penalty
[17:14:18] <Colourless> my ac itself is 27
[17:14:52] <wjp> do you have uncanny dodge?
[17:15:12] <Colourless> i have Uncanny Dodge II :-)
[17:15:16] <wjp> ok :-)
[17:18:13] * Colourless returns to killing orcs
[17:18:39] <wjp> I guess I should finally implement that pause function :-)
[17:18:57] <wjp> I think I'll move framenum to Kernel, btw
[17:33:27] <Colourless> hmm. I've found an even better dagger. It's the same as the Pixie Lance, except it's keen too :-)
[17:34:02] <wjp> more criticals is good :-)
[17:36:22] <Colourless> it's probably about time i cashed in my loot. Im carrying 79/80 lbs
[17:37:25] <wjp> any bags of holding?
[17:37:29] <Colourless> nope
[17:37:35] <Colourless> not even any magic bags!
[17:37:39] <wjp> yikes
[17:37:49] <wjp> henchmen to carry loot?
[17:37:53] <Colourless> all i've got is one single box which i've put potions in
[17:38:00] <Colourless> yeah i've got 2 henchmen
[17:41:00] <Colourless> of course i've quite possibly got the strangest setup as far as henchmen go. I'm a Level 6 Thief, Level 8 Assassin, Level 1 Shadowdancer.
[17:41:04] <Colourless> My henchmen are a Level 14 Bard, Level 1 Red Dragon Disciple
[17:41:22] <Colourless> and Level 7 Bard, Level 6 Fighter
[17:41:58] <wjp> s/Thief/Rogue/ ?
[17:42:07] <Colourless> uh, yeah :-)\
[17:43:08] <wjp> hm, moving framenum to Kernel has one unintended consequence
[17:43:14] <wjp> desktopGump->Run(framenum)...
[17:43:36] <wjp> should be called after running processes, but before increasing the framenum
[20:04:21] <-- watt has left #pentagram ()
[21:24:02] <-- SB-X has left IRC ("...")
[21:29:51] <-- Colourless has left IRC ("casts invisibility")
[21:36:44] --> watt has joined #pentagram
[21:56:08] <-- ragzter has left IRC ("aoeu")
[22:48:34] --> ragzter has joined #pentagram
[22:57:35] --> Fingolfin has joined #pentagram
[22:57:35] --- ChanServ gives channel operator status to Fingolfin
[23:12:23] <wjp> hi Fingolfin
[23:12:24] --> Knight has joined #pentagram
[23:18:01] <Fingolfin> hiya willem
[23:24:46] --> Kirben has joined #pentagram
[23:24:46] --- ChanServ gives channel operator status to Kirben
[23:52:31] <-- ragzter has left IRC ("restarting X.. windowmanager updated")