#pentagram@irc.freenode.net logs for 9 Apr 2004 (GMT)

Archive Today Yesterday Tomorrow
Pentagram homepage


[01:24:21] --> Kirben has joined #pentagram
[01:24:21] --- ChanServ gives channel operator status to Kirben
[01:36:18] --> Sheng_Gradilla has joined #pentagram
[06:21:54] --- sbx|afk is now known as sbx
[06:21:56] <-- sbx has left IRC ("bbl")
[06:45:30] * Sheng_Gradilla is away: No estoy
[10:33:25] --> sbx has joined #pentagram
[12:09:46] --> Colourless has joined #Pentagram
[12:09:47] --- ChanServ gives channel operator status to Colourless
[12:10:53] <Colourless> hi
[12:44:04] <wjp> how are your console changes coming along?
[12:44:20] <wjp> I was thinking of adding some console functions, but they involve parameter parsing, and I was hoping I could avoid that ;-)
[12:59:09] <Colourless> i'll commit the changes tonight i guess :-)
[13:03:30] <Colourless> parsing arguments are always fun :-)
[13:03:51] <Colourless> s/are/is/
[13:05:24] --- Ember is now known as Darke
[13:05:28] --- ChanServ gives channel operator status to Darke
[14:04:15] <Darke> You could always imbed a perl interpreter into pentagram, that way argument parsing would be much easier! *flee!*
[14:04:57] <Colourless> yay for bloat
[14:05:05] <wjp> or just write pentagram in perl
[14:05:49] <Darke> We did have a suggestion to use lua as a replacement for usecode. We *could* use it as a relpacement for engine code instead...
[14:06:46] <Colourless> for some reason i think it would be a really dumb idea... but what would i know.
[14:07:32] <Darke> We only really need one, maybe two frames per second, right?
[14:08:50] * Sheng_Gradilla is back (gone 07:23:17)
[14:08:53] <Colourless> if required, we could always write speed critical section in assembler
[14:10:34] <Darke> Hmm... how else can we maximize complexity, without giving any benefit... documentation in klingon?
[14:10:50] <Sheng_Gradilla> na
[14:10:52] <wjp> nobody reads documentation anyway, so that doesn't really help
[14:10:56] <Sheng_Gradilla> in morgul :P
[14:11:44] <Colourless> I know, a really complex under decomented configuration system using a really awkward syntax.... hang on, we've already got that one
[14:11:57] <Colourless> s/decomented/documented/
[14:12:30] <Darke> No, we don't have a config system implemented in TECO yet, so that can't be right.
[14:13:17] <Sheng_Gradilla> do the config in binary so an hex editor is needed >:)
[14:15:15] --> exultbot has joined #pentagram
[14:15:15] --- Topic for #pentagram is: Spoon!
[14:15:15] --- Topic for #pentagram set by Darke at Sun Feb 15 13:15:28 2004
[14:15:18] <Sheng_Gradilla> :P
[14:15:53] <Sheng_Gradilla> exultbot now listens on #nu5 now :P
[14:16:35] <Darke> "The configuration file is an undocumented binary. Since it required significant reverse engineering for us to write this. We're going to require significant reverse engineering to *play* it too."
[14:17:06] <Colourless> Pentagram.... a game engine for Programmers
[14:17:22] <Sheng_Gradilla> Colourless: yay! :)
[14:18:23] <Colourless> playing on the interplay slogan.... By Programmers, for Programmers
[14:18:39] * Colourless notes that interplay doesn't deserve a capitalized I
[14:18:47] * Darke snickers.
[14:20:56] * Darke doesn't think they've deserved an I since the Descent to Undermountain fiasco, and it's debatable even then they deserved it. *grin*
[14:22:01] <Darke> Perhaps they've not been deserving of the 'play' postfix, rather then the I.
[14:22:28] <Colourless> interdontplay?
[14:23:28] <Darke> interdontwork?
[14:26:13] <Sheng_Gradilla> interpay
[14:26:16] <Sheng_Gradilla> :P
[14:26:53] <Colourless> hmm, no, that's not too good. as far as money goes, they don't have too much any more
[14:30:34] <Colourless> i think in the end i like intershitty. It's to the point, and doesn't leave much to the imagination
[14:31:51] * Darke snerks!
[15:17:23] <Sheng_Gradilla> everyone fell asleep? :P
[15:17:46] <wjp> hm, no
[15:17:59] <Colourless> not at all
[15:18:38] * wjp is very busy, in fact :-)
[15:18:50] <Sheng_Gradilla> :D
[15:20:09] <Sheng_Gradilla> I need some brainpower for discussing things
[15:22:17] * Darke connects a cathode and an electrode to Sheng_Gradilla's ears.
[15:22:27] <Sheng_Gradilla> :P
[15:23:43] <Sheng_Gradilla> I am trying to set in stone the way nu5 will work, and my teammate is just clueless and almost always unavailable
[15:24:08] <Sheng_Gradilla> I was thinking about a backend and frontend system
[15:24:17] <Colourless> well... we might not be the best source to work with :-)
[15:24:38] --> Fingolfin has joined #pentagram
[15:24:38] --- ChanServ gives channel operator status to Fingolfin
[15:24:46] <wjp> hi Fingolfin
[15:24:54] <Sheng_Gradilla> I just need people for pointing advantages and disadvantages in each
[15:24:58] <Sheng_Gradilla> Hi Fingolfin
[15:25:11] <wjp> what are you trying to achieve with a frontend/backend system
[15:25:26] <wjp> and what exactly would the frontend and the backend do and consist of?
[15:25:28] <Sheng_Gradilla> I want a replaceable UI
[15:25:36] <Colourless> hi Fingolfin
[15:26:21] <Sheng_Gradilla> the backend would do the main u5 stuff, it would be the engine
[15:26:53] <Sheng_Gradilla> the frontend show the player what's going on
[15:27:29] <Sheng_Gradilla> and it would be through the frontend that the player communicates with the backend (duh!)
[15:27:45] <Fingolfin> hi
[15:27:57] <wjp> how separate do you envision the two?
[15:29:50] <-- Kirben has left IRC ("System Meltdown")
[15:29:55] <Sheng_Gradilla> that's a good question
[15:30:55] <Sheng_Gradilla> I don't know if it will be possible to have them separate enough so the player can kill the frontend and attach another without closing the backend
[15:31:26] <Darke> Standard client/server message passing? (mmorg/mud-like)
[15:31:35] <Sheng_Gradilla> could be
[15:32:17] <Sheng_Gradilla> that is one of the proposals
[15:32:31] <Darke> C:"Player moves left" S:"Monster moves down" C:"Player goes 'Uhoh!'" S:"Monster bites player's head off." C:"Oh, the humanity!"
[15:33:00] <Darke> (Obviously a bit more detailed then that though. *noddle*)
[15:33:10] <Sheng_Gradilla> of course
[15:33:24] <Colourless> if you want to go multiplayer then message passing is the way to go
[15:33:25] <Sheng_Gradilla> I even thougt of a request for "full status"
[15:33:58] <Colourless> what it would mean though is the client needs to keep a copy of the game status for what it needs to know
[15:34:02] <Sheng_Gradilla> I don't really have plans for multiplayer, but so many people ask for it nowadays that I could take the approach
[15:34:13] <Colourless> you either send all the relevant data each server frame, or send 'deltas'
[15:34:42] <Colourless> client to server data pretty much is just the various client inputs
[15:36:26] <Sheng_Gradilla> the other proposal is to do things the way everyone does, make the whole system monolithic and then try to hammer new things in :P
[15:36:50] <Sheng_Gradilla> but that's not an innovative way :P
[15:37:12] <Colourless> it's also the path to future pain if things aren't flexible :-)
[15:37:14] <Sheng_Gradilla> and nu5 would be kind of like a fork of xu4
[15:37:34] <Darke> It's not as if client/server is particularly innovative either, y'know? *grin*
[15:37:36] <Colourless> that said any method is the path to future pain if there isn't enough flexibility
[15:37:46] <Sheng_Gradilla> that's what I want' flexibility
[15:39:01] <Colourless> I know, make nu4 a Pentagram process ;-)
[15:39:10] <Colourless> s/4/5/
[15:39:38] <Sheng_Gradilla> :P
[15:40:08] <Sheng_Gradilla> I have not looked at Pentagram much
[15:40:16] <Sheng_Gradilla> what do you mean?
[15:43:33] <Colourless> Pentagram is made up of Processes which run each frame and Gumps which are the user interface elements.
[15:44:51] <Colourless> my comment of course was not serious. The idea is that you could possibly create an entire engine within a pentagram process :-)
[15:45:01] <Sheng_Gradilla> :D
[15:49:13] <Colourless> there isn't really anything 'too' special about the way pentagram is set up. Even if we didn't want to be doing things the way we are doing them, much of it would purely be forced on us be the requirements of the u8 engine anyway
[15:49:56] <wjp> ...which coincidentally used processes and gumps too ;-)
[15:50:19] <Sheng_Gradilla> :D
[15:50:36] * Darke is shocked, *shocked* at that stunning revelation!
[15:50:45] <Sheng_Gradilla> :P
[15:52:08] <Colourless> pentagram a simple game loop. Run the processes, then paint the gumps (as many times as possible until we need to run the processes next).
[15:52:11] <Sheng_Gradilla> the backend would keep track of the player's position, items, health, would deal with conversations, etc
[15:53:23] <Sheng_Gradilla> the frontend would show it
[16:23:30] <-- Sheng_Gradilla has left IRC ("bbl")
[17:25:08] <wjp> well, I think I've got most of the combat/hit mechanics now
[17:25:32] <wjp> although I guess I need to monster stats for this to work too :-)
[17:25:44] <Colourless> :-)
[17:25:48] <wjp> s/to //
[17:26:17] <wjp> and Actor::die() isn't done yet either
[17:26:32] <wjp> that one will be "interesting"
[17:26:58] <wjp> I seem to remember treasure on corpses is hardcoded
[17:27:21] <wjp> and then there's special behaviour for some dying monsters (such as not-really-dying skeletons, or exploding eyebeasts)
[17:27:26] * wjp sighs :-)
[17:27:41] <wjp> bbl, dinner
[17:27:43] <Colourless> programmers can be lazy :-)
[17:31:18] <-- Fingolfin has left IRC ("42")
[17:48:15] <Colourless> hmmm.
[17:48:53] * Colourless hopes that once he has commited his stuff that the new and improved istring actually works for everyone :-)
[18:08:57] * wjp hopes so too :-)
[18:27:40] <Colourless> ok, this is looking ready to go
[18:28:53] <Colourless> one slight change, which could be changed if wanted. Args that gets passed to the command function now includes command name too
[18:29:16] <Colourless> also quoted strings are handled
[18:52:21] <Colourless> this is insane. cvs update is taking forever
[19:00:28] <Colourless> tsk tsk wjp.... you spelt armour using english spelling :-)
[19:02:17] <wjp> hm, yes, I did
[19:02:24] <wjp> should I change it to armor?
[19:02:31] <Colourless> i couldn't care less :-)
[19:05:09] <sbx> word: armour
[19:05:09] <sbx> how about: amour, armor, Armour, arm our, arm-our
[19:31:58] <Colourless> all committed
[19:35:09] <wjp> amazing; only one conflict
[19:36:56] <wjp> now for the compile errors... :-)
[19:37:01] <Colourless> :-)
[19:37:27] <wjp> is the last line of Console.h a template instantiation?
[19:37:59] <Colourless> yeah
[19:38:06] <Colourless> get rid of the <>
[19:38:16] <Colourless> done that in a few places :-)
[19:38:27] <wjp> in SoftRenderSurface.cpp we have: template class SoftRenderSurface<uint16>;
[19:38:55] <Colourless> yeah you are supposed to use template class
[19:41:21] <wjp> misc/Console.cpp:627: type `Pentagram::ichar_traits' is not a base type for
[19:41:22] <wjp> type `Pentagram::istring'
[19:42:25] <Colourless> ok lets see
[19:45:06] <Colourless> uh
[19:45:09] <wjp> also the explicit instantiations in util.h are probably invalid
[19:45:36] <wjp> since you can only explicitly instantiate templates which are actually defined (as opposed to only declared)
[19:45:50] <Colourless> ah ok, then get rid of them
[19:46:11] <Colourless> fix for misc/Console.cpp:627 should be
[19:46:20] <Colourless> if (!Pentagram::istring::traits_type::eq(*it1,*it2)) break;
[19:46:50] <wjp> ok, Console.cpp compiles now
[19:46:52] <Colourless> i've also got the explicit instantiations in util.cpp too
[19:48:01] <wjp> util.cpp line 43 needs a 'typename' to indicate that T::const_iterator is a type
[19:48:24] <wjp> same for line 61
[19:49:01] <Colourless> add typename to the beginning of those lines :-)
[19:49:30] <wjp> yes, I expected that to be the solution ;-)
[19:52:40] <wjp> ...still compiling...
[20:03:59] <wjp> and done
[20:04:47] <wjp> without any further errors
[20:04:57] <Colourless> great
[20:08:09] <wjp> hm, pentagram hangs on startup when the audio device is busy
[20:09:33] <Colourless> where exactly>
[20:09:56] <wjp> when it already reported a missing intrinsic
[20:10:07] <wjp> but before showing the game map
[20:10:40] <Colourless> probably attempting to play music
[20:10:50] <Colourless> (on cachein)
[20:14:43] <wjp> ok, my turn to commit :-)
[20:14:48] <Colourless> :-)
[20:17:49] --- sbx is now known as sbx|afk
[20:19:19] <Colourless> you know what's needed... command history :-)
[20:19:39] <wjp> how about we just include gnu gettext? :-)
[20:22:21] <wjp> hm, no, not that one
[20:22:29] <Colourless> i think i'll add command history tomorrow.
[20:22:37] <wjp> it seems I can't remember the name of that library :-)
[20:23:04] <wjp> ah, readline
[20:23:56] <Colourless> though you know, gettext would still have it's uses :-)
[20:33:25] <wjp> now let's see if I can have the avatar actually hit something
[20:33:57] <wjp> item search followed by direction and range check, I would guess
[20:34:21] <wjp> although being a bit flexible on the direction check would probably be a good thing
[20:34:28] <Colourless> item search or a trace
[20:34:52] <wjp> trace?
[20:34:58] <Colourless> yeah an arc rather than a ray would be nice
[20:35:42] <Colourless> sweepTest :-)
[20:37:24] <wjp> hm, need to make sure we only hit a monster once per attack animation
[20:37:45] <wjp> ..., since several of the animation frames have the attack flag set
[21:09:07] <-- sbx|afk has left IRC ("ZZzzz")
[21:33:00] <Colourless> time for me to disappear
[21:33:03] <-- Colourless has left IRC ("casts invisibility")