#nuvie@irc.freenode.net logs for 28 Aug 2006 (GMT)

Archive Today Yesterday Tomorrow
Nuvie homepage


[00:00:06] <-- jargon has left IRC (orwell.freenode.net irc.freenode.net)
[00:00:08] <-- ChanServ has left IRC (orwell.freenode.net irc.freenode.net)
[00:00:08] <-- luteijn has left IRC (orwell.freenode.net irc.freenode.net)
[00:00:08] <-- Kirben has left IRC (orwell.freenode.net irc.freenode.net)
[00:00:08] <-- servus has left IRC (orwell.freenode.net irc.freenode.net)
[00:00:09] <-- laxdragon has left IRC (orwell.freenode.net irc.freenode.net)
[00:01:14] --> ChanServ has joined #nuvie
[00:01:20] --> Kirben has joined #nuvie
[00:04:23] --> laxdragon has joined #nuvie
[00:05:06] --> servus has joined #nuvie
[00:06:37] --> jargon has joined #nuvie
[03:13:08] --> Quester has joined #nuvie
[03:30:15] --> Guest18867 has joined #nuvie
[03:50:14] --> Quester2 has joined #nuvie
[03:50:32] <-- Quester has left IRC (Nick collision from services.)
[03:50:34] --- Quester2 is now known as Quester
[04:02:32] <-- Guest18867 has left IRC (Read error: 110 (Connection timed out))
[04:14:59] --> Quester2 has joined #nuvie
[04:15:21] <-- Quester has left IRC (Nick collision from services.)
[04:15:22] --- Quester2 is now known as Quester
[04:26:49] <-- Quester has left #nuvie ()
[04:56:41] --> wizardrydragon has joined #nuvie
[05:09:05] <wizardrydragon> Hi there
[05:11:24] <SB-X> Greetings.
[05:13:33] <wizardrydragon> Croweded channel :)
[05:13:46] <wizardrydragon> Any particular reason ChanServ's joining us?
[05:19:06] <SB-X> no idea
[05:20:09] <wizardrydragon> Interesting
[06:20:23] --> luteijn has joined #nuvie
[06:21:37] <wizardrydragon> Hello
[06:22:47] <luteijn> Hi there.. Trying to think of a good way to add/remove blue gate objects. Should I keep a pointer to the object, causing trouble if it is somehow destroyed by the time I want to remove it agian, or look for it at the location it is supopsed to be, and causing trouble if it was (somehow) moved?
[06:23:11] <luteijn> A new face. Or one I've forgotten about..
[06:23:32] <wizardrydragon> Possbly both, given it's been a while since I followed Nuvie
[06:23:44] <wizardrydragon> But I never much was in the IRC
[06:25:41] <luteijn> maybe by another name? google only has you in #exult's logs, ust the other day.
[06:25:46] <wizardrydragon> I would thing something like having the stone object and then simply having a test: if isActive( spawn_moongate() ) and then just destroy it when the stone is picked up
[06:26:06] <wizardrydragon> It would have been about two to three years ago under petermdodge
[06:26:23] <wizardrydragon> I dunno if I wandered into #nuvie or not though
[06:26:57] * wizardrydragon points at his suggestion, lest it be forgotten. :)
[06:27:39] <luteijn> well, I want to be as close to the original as possible. I already account burial and retrieval of moonstones.
[06:27:52] <wizardrydragon> Hmm
[06:28:14] <luteijn> But the original let you bury the moonstone in spot A, then 'move' it around to B, but the gate would still appear at A.
[06:28:21] <wizardrydragon> Well I speak out of ignorance since I'm unaware of Nuvie's code, I have enough to worry about usecoding for TTFL :)
[06:29:00] <wizardrydragon> So I suppose the problem is whether or not to replicate an undesirable behaviour that was in the original or to fix it :)
[06:29:01] <wizardrydragon> *TFL
[06:29:04] <luteijn> Well, anyone is open to answer; it was mostly a question for SB-X and Yuv.
[06:29:47] * wizardrydragon wonders if SB-X is still here; he was what seemed like a few moments ago.
[06:29:51] <luteijn> well I already replicate the behavior; if you move the stone afte rburial, it is easier to get when the gat is otherwise over it. It's just the actual gate objects I worry about.
[06:30:02] <wizardrydragon> Ah. How so?
[06:30:25] <luteijn> (I don't mind if they're not currently in, they usually read the logs and answer, then I read their answer in the log again.. Timezones are fun.)
[06:31:36] <wizardrydragon> I know that well, one of my best friends moved to Australia, so we play email tag.
[06:31:52] <luteijn> well tehre's a few ways that the moongate could move from its original position in nuvie that weren't in the original... I think the original just made the moongates as temporary objects, so they got cleaned up automatically when you leave the area. And just did a 'is there a moonstone buried in the area'-check when you move in the area.
[06:32:10] <luteijn> but nuvie has the whole map in memory at the same time...
[06:32:16] <wizardrydragon> That would seem the most logical approach.
[06:32:22] <wizardrydragon> Perhaps handle it like Exult Eggs?
[06:32:39] <wizardrydragon> Make checks for the avatar's proximity to a moonstone object?
[06:33:09] * wizardrydragon notices the world is much clearer after he cleans his glasses.
[06:33:55] <luteijn> that would break if yo move the stone too far from the burial site.
[06:34:26] <luteijn> in the original the moonstone doesn't have to be on the map at all, as long as the burial site is marked in the table.
[06:35:12] <luteijn> When the moonstones are on the shrines, at the start of the game, the moongate location is different from the moonstone's
[06:35:47] <wizardrydragon> if isBuried(moonstone) and isInShrine(moonstone) then spawnmoongate(altenate location) else spawnmoongate(moonstone location)
[06:36:53] <luteijn> no, that's not how it seems to work. when you 'use' a moonstone, it is dropped at your location, and the location is recorded in a list of burial sites. when you get the moonstone, the burial site for that moonstone is set to 0,0,0.
[06:37:19] <wizardrydragon> Thats how I'm suggesting, I'm not sure how it works in the originasl U6, I just play Nuvie :)
[06:38:20] <luteijn> I'll probably just look for moongate objects at the burial site and remove any that are there if there's no moon out.
[06:38:34] <wizardrydragon> That could work.
[06:38:47] <wizardrydragon> I can't remember - did U6 model the moon cycles?
[06:38:56] <luteijn> yes.
[06:39:06] <wizardrydragon> I should add that to TFL, but my todo list is big enough already :)
[06:39:58] <wizardrydragon> I'm starting to regret telling myself I'm not going to bed until I finish cleaning up the map.
[06:39:59] <luteijn> we dug up some research on the moons' periods, and did some of our own. it's in the phorum, somewhere.
[06:41:22] <wizardrydragon> That could be useful.
[06:46:07] <luteijn> http://nuvie.sourceforge.net/phorum/read.php?f=1&i=361&t=361
[06:47:35] <wizardrydragon> Thank you :)
[06:50:01] <wizardrydragon> Heard anything of my little side project, the Feudal Lands, other than my offhand reference here?
[06:53:05] <luteijn> Actually I hadn't, but I googled for it.
[06:53:44] <luteijn> I never really played U7 much, and for some reason don't like it, nor U8.
[06:54:23] <wizardrydragon> http://www.u7feudallands.com/forum
[06:54:28] <luteijn> I think it's the graphics, the perspective..just doesn't feel right. And the avatar is suddenly blonde.
[06:54:39] <wizardrydragon> LOL I loved that part.
[06:54:52] <wizardrydragon> Guess he had a thing for hair dye :)
[06:54:59] <wizardrydragon> Or she, depending :P
[06:55:21] <wizardrydragon> I loved how from u7 onward the canon assumed the avatar was a guy, myself.
[06:57:01] <wizardrydragon> Anyways, I told myself I wont be sleeping until I have a snapshot ready, so hopefully sometime really soon there'll be a snapshot posted for you to play around with :)
[06:57:07] <luteijn> U7 to me just breaks with the past in a lot of ways.. Which is probably intentional.
[06:57:52] <wizardrydragon> With TFL the original goal was to fill in plot holes and inconsistencies ... it just kind of ballooned into it's own huge project from there :)
[07:02:45] * wizardrydragon rubs his eyes. Three in the morning is way too early to be up without caffiene.
[08:17:23] <-- jargon has left IRC (Client Quit)
[08:38:12] <-- wizardrydragon has left IRC (Read error: 110 (Connection timed out))
[08:38:47] <SB-X> hey luteijn
[08:38:56] <SB-X> i dont know how U6 blue moongates worked
[08:39:02] <SB-X> i never used them
[08:48:42] <luteijn> I was just wondering what would be the best way to do the object accounting on nuvie.
[08:50:19] --> Yuv422 has joined #nuvie
[08:52:10] <luteijn> Hi Yuv
[08:53:45] <Yuv422> hey laxdragon
[08:53:50] <Yuv422> hehe whoops
[08:53:56] <Yuv422> tab malfunction
[08:54:00] <Yuv422> hey luteijn
[08:54:01] <Yuv422> :-)
[08:54:07] <luteijn> ;)
[08:54:12] <Yuv422> How's things
[08:54:20] <Yuv422> worrking on moongates I see.
[08:55:03] <luteijn> Yes, just about to add something to determine the location to sent people to based on the phase of the moons.
[08:55:28] <luteijn> then going to add the actual appearing and disappearing of the gates at their locations.
[08:55:59] <luteijn> at the moment I can just test with the permanent moongate at the spirituality shrine.
[08:56:40] <luteijn> Have to do some more research if that one ever is used as a destination, or that there really is no way to get to spirituality if you took its moonstone and don't use the red orb..
[08:57:41] <luteijn> what are you up to?
[08:58:27] <Yuv422> like SB-X I haven't used blue moongates much either
[08:58:52] <Yuv422> more lua research
[08:59:04] <Yuv422> looking at upvalues
[08:59:10] <Yuv422> and function closure.
[08:59:16] <Yuv422> bbl dinner time
[09:00:28] <SB-X> hey yuv
[09:01:10] <SB-X> as you said moongates should probably be temporary
[09:01:16] <SB-X> like red moongates
[09:01:38] <SB-X> and created when the chunk is cached in (but since that doesn't happen in nuvie, when the player is near)
[09:02:12] <SB-X> but that's not really the issue is it... we can worry about it later
[09:02:23] <SB-X> there's no problem with them being permanent
[09:04:20] <luteijn> my biggest worry is finding the object to remove when the moons go under the horizon, and I need to remove all active moonstone generated blue gates
[09:04:57] <luteijn> if I cache pointers to 'my' generated moongates, and the obj has somehow been destroyed, my pointer will be invalid.
[09:05:50] <luteijn> if I look for the object where it 'should' be, if somehow the object got moved, I won't be able to find it anymore...
[09:06:26] <luteijn> But the latter I think is less likely to happen.
[09:06:52] <luteijn> Unless someone hackmoved it, and then they deserve to have a more or less permanent moongate.
[09:07:43] <SB-X> how would the object get destroyed?
[09:08:02] <luteijn> bugs. magic.
[09:08:13] <SB-X> or changing maps or quitting nuvie
[09:08:31] <luteijn> if it's destroyed I don't care too much if I can't find it anymore..
[09:09:34] <luteijn> when do you recalculate moon position? Almost every step you take?
[09:09:54] <SB-X> every sky update
[09:10:17] <SB-X> maybe that should be in weather
[09:10:43] <SB-X> at least the current phases
[09:11:21] <luteijn> I don't really want to duplicate calculating the moons' positions, but it looks like you don't really store them, or do you?
[09:11:52] <SB-X> nope
[09:12:04] <SB-X> i wasnt thinking about moongates at the time of coding that
[09:16:40] <luteijn> I'd liek to do something like weather->get_position(TRAMMEL) so I can see which moon is nearest to the top position, and use that one's phase to look up the target location.
[09:16:55] <-- Yuv422 has left IRC (Read error: 110 (Connection timed out))
[09:18:35] <luteijn> bleh, the moons' phases aren't updated when underground?
[09:18:49] --> Yuv422 has joined #nuvie
[09:23:52] <SB-X> wouldn't weather->get_highest_moon() be enough?
[09:25:05] <luteijn> might as well make both positions available..
[09:42:26] <-- Yuv422 has left IRC (Read error: 110 (Connection timed out))
[09:43:20] --> Yuv422 has joined #nuvie
[10:00:41] <luteijn> any idea why the moons' phases are in the tileset 'backwards'? Is this ever convenient?
[10:03:48] <SB-X> Nope, not to me. There's the possibility it was convenient to the original developers.
[10:04:40] <SB-X> if they used a different method for finding the phase, for example
[10:05:04] <luteijn> Anyway a couple of 8-phase.. later, and the blue moongate is now working, as far as I've tested it..
[10:06:18] <SB-X> really
[10:06:19] <SB-X> cool
[10:07:01] <SB-X> I don't think anything needs to be changed. Just move the necessary phase-finding code to weather.
[10:07:12] <luteijn> well, it would be cooler if moonstones also fully worked, since now there's only one moongate.
[10:07:18] <SB-X> i was going to say that before you said its working anyway
[10:07:22] <SB-X> lol
[10:07:34] <SB-X> which is it?
[10:07:43] <luteijn> the permanent one at the spirituality shrine.
[10:08:05] <luteijn> but the target can be influenced by where you bury the moonstones.
[10:08:13] <SB-X> oh, thats cool
[10:08:19] <SB-X> i was going to ask if it always went to the same place
[10:08:37] <SB-X> where is the target if the moonstone is on the pedestal?
[10:08:53] <luteijn> 'the right place'TM
[10:09:06] <SB-X> where is that? :)
[10:09:19] <luteijn> see objlist.txt ;)
[10:09:25] <SB-X> will do
[10:09:44] <SB-X> i didnt use the blue moongates in u6 much but i think its right next to the shrine
[10:09:45] <luteijn> the original seeds the 'moonstone burial sites'-table with the correct places just north of the pedestals
[10:09:57] <SB-X> i remember getting killed by gargoyles after using a moongate in u6o
[10:10:27] <SB-X> oh
[10:10:31] <luteijn> yes, u6o has some blue gate support, but again, no-one seems to care about doing it properly.
[10:10:43] <SB-X> what's different about it?
[10:10:53] <SB-X> besides the moon phases not being accurate (are they?)
[10:11:12] <luteijn> the gates are always there, even after you get the moonstones. and you can't rebury the moonstones.
[10:11:24] <SB-X> ew
[10:11:28] <SB-X> thats not very useful
[10:11:50] <luteijn> nope, and you don't get the orb in u6o (at least not until you've already finished the game)
[10:12:02] <SB-X> we've talked about that before :)
[10:12:10] <luteijn> u6o has more fluid moon-movement.
[10:12:43] <luteijn> I'm not sure if their phases are correct, but I got the formulae somewhere, got them from Galleon.
[10:13:40] <SB-X> i decided not to add continuous sky updates because it gives you too accurate of a time indication, which u6 didn't have
[10:14:14] <SB-X> the player would learn how many minutes are to a pixel and never have to look at clocks :)
[10:14:34] <SB-X> not that anyone usually bothers with clocks anyway
[10:15:30] <luteijn> at one point I could tell the time in u6o by the sky display..
[10:16:03] <luteijn> but you can still get at the right 'hour' if there's anything in the sky.
[10:16:37] <-- Yuv422 has left IRC (Read error: 110 (Connection timed out))
[10:17:02] <luteijn> looks like galleon's phases are slightly off from ours
[10:17:50] --> Yuv422 has joined #nuvie
[10:18:22] <luteijn> he uses f=btime2^1.125f.3.0f and f=btime2*1.1875f+5.0f
[10:19:00] <SB-X> Yuv422: having difficulties with irc again? :)
[10:19:05] <luteijn> we have factors 1.75 and 1.1666..
[10:20:19] <SB-X> nuvie doesn't use those values the same way either
[10:24:19] <SB-X> i really need to take a nap
[10:24:21] <SB-X> bbl
[10:27:07] <Yuv422> hey SB-X
[10:27:16] <SB-X> hey
[10:27:23] <Yuv422> yeah my irc doesn't like microwave ovens! :-(
[10:27:29] <Yuv422> among other things
[10:27:35] <SB-X> ???
[10:28:12] <Yuv422> I'm using a wireless lan
[10:28:23] <Yuv422> which bombs out when I use the microwave
[10:28:49] <luteijn> hmm your microwave is not properly shielded?
[10:28:50] <-- Yuv422 has left IRC ()
[10:28:59] --> Yuv422 has joined #nuvie
[10:29:12] <SB-X> ugh
[10:29:21] <SB-X> that's sounds annoying
[10:29:27] <Yuv422> yes
[10:29:31] <Yuv422> very. :-(
[10:29:34] <SB-X> and odd :)
[10:29:42] <luteijn> you could try some tin foil to shield your wireless lan antennae.
[10:29:56] <Yuv422> who knows what the microwave is spewing into me
[10:30:09] <Yuv422> luteijn: yeah that's a good idea
[10:30:12] <SB-X> [05:29] <luteijn> hmm your microwave is not properly shielded?
[10:30:26] <Yuv422> yeah. :-(
[10:30:32] <Yuv422> it's a bit scary
[10:30:54] <SB-X> you need a new oven then :)
[10:30:57] <luteijn> http://www.freeantennas.com/projects/template/
[10:31:07] <luteijn> those things really work.
[10:31:17] * Yuv422 looks
[10:31:43] <SB-X> im going for now
[10:31:45] <SB-X> bbl
[10:31:51] <luteijn> bye sbx
[10:31:58] <SB-X> afk
[10:33:40] <Yuv422> cya
[10:36:18] <luteijn> same thing also worked with BlueTooth for me. Best would be to have one on your computer's antenna too, if possible.
[10:54:48] <-- Yuv422 has left IRC (Read error: 110 (Connection timed out))
[10:55:29] --> Yuv422 has joined #nuvie
[11:31:22] <Yuv422> looks like we can use coroutines to handle target selection in magic scripts
[11:31:52] <Yuv422> get_target() will call a c function that returns lua_yield()
[11:32:10] <Yuv422> which allows nuvie to select a target and return control to the script
[11:43:44] <luteijn> that is one part of the Magic engine I did almost no work on yet, stopping in th emiddle of the script to do something like getting a target, getting keyboard input etc. and then continuing with the script.
[11:44:42] <Yuv422> I'm adding support for target selection now
[11:44:55] <Yuv422> and keyboard input
[11:56:59] <luteijn> once that's in we can do a lot more spells.
[11:57:35] <luteijn> another thing we'll probably need to do the same way is audio-visual effects.
[11:58:51] <Yuv422> I'm just looking at how best to handle the magic target selection
[11:59:16] <Yuv422> the Event class is a bit of a mess as you probably know. ;-)
[11:59:58] <luteijn> I thin kwe might want to clean up 'selection' first.
[12:00:51] <luteijn> at the moment the state-machine is confusing, and you keep ending up switching modes (Look-Use-Attack What?) when you don't mean to.
[12:01:57] <luteijn> maybe add keyboard input first, and then hack in temporary target selection via keyboard input until Event is fixed up? SB-X mentioned it was next on his todo list to clean up Event..
[12:15:54] <-- Yuv422 has left IRC (Read error: 110 (Connection timed out))
[12:17:01] --> Yuv422 has joined #nuvie
[12:17:12] <Yuv422> Yuv422: Event could do with some callback functionality
[12:18:03] <Yuv422> so a class registers a callback saying select an object for me
[12:18:17] <Yuv422> then gets a message when event has the coords ready
[12:19:32] <Yuv422> so event would call magic->cast
[12:19:47] <Yuv422> magic cast would break the script waiting for a selection
[12:20:03] <Yuv422> it would then hook a get target callback on event and return control
[12:20:30] <Yuv422> event would process the request activating the callback when the selection was complete or cancelled
[12:20:53] <Yuv422> then event doesn't need to account for all these different states
[12:21:26] <Yuv422> objects could ask for callbacks on cursor movement too
[12:21:42] <Yuv422> this would handle the attack range restriction
[13:10:43] <luteijn> I think I suggested something similar, yewt a bit more abstract. (use some sort of stack for events. The callback mechanism is a kind of stack.)
[13:13:08] <Yuv422> yeah then you can load up events
[13:13:19] <Yuv422> and process them in sequence
[13:16:41] <luteijn> http://www.math.leidenuniv.nl/~wpalenst/nuvielog.php?log=18Aug2006 I think that has the short discussion on it, and SB-X saying he'll work on Event 'soon'
[13:19:40] <Yuv422> I think we need similar functionality in the inventoryview
[13:19:54] <Yuv422> so we can ask the view to select an item from an actor's inventory
[13:20:02] <Yuv422> for pickpocket spell
[13:20:10] <Yuv422> and probably other uses too
[13:22:37] <Yuv422> with the new scripted usecode on the horizon it might be a good time to overhaul the event system
[13:23:06] <luteijn> push (move item) in inventory to contianer or other party member.
[13:27:07] <luteijn> maybe things like rotating the palette, animating the screen, playing sound-effects (clock, fountain) should be like the music, off in their own thread so we can 'block' while waiting for input in our event handling code?
[13:27:49] <Yuv422> I was thinking about that
[13:28:16] <Yuv422> it would simplify things a bit
[13:28:26] <Yuv422> and probably complicate things too. ;-)
[13:28:52] <luteijn> yes, conservation of misery laws..
[13:59:58] <Yuv422> time for bed
[14:00:00] <Yuv422> cya
[14:00:16] <-- Yuv422 has left IRC ()
[14:18:01] <-- Kirben has left IRC (Read error: 110 (Connection timed out))
[14:18:51] <SB-X> ok im back
[14:19:08] <SB-X> for a few minutes anyway
[14:27:47] <SB-X> interesting discussion in the log
[14:29:56] <SB-X> I will go ahead and add the changes to Event Yuv422 suggested later today, and work on finishing a design for the new Event & Input classes.
[14:40:10] <-- laxdragon has left IRC (Remote closed the connection)
[14:43:15] <luteijn> ok.. looks like I'll have a busy day at work today, so not muchtime to finish the moongate (dis)appearance yet.
[15:08:49] --> laxdragon has joined #nuvie
[22:04:40] --> Kirben has joined #nuvie