03 Nov, 2008, Avaeryn wrote in the 1st comment:
Votes: 0
November 3, 2008


Retnur: 'I don't understand what you're saying.'
Avaeryn: 'there isn't any attempt to divide the community.'
Quixadhal has entered the game.
Retnur: 'You're against the project in general?'
Avaeryn: 'what we're hoping to do is bring the RaM codebase up to par'
Valasa: 'I think they really intend RaM to replace RoM'
Avaeryn: 'no one is saying we're replacing RoM'
Quixadhal sits on an oak table surrounded by chairs.
Avaeryn: 'that's not the intent or purpose of this venture. i don't know if i speak for all, but that's definitely not the feeling i get from everyone who has been working on things here'
Retnur: 'I think anyone who is wise about a starting codebase would pick RaM over RoM. I suspect ours will be much easier to use, less bugs, and better documented.'
Avaeryn: 'very well said, retnur'
Frenze: 'well on another hand'
Valasa: 'I mean like alot of SMAUG users use FUSS to start'
Frenze: 'why wouldn't someone pick SMAUG or TBA base, who's btch are very stable and worthy'
Avaeryn: 'we're just debugging the codebase, adding features that most admins want. in other words, going beyond 1stmud and Quickmud, which are rom projects that aren't being developed any longer'
Retnur: 'Because RoM is more widely used than both Smaug and Circle. There's a lot of people who want a "fixed up" version of rom if they're going to use it anyways.'
You agree absolutely.
Quixadhal: 'True enough, but SMAUG and TBA are both different styles of game from ROM'
Quixadhal: 'If you log into a Smaug or a Circle, the way the game feels is quite different.'
Frenze: 'hmm, the only reason i would agree to its more use is because of its age compared to the others, honestly, because it did come befor them'
Quixadhal: 'I suspect folks will choose RaM if they liked the feel of ROM.'
Retnur: 'I don't really agree with the idea that we should shut down everything but FUSS and TBA to consolidate the mudding community. :P'
Avaeryn: 'Nor do I'
Quixadhal: 'and that includes things like the skill system, the combat flow, and yes… OLC and such.'
Retnur: 'If that was the case then let's flip a coin and shut down TBA or FUSS to consolidate it into one.'
Retnur: 'I don't think either of those projects would like it.'
Frenze: 'Thats not really what i ment though'
Frenze sighs.
Avaeryn: 'Then what did you mean?'
Avaeryn: 'I think another reason we're seeing fewer players on muds is because of the glut of muds in existence. Most aren't modified or unique, but they're out there.'
Pedlar: 'am I late?'
Pedlar winks suggestively at you.
Avaeryn: 'nope you're not pedlar'
You smile at him.
Frenze: 'I mean, i just think other focuses could be made at this point, i know i've been trying to get new players by advertising in other ways, and am working slowly to get it done, I'm just at the point where i look at the 1000 muds out there that a newb look'
Frenze: 'i realy hate this small buffer'
Frenze: 'looks at and says this is shit, because a lot of them are, then don't mud because of it'
Avaeryn: 'Then maybe we should start setting limits on who can start a mud then.'
Retnur: 'Well, I blame the people who released codebases in the first place. :P'
Avaeryn: 'make them pass a mud admins test of qualification'
Frenze: 'why not?'
Retnur: 'But if the codebases are going to be out there, they might as well be a higher quality for people who are actually going to make something good out of it'
Avaeryn: 'who would decide who is qualified?'
Pedlar: '10 bucks says Runter wont pass the qual test'
Quixadhal: 'The problem there is that many of the old codebases were released with full area files… and thus lazy people could throw up a mud with zero changes.'
Frenze nods at Quixadhal.
Retnur: 'I'll decide who is qualified. I'll be the Czar of Diku.'
Quixadhal: 'It even has a name… the Humpback Bridge problem (from LpMUD 2.4.5)'
You cheer Retnur on and wish him good luck!
Pedlar winks at Retnur.
Quixadhal bows before Retnur.
Valasa: '2 muds could use the same codebase (the more advanced anyway) and have much differnt play if the content was good (and differnt)'
Retnur: 'I think the original people could have saved us all a headache'
Pedlar: 'Retnur, yer the Czar of the desert, now hop to it!'
Frenze: 'i loged on once that had the exact smaug areas, they just gave thier imms triggers so they could just idle and never talk'
Frenze: 'that was sad'
Retnur: 'If they would have just required they pay them 5 bucks to use the codebase.'
Retnur: 'Most of these startup muds would have never existed.'
Frenze: 'heh'
Quixadhal: 'I do agree that distributing more than a few example areas is a mistake.'
Retnur: 'Or even 1 dollar.'
Frenze: 'well i don't think making people pay is what you have to do'
Valasa: 'I blame it on free servers (or the ability to run at home)'
Frenze: 'its sites like mud connect that have links to 100+ muds when only 200 of them are prolly anything of quality'
Valasa: 'but, I think we are off topic'
Avaeryn: 'There are a lot of reasons, not just one.'
Quixadhal: 'My virtual servers are going to get you Valasa…'
Frenze chuckles politely.
Avaeryn: 'admin@mudconnect.com'
Avaeryn: 'take it up with iccy, not us'
Frenze ment 1000+ BTW
Avaeryn: 'now, since davion isn't here, i'll get us back on track'
Avaeryn: 'quix, update us on what you have been up to.'
Retnur: 'Btw, is this mud we are connected to now using ram code?'
Quixadhal: 'death, destruction, stealing radiation pills… oh, you meant here, not in Fallout?'
Quixadhal grins evilly.
Retnur sighs at the sight of Quixadhal.
Avaeryn: 'not that i'm aware of retnur. it's still the same thing i started with.'
Frenze: 'ok i'm done, that was my only argument about a new base, but then i have another question about itwhere would it stand out, like what features will RAM have that SMAUG or TBA or fear or anyone else don't?'
Retnur: 'I wish you'd never gotten into that game :P'
Retnur: 'I don't know what features Smaug or TBA or anyone else uses. ^_-'
Quixadhal: 'That depends on what we come up with for builders… RaM isn't meant to be a game, it's meant to be a tool you can use to build a game.'
Retnur: 'I know I never particularly liked the way smaug was designed.'
You nod sagely.
Quixadhal: 'Those who use our code supply the imagination and make a game from it.'
Quixadhal: 'We would like to provide solid building tools and easy to understand code that you can modify though.'
Frenze: 'ok now that is what i was asking'
Quixadhal: 'THAT's worth 1000 smurf.are files.'
Valasa: 'how is it that much differnt then RoM as they both come from merc?'
Retnur: 'How is what much different?'
Valasa: 'RoM and SMAUG at the base design level'
Frenze: 'well what would you do for an OLC? just rom/smaugish or a circle type menus? how about programs? smaug or lua or DG scripts?'
Avaeryn: 'i think the question is why is RaM any different than RoM, what features will make it unique, and why are we trying to introduce a new mud to split up the community. 3 questions, actually.'
Retnur: 'They're very similar but I think some of the direction smaug went in was a step laterally.'
Retnur: 'And a step I wouldn't have taken in the first place.'
Quixadhal: 'Was it envy that ripped lots of things out from merc, or the other way around? I forgot… one ripped lots of features out, the other put many of them back.'
You sit on an oak table surrounded by chairs and rest.
Retnur: 'We're definitely not doing oasis style olc. :P'
Quixadhal chuckles politely.
Valasa: 'merc ripped out alot of diku'
Quixadhal: 'That's an alternate UI that can be added later for those who like menu driven code.'
Retnur: 'The entire idea of RaM is keeping it familiar to builders and admins and making the code easier to work with.'
Quixadhal: 'build a good solid command driven OLC and you can slap several UI's on top of it.'
You nod at Quixadhal.
Retnur: 'I don't think on the code side we're trying to cader to the uneducated admin. We're trying to cader to the people who actually will make the good products.'
Avaeryn: 'stock bugs are being addressed. the code is being tested to see if it compiles under modern compilers.'
Quixadhal: 'Yes, more solid code… hopefully easier to figure out by reading it'
Avaeryn: 'that's a huge step, especially if you read any newbie coder forum.'
Quixadhal: 'documentation! *gasp*'
You cheer Quixadhal on and wish him good luck!
Avaeryn: 'yes, definitely documentation.'
Retnur: 'I like how most of these codebases keep old and out of date documentation in their distribution.'
Retnur: 'No information is better than misinformation.'
Quixadhal: 'DikuMUD Gamma had a lot of weirdness, and some of that got multiplied with each derivative. There's plenty to clean up.'
Frenze: 'hmm'
Quixadhal: 'But, the alternative is re-inventing the wheel again.'
Quixadhal: 'and while that can be fun… very few "new" codebases have gotten any traction.'
Retnur: 'Personally I want my wheel to be spiky so it gets more traction.'
Quixadhal: 'I was thinking treads, myself.'
Retnur: 'Since we're working with rom I was thinking like caveman wheels.'
Retnur: 'So spiked stone wheels.'
Quixadhal steals Retnur's dinosaur bone axle.
Retnur: 'I want to reinvent the fire too while we're at it.'
Retnur: 'I'm ready to actually get to work on real code. :P'
Quixadhal: 'So, someone was asking what kind of trouble I've been getting into?'
You chuckle politely.
Avaeryn: 'have you completed the bugfixes was my question'
Avaeryn: 'and for the newcomers, you can read the hacklog here http://sulinea.arthmoor.com/ram/HACKLOG'
Quixadhal smiles happily.
Avaeryn: 'that might answer a few of your most pressing questions'
Quixadhal: 'I have completed the massive code wrangling, but haven't gone through our old bug lists yet.'
You nod.
Retnur: 'Can we move .o files into an obj folder in the src?'
Avaeryn: 'any idea of when you might complete those?'
Retnur: 'Should be pretty easy with a makefile change.'
Quixadhal: 'It's not hard, although it's a bit of a pain and we don't have that many source files to be honest.'
Quixadhal: 'It makes the dependancy generation code ugly :)'
Retnur: 'Every mud I've worked on eventually has that many source files'
Retnur: 'And it's something most people would rather have after they start developing.'
Valasa: 'that actualy brings up a design point'
Quixadhal: 'shoot'
Valasa: 'to have only a few large files, or factor out many smaller files, maybe even spliting merc.h'
Avaeryn: 'bang'
Retnur: 'More files is better for this kind of project.'
Retnur: 'It lets us not step on each others feet.'
Retnur: 'Especially if it's localized.'
Quixadhal: 'Yep, I've already done a little bit of refactoring… there's more that should be done as we go along'
Avaeryn: 'i think it might also make it easier to find what needs to be edited for admins/coders who are not as familiar with the base'
Avaeryn: 'shouldn't those files make sense? in some wierd way anyway '
Quixadhal: 'Ideally, each file should address a logical function of the codebase'
Retnur: 'I don't like splitting up files like magic.c into magic2.c'
Retnur: 'That never really made sense.'
Quixadhal: 'I think that came from the sense of sacrosanctness (is that a word?) people felt towards the ancesteral code'
Quixadhal: 'The merc structure got preserved all the way down because people were afraid to modify things, so they added new files that did the same thing.'
Retnur: 'I don't know. I just think if you have spells you want them all in the same file or in different files based on something other than just putting all the new ones in a new file.'
Avaeryn: 'yes it is, quix.'
Valasa: 'you could however have attack_spells, and the like'
Retnur: 'Like white_magic.c black_magic.c'
Retnur: 'That would make more sense to me.'
Valasa: 'having just magic and magic2 though is pointless'
Quixadhal: 'In my game, I make subdirectories when I have more than one related thing… so a magic or spells subdir with the various kinds of spells would make sense.'
Quixadhal: 'Although it makes the Makefile even uglier…. :('
Valasa: 'you could make the Makefile comile all the code files'
Frenze: 'or make it like TBA where it just auto detects new files'
Frenze nods at Valasa.
Frenze: 'heh'
Retnur: 'I use a wildcard makefile on my muds. *shrug*'
Retnur: 'I don't like having to list files and such. If it's in my src I want to compile it.'
Frenze nods.
Valasa nods.
Quixadhal: 'I have utility programs that aren't part of the driver. :)'
Valasa: 'I have seen a number of muds like that'
Quixadhal: 'Us cavemen with no OLC need our own custom building tools.'
Retnur: '*wishes he would have wrote down some of the bugs he came across when valgrinding rom years ago*'
Retnur: 'I know there's a lot of read/write memory bugs that aren't documented anywhere that I fixed some years ago.'
Retnur: 'I just can't remember what they were.'
Quixadhal: 'yep, that happens as we get older'
Quixadhal pokes Retnur in the ribs.
Retnur: 'So when is multiple people going to actually start working on the code? I could probably go through the entire bug list pretty fast.'
Quixadhal: 'As soon as we can get Davion to add username/passwords to the svn config file :)'
Avaeryn: 'Davion is caught up with work. Have not seen Nibios in a bit, or sandy.'
Avaeryn: 'If I knew how to do that guys, I would.'
Quixadhal: 'I suppose I should probably rearrange the directories before then too.'
Retnur: 'It's already been like a month :P'
Retnur: 'I've had a lot of free time that's fixing to disappear.'
Avaeryn: 'do either of you know how?'
Retnur: 'I don't know much about svn.'
Quixadhal: 'Yeah, I know the svn part… not sure I could pin down the apache part though.'
Quixadhal: 'svn uses apache for authenticaion, and then it has a config file to control who gets read/write access to what directories.'
You nod sagely.
Quixadhal: 'I can do that part easily enough. Authentication depends on how apache is setup. So I'm not sure how easy or hard it would be for your particular setup.'
You nod.
Quixadhal: 'for a layout, I'm thinking of making two main trunk directories and then a branches directory for our own experiements.'
You nod.
Retnur: 'Since we're doing a C and a C++ branch I was thinking we should do a fortran branch and Quix can maintain it in parallel.'
Quixadhal: 'the mains could just be "C" and "C++", or we can come up with clever names.'
Avaeryn: 'CRaM and CRam+'
Quixadhal: 'I was thinking the C branch coudl be Caveman, but hadn't thought of a cool name for the C++ one. :)'
Retnur: 'CRam CRam+ and for the fortran – AncientRam.'
You chuckle at his joke.
Quixadhal: 'Remember, RaM is already part of the pathname. :)'
Quixadhal: 'c78 for the fortran branch.'
Retnur: '"Caveman with Classes"'
Retnur: 'Considering the original name of C++ was "C with Classes" I think that's fitting. :P'
Quixadhal: 'which fortran people will laugh at, and everyone else will blink'
Quixadhal: '(column 78 was the comment column… you had to use a special extension character to make code wrap to the next line) :)'
Retnur: 'Quix can get the code to compile with punch cards.'
Quixadhal: 'So you young whippersnappers better not whine about Python's whitespace'
Retnur: 'I'll leave that to you'
Quixadhal: 'I could… but the cats tend to play with the punchcards so it might have some extra bugs'
Retnur: 'What else do we need to discuss?'
Quixadhal: 'hmmmm… do we want to divvy up the bug lists?'
Avaeryn: 'I think Quix can hopefully get the user names and passwords set up. That might allow work to proceed at a quicker pace.'
Valasa: 'if the C branch is going to also compile g++, have you made it g++ ready yet?'
Avaeryn: 'Divvying up might prevent confusion :)'
Quixadhal: 'Yes, right now it compiles clean from gcc 3.4 up through g++ 4.3.1'
Valasa nods.
Quixadhal: 'Oh, fixing the bugs that show up at boot time should be something someone does… probably editing the area files actually.'
Quixadhal: 'I think some fire elementals try to load equipment that is broken, or not there, or something.'
Quixadhal: 'There's about a dozen that pop up when you boot the game anyways….it would be nice to clear that up.'
Retnur: 'Meh.'
Retnur: 'Just make the spots where it produces the errors fix it :P'
Quixadhal: 'now now, shipping bad data is just as wrong as shipping bad code.'
Quixadhal: 'I've been nice and not mentioned the *cough* help files *cough* yet.'
Retnur: 'Some of the errors come from stuff like the object being too low level on a higher level mob.'
Retnur: 'But that was probably intended that way by the builder.'
Retnur: 'So the question is, shoudl that really even be an error messagE?'
Retnur: 'And if it shoudl how should we fix it?'
Quixadhal: 'well, since we are now the builders….'
Retnur: 'We have no idea what hte stock balance was intended to be.'
Retnur: 'And frankly I don't care.'
Retnur: 'I say set the object level up to the level of the mob in that case.'
Quixadhal: 'fine by me… I'm not overly concerned with it, but I'd like it to boot clean before we make any official release.'
Retnur: 'Some of the errors are kinda legitmate'
Retnur: 'Like'
Retnur: 'Objects that are higher than the mob it is loading on can wear.'
Quixadhal: 'for that matter, what do people think about ripping out most of those "stock" areas?'
Quixadhal: 'I'd rather ship with a small example world than a full playable world.'
Retnur: 'I wouldn't be against it.'
Retnur: 'But'
Retnur: 'It gives us some good opportunites to test stuff on a larger world.'
Quixadhal: 'yes, probably not something we need to do soon, but something to think about.'
Quixadhal: 'In fact, I think redesigning a new starter world once we have OLC might be a good idea'
Retnur: 'We might even want to get some quality builders to produce a few decent example areas it ships with.'
Retnur: 'Instead of a lot of crappy ones.'
Quixadhal: 'A "Mud School" that's actually entertaining?'
Avaeryn: 'i would hope i could manage an area or two'
Retnur: 'The eternal debate of to mud school or not to mud school rages on.'
Quixadhal: 'I don't like them, but I think we should ship with something that acts like one.'
Quixadhal: 'although it doesn't have to be a "school" setting.'
Retnur: 'I think it shouldn't even be area bound.'
Retnur: 'We might just want a tutorial system.'
Retnur: 'Not some type of makeshift tutorial'
Quixadhal: 'If we have a quest system, that could do the job nicely.'
Retnur: 'Yeah'
Quixadhal: 'It worked great for WoW. *ducks*'
Retnur: 'Like I said, misinformation is worse than no information.'
Retnur: 'And putting things in descriptions that don't belong there is misinformation for new players trying to understand what a description represents.'
Retnur: 'Descriptions shouldn't be some mythical voice from above telling you how to play this game.'
Retnur: 'It's text that describes a room. And in a "mud school" you would think they would try to convey that above all else.'
Quixadhal: 'You think you see a great hand, reaching out from the sky. The hand is your hand, the voices, your victims.'
Valasa: 'if you are going to have that kind of thing (voices) mprogs would be better then in a desc for sure'
You snicker softly.
Retnur: 'I think part of what has to ship with a decent codebase that is often missed is a decent scripting engine for doing this kind of stuff.'
Retnur: 'Mprogs are minimum.'
Retnur: 'But they could be expanded on greatly.'
Quixadhal: 'Yep… mprogs that are debugged are a start'
Frenze: 'i would say go with DG scripts'
Frenze: 'very powerful and definatly gets the job done'
Retnur: 'I've got a scripting engine I wrote that I'll lobby eventually for the project.'
Frenze: 'or a upgraded mprog system'
Valasa: 'yea, I wrote an expantion and use it for all kinds of things'
Retnur: 'It interprets it before it's ran to ensure no syntax errors. Has error reporting, etc.'
Retnur: 'Has functions, has variable types.'
Quixadhal: 'of course, whenever I say mprog, I mean "mudprog" since I think mobs/objects/rooms all need scriptables.'
Retnur: 'I don't see why it all wouldn'
Retnur: 'wouldn't be encompassed int he say syste.'
Valasa: 'I also have player and system'
Frenze: 'i am sure most people think that way now a days'
Quixadhal: 'A lot of people see mprog being only for mobs, which is too limited'
Retnur: 'The concept of mob programs is way way too limited and inefficient.'
Frenze: 'well, Fizban wrote up a nice code that attatches scripts to players as well, which is also pretty handy'
Retnur: 'I'll leave it for another day, but I have a better system to pitch eventually.'
Quixadhal nods.
Retnur: 'Which isn't pie in the sky. I've actually developed and works as a full online scripting language.'
Frenze: 'i don't see why you would go out of your way inventing something when you could use something that already has support and people who know how to do it'
Frenze shrugs helplessly.
Retnur: 'Because mine is better.'
Retnur: 'Good enough reason?'
Frenze: 'i would have to see a lot from it to be convinced'
Retnur: 'The same could be said for why anyone isn't using python.'
Retnur: 'To script.'
Quixadhal: 'That's why anything gets invented… someone thinks they can do it better. :)'
Frenze chuckles politely.
Frenze: 'well DG scripts are abosluty usable, and i haven't seen anything they can't do'
Frenze shrugs helplessly.
Retnur: 'Good thing I don't have to convince the TBA developers as to what to use on the RaM project. ;)'
Frenze: 'and mprogs can be easily made to be that way'
Retnur: 'I agree dg scripts are better than mprogs.'
Frenze: 'well maybe not EASILY but definatly can be worked with'
Retnur: 'But if we're going to use dg scripts we might as well just start with circle as our development base for ram. :P'
Frenze: 'heh'
Quixadhal grins evilly.
Frenze: 'well its a good base'
Frenze shrugs helplessly.
Retnur: 'I like circle okay.'
Quixadhal: 'You mean I wasn't supposed to merge in all the loading code from Circle and Smaug too?'
Retnur: 'But I think others might be turned off from the binary pfiles.'
Retnur: 'The olc is stinky in my opinion.'
Avaeryn: 'i thought we were doing a rom base, not smaug or circle'
Frenze: 'TBA has ASCII pfiles or whatever they are'
Quixadhal: 'I figured I'd add in the loading routines for VMS Monster too, just in case.'
Retnur: 'For the record, I have nothing against binary pfiles.'
Quixadhal: 'I can't get the code for MUD1 though. :('
Frenze: 'well if you're gonna make a new base i don't think you can argue that taking things from pre existing ones that we all know are good features is a bad thing'
Valasa: 'if you want to load zone files from other bases, there is no real reason to have their loading code, you can just tweak what you have'
Quixadhal chuckles politely.
Quixadhal: 'yes, you have to convert all the stupid flag values and junk anyways'
Retnur: 'I think it's completely debatable and unseemly to take features like dgscripts which everyone knows is a circle thing and putting it in this.'
Avaeryn: 'the intent was to make a rom base, not a new base'
Retnur: 'Ram is supposed to be a new RoM for RoM people.'
Frenze: 'yea but as most people i talk to, rom is useless with SMAUG and TBA and other new ones floating around, IMO'
Retnur: 'I think that's a talking point from people who prefer Smaug and TBA.'
Quixadhal: 'There's a reason for that Frenze…. nobody has done a good cleanup for ROM that's still active.'
Retnur: 'I think it's proof there is some interest in the project considering on mudbytes the RaM forum has as much or more posts as smaug and circle has total in the forums already. :P'
Frenze: 'well i see muds like, for example DEKON or whatever its called, that i found to be, lacking in all department'
Frenze: 'departments'
Quixadhal: 'SmaugFUSS and TBA are both active, hence the popularity. We're aiming at the same kind of idea here.'
Frenze: 'but then again, there was ivilice mud which was a rom and was kinda cool'
Frenze shrugs helplessly.
Avaeryn: 'if your entire purpose in coming here was to convince us to use another base, the door is that way'
Avaeryn: 'this is a rom base, not circle, not smaug'
Retnur: 'Ivalice isn't really rom. It's a merc based mud.'
Frenze: 'hmm'
Retnur: '(I know the guy who runs it in real life.)'
Frenze chuckles politely.
Quixadhal: 'Yes, and if I were going to make a new codebase, it would be in something like Ruby anyways.'
Retnur: 'He's been working on it for like 12 years or something.'
Frenze nods.
Frenze: 'its a good mud'
Frenze shrugs helplessly.
Frenze: 'i can't say anythig bad about it'
Retnur: 'You haven't seen the code. >:)'
Frenze: 'but it just didn't fit the look that i like'
Frenze: 'i think you need to appeal to the player more then anything give them something they WANT to stare at for hours'
Avaeryn: 'is the ram part of the meeting over?'
Quixadhal: 'My three favorite old muds were WileyMUD (Diku Gamma), Ivory Tower (LpMUD 3.2) and BatMUD (custom LDMUD-based lib).'
Retnur: 'Avaeryn is ready for bed.'
Frenze: 'so a option edit is something you might find useful, to let people pick and choose what colors they want'
Avaeryn: 'no, not really'
Frenze: 'i didn't enjoy batmud'
Frenze shrugs helplessly.
Quixadhal: 'I could list the changes I made, or you guys can just skim the HACKLOG'
Retnur: 'I got an idea'
Quixadhal: 'or do svn log -r16:26 I think too.'
Retnur: 'Let's abandon ram and turn it into a project replacing what we think are bad features in TBA with smaug stuff.'
Retnur: 'Then we'll all be unified.'
Frenze: 'heh'
Frenze: 'well i was working on something like that…. once apon a time, but the progect went from TBA to smaug, to smaug with a little TBA'
Avaeryn: 'i'd think we need to get kavir to let us unify godwars with the base too'
Retnur: 'Yeah'
Avaeryn: 'and lpc too, let's not forget that. a few mushes/muxes thrown in and i think we only have one base'
Frenze: 'actually, more like TBA/SMAUG/SWR'
Avaeryn: 'so we''
Avaeryn: 'so we can stop splitting the mudding community with our efforts'
Quixadhal: 'Let's just phone up Richard Bartle and make a new derivative from MUD1?'
Retnur: 'Let's just mix every single type of mud that exists into a blob.'
Frenze: 'or we could kill WOW and take back the mudders!'
Frenze: '>.>'
Retnur: 'pft'
Valasa: 'speeking of godwars2, are you intending any wilderness system?'
Retnur: 'I think that's a gameplay thing.'
Retnur: 'But'
Retnur: 'I will release a snippet for it for the codebase even if we don't.'
Retnur: 'Because I like em.'
Quixadhal: 'I'd like to have the hooks in to allow virtual rooms, and let others turn it into a wilderness if they want.'
Valasa: 'some love them, and some hate them, it should be an option to use in any event'
Quixadhal: 'I'd just stop at virtual rooms though, as some people want an ascii map system, others want them to look like normal rooms but be derived from a map file or function.'
Quixadhal: 'Samson said one of the big reasons people didn't adopt his AFKMUD base was actually the overland map system he had… I guess it was too hard to rip out or something.'
Frenze: 'well here is an idea'
Frenze: 'maybe take massive polls find out what the players actually like?'
Quixadhal: 'I'd rather not have people feel they need to rip things out… replacing them with different versions, yes… removing them entirely probably means we added too many bloat features.'
Avaeryn: 'it really isn't about what players want, it's what the admins want'
Frenze sighs.
Avaeryn: 'the idea is to let the admin modify it after they start it up to be what they want'
Frenze: 'and thats where a mud dies'
Quixadhal: 'the players want a game… we aren't making a game.'
Avaeryn: 'you're missing my point frenze'
Avaeryn: 'what quix said'
Quixadhal: 'do you want the gcc people to enforce that all your code opens a window with a blue background?'
Avaeryn: 'it's an engine for the person who starts it up so they have a flexible, feature-rich base that will allow them to easily modify and add new features'
Avaeryn: 'it's their baby after, and their players'
Avaeryn: 'this place won't be open for players'
Quixadhal: 'I wouldn't even know where to start putting in gameplay features for … say… an anime based game. The guy who wants to run such a thing does know though, and if our engine doesn't have too much cruft to replace, he can do so cleanly.'
Avaeryn: 'well said quix'
Frenze: 'well, having a few things like a decent battle system in a base is always handy and makes life easier for the guy having to do it'
Quixadhal: 'not if your idea of battle is differnent than mine. How would you design a battle system that works for both Battletech and a fantasy game?'
Quixadhal: 'The best we can do there is keep it simple so it can be understood and modified.'
Quixadhal: 'If you're looking to download a fully playable game, there are tons of those out there.. Dawn comes to mind.'
Quixadhal: 'but if you already have your own ideas of how to do things, you just want something that works well at the basic stuff and gives you tools to build on.'
Retnur: 'Let's make an open source graphical mud.'
Retnur: 'I've actually been spending most of my time learning mesh and 3d light and camera rendering with directX.'
Quixadhal: 'garagegames.com already has a licensable engine for It's the one they used for Tribes 2.'
Retnur: 'Too bad I'm a crappy artist.'
Retnur: 'I don't like that engine.'
Quixadhal: 'garagegames.com already has a licensable engine for $100…. It's the one they used for Tribes 2.'
Retnur: 'You only get the binary and have to use torquescript'
Retnur: 'You have to pay more to get the source code.'
Quixadhal: 'For 100 bucks, it beats anything open source you're going to find. You have to publish your game through them to get the source code.'
Retnur: 'No, they have a "pro" license to get the source code.'
Quixadhal: 'but have fun building your world for the next 10 years without an art department.'
Avaeryn: 'wandering off topic…'
Retnur: 'And the way they implement it…'
Retnur: 'It's for turn based multiplayer games if you use their networking code.'
Quixadhal: 'There's a topic around here? :)'
Avaeryn: 'i thought there was earlier :P'
Quixadhal tickles you - ho ho ho.
Quixadhal: 'If anyone's been brave enough to look at the latest svn checkout…'
Retnur: 'What do you want me to look at?'
Retnur: 'I've got revision 26'
Quixadhal: 'all the bugs I probably introduced… fix them… NOW!'
Quixadhal grins evilly.
Retnur: 'So you want someone to play test it? :P'
Quixadhal: 'sure… I don't have a working bot yet, so my horde of 1000 playtesters is nowhere to be found.'
Avaeryn: 'if you want to start it up here, i'd be willing to playtest some '
Avaeryn: 'this can be shut down, the other version put up'
Retnur: 'Why don't we use this as the working version?'
Retnur: 'That we connect to for meetings'
Avaeryn: 'that's fine with me'
Avaeryn: 'this base was up as a placeholder'
Avaeryn: 'for meetings, etc. you know the drill'
Quixadhal: 'sure, it'll be amusing to see if you guys can survive without color'
Retnur: 'I was wanting to write some special code for our meetings to make it a little easier on the eyes. :P'
Avaeryn: 'and disable weather/time messages?'
Retnur: 'Maybe have it automatically color code and group things that the same person is saying consecutively.'
Retnur: 'And get rid of "blah says" in front of everything somehow.'
Quixadhal: 'that's called a meeting room, and is a perfect thing for a room script engine to do. :)'
Retnur: 'We don't have a room script engine.'
Retnur: 'And from the looks of it we won't have much but basics for a long time'
Quixadhal: 'details, details… *waves hand*'
Valasa: 'you mean so the viewer does not know the order of the convo?'
Retnur: '..no'
Retnur: 'So it doesn't look like we're talking in a mud. So it looks like we're talking in a proper chat room.'
Retnur: 'WHen more than one person talks here it just all runs together.'
Quixadhal: 'I used to have a nice lpc meeting room that actually allowed people to take the floor and whatnot.'
Quixadhal: 'I'm sure something similar can be done with scripting'
Avaeryn: 'we could probably set up a chat room'
Quixadhal: 'I know it could be done as a special proc, but… ugh.'
Avaeryn: 'i could see if i could, anyway'
Frenze disappears into the void.
Quixadhal reaches under the table for a Berserker Axe!
Retnur: 'The only real thing I want it to do is group color codes alternating.'
Retnur: 'Or the same depending on who is speaking. Just makes it easier on the eyes.'
Retnur: 'If we're going to be having these meetings every week.'
Retnur: 'Just seems worth while.'
Valasa: 'ok, I can see different colors for different talkers, but you might not want to use all the colors, some are very hard to read'
Avaeryn: 'if you want to address that, feel free'
Quixadhal: 'Should be easy enough… just assign each descriptor a color code as they enter the room.. or for that matter, just base it on descriptor number mod 15 or so'
Retnur: 'I didn't say different colors for each person.'
Retnur: 'I said 2.'
Retnur: 'Alternating.'
Retnur: 'Or the same if it's the same person.'
Quixadhal: 'or mod 2 if you like. :)'
Avaeryn: 'i'll try to do that for this log when i post to mudbytes'
Avaeryn: 'might take forever, but i'll try it'
Retnur: 'Meh'
Retnur: 'I wouldn't worry about it'
Retnur: 'If people aren't here they can do without the nice effects. :P'
Retnur: 'Incentive to show up.'
Valasa: 'anyway, I thought of something else'
Quixadhal: 'uh oh. *grin*'
Valasa: 'you said you wanted to make it better for the coders using the base'
Retnur: 'The other incentive to show up is me and Quix run amuck when nobody is here to keep us in check.'
Valasa: 'as , well really, most MUD coders are not really pros, and will run into bugs, maybe you should harden most utility function so they give a logged bug message instead of crashing'
Quixadhal: 'In many cases, they do.. unfortunately C is very unforgiving of pointer problems – which is about 90 percent of string handling.'
Retnur: 'Yes, however'
Retnur: 'In C++ you can use all reference sin place of pointers.'
Valasa: 'the posts about that level crash in the other forun from the bad room after the mob dies in multi_hit and then using the bad victim got me thinking about it'
Retnur: 'And crashing should only minimally happen.'
Retnur: 'Well'
Quixadhal nods.
Retnur: 'Crashes happen when pointers are dereferenced while pointing to memory that is either bad in teh first place'
Retnur: 'Or has already been freed somewhere else.'
Quixadhal: 'The thing is, in many cases a crash is better for you than to just keep running until data gets corrupted.'
Retnur: 'So it's a problem with pointers in general.'
Retnur: 'If the code is set up in a way it can crash it probably means it could have been written more robust in the first place.'
Valasa: 'like in that case, the room_is_dark your have issued a bug (but not crashed), the coder would still have to figure the problen, but he might have a better start'
Quixadhal: 'I'd rather have the code die on an assert() that tells me ch was NULL, than get through to saving a data file with bad data in it.'
Valasa: 'but you are a better coder, I am thinking of the, well newbie coders'
Retnur: 'Thing is sometimes with pointers the memory isn't bad and it ruins something.'
Retnur: 'Which is another big problem with pointers.'
Retnur: '9 out of 10 times it may just crash. Then on the 10th time it actually writes over good data.'
Retnur: 'Instead of crashing'
Retnur: 'Of course that depends on the circumstance of the place it was crashing–But that's not at all uncommon.'
Valasa: 'I hope you are not one of the ones that wants a C version'
Retnur: 'I want a assembly version.'
You boggle at the concept.
Quixadhal: 'I'd love to catch all the crashes and just report them, but I think newbie coders may not bother to check the logs without the incentive of players complaining about crashes.'
Retnur: 'And I want it to be robust.'
Avaeryn: 'afk for a bit'
Valasa: 'I just mean that using C++ features can make alot of the pointer issued go away'
Retnur: 'Considering most crashes aren't from logic errors at all, they're from convoluted pointer and memory handling'
Quixadhal: 'We had production systems at work with gigabyte log files, and the bugs that got fixed were the ones that prevented things from working. :)'
Retnur: 'I just think C++ fixes a lot of it naturally.'
Quixadhal: 'Totally agree there… switching to std::string and std::map solves a good deal of the issues.'
Retnur: 'Stuff like errors with freeing while in another place in your code has a rogue pointer to that memory location'
Retnur: 'Those are stuff that really shouldn't ever happen.'
Valasa: 'but maybe if the mud just bugged (and did not crash or assert and quit) they could figure out in game more what the issues might truely be, just a thought'
Retnur: 'That's probably true but'
Quixadhal: 'That's part of the reason I think our codebase will be easier to learn… getting rid of much of the complexity that C and old low-memory machines forced.'
Retnur: 'If you're going to code do it right'
Retnur: 'Use a debugger'
Retnur: 'They're easy to learn.'
Retnur: 'Takes about 10 minutes'
Retnur: 'And is way better than trying to get info inside of the program'
Quixadhal: 'We actually ran our mud in gdb for months… the players didn't notice (no real slowdown), but it made fixing crashes much easier.'
Retnur: 'But my whole point is the game shouldn't crash anyways. We're getting rid of the crashable issues like convoluted memory management and raw pointers every which place.'
Valasa nods.
Retnur: 'The only thing coders really should have to be concerned with is logic errors.'
Retnur: 'Not, did I remember to set all the pointers to the object I'm freeing to NULL in 10 different random places.'
Valasa: 'true, but again I was really reffering to use by coders not really knowing alotr'
Retnur: 'I agree. I just think the way we are going to be making some of the changes clears up a lot of it naturally.'
Valasa: 'I like it to crash myself (if it ever does) but I can find the problem pretty quick in most cases'
Valasa: 'are we talking the C++ version, or both now?'
Retnur: 'I'm talking the C++ version'
Retnur: 'cause that's all I have interest in working on >:)'
Quixadhal: 'I wonder if there's a way to get gdb to automatically do a backtrace on error.'
Retnur: 'There is'
Retnur: 'I used to have mine cateloging just the backtrace in an archive every time it crashed'
Quixadhal: 'Having it automatically print that would make life easier for LOTS of people who don't know debuggers'
Valasa: 'who are the ones I hear about that just have to have a C version'
Retnur: 'I think they arne't here tonight'
Valasa nods.
Retnur: 'THey're the people who like to complain but probabyl won't be using the codebase anyways. :P'
Quixadhal: 'Fortunately svn makes branching easy.'
Retnur: 'Who was that who was naysaying everything Quix?'
Retnur: 'I can't remember his name.'
Retnur: 'Basically any change at all was a nay.'
Retnur: 'Even compiling with g++ without any C++ was a nay…'
Quixadhal: 'I forget. But yeah, some folks are just scared that using C++ means everything will become objects and streams and look alien to them.'
Valasa: 'like I said before, I think all should do that, just for the better type and error checking'
Retnur: 'It's pretty ridiculous when we came down to the resolution of no color in our game because we couldn't agree on the delimiter.'
Quixadhal chuckles politely.
Retnur: 'I think basic color support is something everyone universally wants…'
Valasa: 'you don't HAVE to go OOP on everything'
Quixadhal: 'There was a line in the log somewhere agreeing to use the ROM pseudo-standard, and I'll hold that up as proof when we add in a modified Lope's color code.'
Valasa: 'you could just put support for them all in :)'
Quixadhal: 'It may have only been two or three of us…'
Quixadhal: 'Hey, don't make me use pinkfish codes on you!'
Valasa: 'lope's is not the RoM standard?'
Quixadhal: 'ROM doesn't have color… Lope's is the defacto standard. :)'
Valasa: 'that is what I meant'
Retnur: 'How about'
Retnur: 'We just make it so you have to type the telnet sequence.'
Retnur: 'Since we can't agree. :)'
Valasa: 'only a few come with color tokens stock'
Retnur: 'November 3, 2008


Retnur: 'I don't understand what you're saying.'
Avaeryn: 'there isn't any attempt to divide the community.'
Quixadhal has entered the game.
Retnur: 'You're against the project in general?'
Avaeryn: 'what we're hoping to do is bring the RaM codebase up to par'
Valasa: 'I think they really intend RaM to replace RoM'
Avaeryn: 'no one is saying we're replacing RoM'
Quixadhal sits on an oak table surrounded by chairs.
Avaeryn: 'that's not the intent or purpose of this venture. i don't know if i speak for all, but that's definitely not the feeling i get from everyone who has been working on things here'
Retnur: 'I think anyone who is wise about a starting codebase would pick RaM over RoM. I suspect ours will be much easier to use, less bugs, and better documented.'
Avaeryn: 'very well said, retnur'
Frenze: 'well on another hand'
Valasa: 'I mean like alot of SMAUG users use FUSS to start'
Frenze: 'why wouldn't someone pick SMAUG or TBA base, who's btch are very stable and worthy'
Avaeryn: 'we're just debugging the codebase, adding features that most admins want. in other words, going beyond 1stmud and Quickmud, which are rom projects that aren't being developed any longer'
Retnur: 'Because RoM is more widely used than both Smaug and Circle. There's a lot of people who want a "fixed up" version of rom if they're going to use it anyways.'
You agree absolutely.
Quixadhal: 'True enough, but SMAUG and TBA are both different styles of game from ROM'
Quixadhal: 'If you log into a Smaug or a Circle, the way the game feels is quite different.'
Frenze: 'hmm, the only reason i would agree to its more use is because of its age compared to the others, honestly, because it did come befor them'
Quixadhal: 'I suspect folks will choose RaM if they liked the feel of ROM.'
Retnur: 'I don't really agree with the idea that we should shut down everything but FUSS and TBA to consolidate the mudding community. :P'
Avaeryn: 'Nor do I'
Quixadhal: 'and that includes things like the skill system, the combat flow, and yes… OLC and such.'
Retnur: 'If that was the case then let's flip a coin and shut down TBA or FUSS to consolidate it into one.'
Retnur: 'I don't think either of those projects would like it.'
Frenze: 'Thats not really what i ment though'
Frenze sighs.
Avaeryn: 'Then what did you mean?'
Avaeryn: 'I think another reason we're seeing fewer players on muds is because of the glut of muds in existence. Most aren't modified or unique, but they're out there.'
Pedlar: 'am I late?'
Pedlar winks suggestively at you.
Avaeryn: 'nope you're not pedlar'
You smile at him.
Frenze: 'I mean, i just think other focuses could be made at this point, i know i've been trying to get new players by advertising in other ways, and am working slowly to get it done, I'm just at the point where i look at the 1000 muds out there that a newb look'
Frenze: 'i realy hate this small buffer'
Frenze: 'looks at and says this is shit, because a lot of them are, then don't mud because of it'
Avaeryn: 'Then maybe we should start setting limits on who can start a mud then.'
Retnur: 'Well, I blame the people who released codebases in the first place. :P'
Avaeryn: 'make them pass a mud admins test of qualification'
Frenze: 'why not?'
Retnur: 'But if the codebases are going to be out there, they might as well be a higher quality for people who are actually going to make something good out of it'
Avaeryn: 'who would decide who is qualified?'
Pedlar: '10 bucks says Runter wont pass the qual test'
Quixadhal: 'The problem there is that many of the old codebases were released with full area files… and thus lazy people could throw up a mud with zero changes.'
Frenze nods at Quixadhal.
Retnur: 'I'll decide who is qualified. I'll be the Czar of Diku.'
Quixadhal: 'It even has a name… the Humpback Bridge problem (from LpMUD 2.4.5)'
You cheer Retnur on and wish him good luck!
Pedlar winks at Retnur.
Quixadhal bows before Retnur.
Valasa: '2 muds could use the same codebase (the more advanced anyway) and have much differnt play if the content was good (and differnt)'
Retnur: 'I think the original people could have saved us all a headache'
Pedlar: 'Retnur, yer the Czar of the desert, now hop to it!'
Frenze: 'i loged on once that had the exact smaug areas, they just gave thier imms triggers so they could just idle and never talk'
Frenze: 'that was sad'
Retnur: 'If they would have just required they pay them 5 bucks to use the codebase.'
Retnur: 'Most of these startup muds would have never existed.'
Frenze: 'heh'
Quixadhal: 'I do agree that distributing more than a few example areas is a mistake.'
Retnur: 'Or even 1 dollar.'
Frenze: 'well i don't think making people pay is what you have to do'
Valasa: 'I blame it on free servers (or the ability to run at home)'
Frenze: 'its sites like mud connect that have links to 100+ muds when only 200 of them are prolly anything of quality'
Valasa: 'but, I think we are off topic'
Avaeryn: 'There are a lot of reasons, not just one.'
Quixadhal: 'My virtual servers are going to get you Valasa…'
Frenze chuckles politely.
Avaeryn: 'admin@mudconnect.com'
Avaeryn: 'take it up with iccy, not us'
Frenze ment 1000+ BTW
Avaeryn: 'now, since davion isn't here, i'll get us back on track'
Avaeryn: 'quix, update us on what you have been up to.'
Retnur: 'Btw, is this mud we are connected to now using ram code?'
Quixadhal: 'death, destruction, stealing radiation pills… oh, you meant here, not in Fallout?'
Quixadhal grins evilly.
Retnur sighs at the sight of Quixadhal.
Avaeryn: 'not that i'm aware of retnur. it's still the same thing i started with.'
Frenze: 'ok i'm done, that was my only argument about a new base, but then i have another question about itwhere would it stand out, like what features will RAM have that SMAUG or TBA or fear or anyone else don't?'
Retnur: 'I wish you'd never gotten into that game :P'
Retnur: 'I don't know what features Smaug or TBA or anyone else uses. ^_-'
Quixadhal: 'That depends on what we come up with for builders… RaM isn't meant to be a game, it's meant to be a tool you can use to build a game.'
Retnur: 'I know I never particularly liked the way smaug was designed.'
You nod sagely.
Quixadhal: 'Those who use our code supply the imagination and make a game from it.'
Quixadhal: 'We would like to provide solid building tools and easy to understand code that you can modify though.'
Frenze: 'ok now that is what i was asking'
Quixadhal: 'THAT's worth 1000 smurf.are files.'
Valasa: 'how is it that much differnt then RoM as they both come from merc?'
Retnur: 'How is what much different?'
Valasa: 'RoM and SMAUG at the base design level'
Frenze: 'well what would you do for an OLC? just rom/smaugish or a circle type menus? how about programs? smaug or lua or DG scripts?'
Avaeryn: 'i think the question is why is RaM any different than RoM, what features will make it unique, and why are we trying to introduce a new mud to split up the community. 3 questions, actually.'
Retnur: 'They're very similar but I think some of the direction smaug went in was a step laterally.'
Retnur: 'And a step I wouldn't have taken in the first place.'
Quixadhal: 'Was it envy that ripped lots of things out from merc, or the other way around? I forgot… one ripped lots of features out, the other put many of them back.'
You sit on an oak table surrounded by chairs and rest.
Retnur: 'We're definitely not doing oasis style olc. :P'
Quixadhal chuckles politely.
Valasa: 'merc ripped out alot of diku'
Quixadhal: 'That's an alternate UI that can be added later for those who like menu driven code.'
Retnur: 'The entire idea of RaM is keeping it familiar to builders and admins and making the code easier to work with.'
Quixadhal: 'build a good solid command driven OLC and you can slap several UI's on top of it.'
You nod at Quixadhal.
Retnur: 'I don't think on the code side we're trying to cader to the uneducated admin. We're trying to cader to the people who actually will make the good products.'
Avaeryn: 'stock bugs are being addressed. the code is being tested to see if it compiles under modern compilers.'
Quixadhal: 'Yes, more solid code… hopefully easier to figure out by reading it'
Avaeryn: 'that's a huge step, especially if you read any newbie coder forum.'
Quixadhal: 'documentation! *gasp*'
You cheer Quixadhal on and wish him good luck!
Avaeryn: 'yes, definitely documentation.'
Retnur: 'I like how most of these codebases keep old and out of date documentation in their distribution.'
Retnur: 'No information is better than misinformation.'
Quixadhal: 'DikuMUD Gamma had a lot of weirdness, and some of that got multiplied with each derivative. There's plenty to clean up.'
Frenze: 'hmm'
Quixadhal: 'But, the alternative is re-inventing the wheel again.'
Quixadhal: 'and while that can be fun… very few "new" codebases have gotten any traction.'
Retnur: 'Personally I want my wheel to be spiky so it gets more traction.'
Quixadhal: 'I was thinking treads, myself.'
Retnur: 'Since we're working with rom I was thinking like caveman wheels.'
Retnur: 'So spiked stone wheels.'
Quixadhal steals Retnur's dinosaur bone axle.
Retnur: 'I want to reinvent the fire too while we're at it.'
Retnur: 'I'm ready to actually get to work on real code. :P'
Quixadhal: 'So, someone was asking what kind of trouble I've been getting into?'
You chuckle politely.
Avaeryn: 'have you completed the bugfixes was my question'
Avaeryn: 'and for the newcomers, you can read the hacklog here http://sulinea.arthmoor.com/ram/HACKLOG'
Quixadhal smiles happily.
Avaeryn: 'that might answer a few of your most pressing questions'
Quixadhal: 'I have completed the massive code wrangling, but haven't gone through our old bug lists yet.'
You nod.
Retnur: 'Can we move .o files into an obj folder in the src?'
Avaeryn: 'any idea of when you might complete those?'
Retnur: 'Should be pretty easy with a makefile change.'
Quixadhal: 'It's not hard, although it's a bit of a pain and we don't have that many source files to be honest.'
Quixadhal: 'It makes the dependancy generation code ugly :)'
Retnur: 'Every mud I've worked on eventually has that many source files'
Retnur: 'And it's something most people would rather have after they start developing.'
Valasa: 'that actualy brings up a design point'
Quixadhal: 'shoot'
Valasa: 'to have only a few large files, or factor out many smaller files, maybe even spliting merc.h'
Avaeryn: 'bang'
Retnur: 'More files is better for this kind of project.'
Retnur: 'It lets us not step on each others feet.'
Retnur: 'Especially if it's localized.'
Quixadhal: 'Yep, I've already done a little bit of refactoring… there's more that should be done as we go along'
Avaeryn: 'i think it might also make it easier to find what needs to be edited for admins/coders who are not as familiar with the base'
Avaeryn: 'shouldn't those files make sense? in some wierd way anyway '
Quixadhal: 'Ideally, each file should address a logical function of the codebase'
Retnur: 'I don't like splitting up files like magic.c into magic2.c'
Retnur: 'That never really made sense.'
Quixadhal: 'I think that came from the sense of sacrosanctness (is that a word?) people felt towards the ancesteral code'
Quixadhal: 'The merc structure got preserved all the way down because people were afraid to modify things, so they added new files that did the same thing.'
Retnur: 'I don't know. I just think if you have spells you want them all in the same file or in different files based on something other than just putting all the new ones in a new file.'
Avaeryn: 'yes it is, quix.'
Valasa: 'you could however have attack_spells, and the like'
Retnur: 'Like white_magic.c black_magic.c'
Retnur: 'That would make more sense to me.'
Valasa: 'having just magic and magic2 though is pointless'
Quixadhal: 'In my game, I make subdirectories when I have more than one related thing… so a magic or spells subdir with the various kinds of spells would make sense.'
Quixadhal: 'Although it makes the Makefile even uglier…. :('
Valasa: 'you could make the Makefile comile all the code files'
Frenze: 'or make it like TBA where it just auto detects new files'
Frenze nods at Valasa.
Frenze: 'heh'
Retnur: 'I use a wildcard makefile on my muds. *shrug*'
Retnur: 'I don't like having to list files and such. If it's in my src I want to compile it.'
Frenze nods.
Valasa nods.
Quixadhal: 'I have utility programs that aren't part of the driver. :)'
Valasa: 'I have seen a number of muds like that'
Quixadhal: 'Us cavemen with no OLC need our own custom building tools.'
Retnur: '*wishes he would have wrote down some of the bugs he came across when valgrinding rom years ago*'
Retnur: 'I know there's a lot of read/write memory bugs that aren't documented anywhere that I fixed some years ago.'
Retnur: 'I just can't remember what they were.'
Quixadhal: 'yep, that happens as we get older'
Quixadhal pokes Retnur in the ribs.
Retnur: 'So when is multiple people going to actually start working on the code? I could probably go through the entire bug list pretty fast.'
Quixadhal: 'As soon as we can get Davion to add username/passwords to the svn config file :)'
Avaeryn: 'Davion is caught up with work. Have not seen Nibios in a bit, or sandy.'
Avaeryn: 'If I knew how to do that guys, I would.'
Quixadhal: 'I suppose I should probably rearrange the directories before then too.'
Retnur: 'It's already been like a month :P'
Retnur: 'I've had a lot of free time that's fixing to disappear.'
Avaeryn: 'do either of you know how?'
Retnur: 'I don't know much about svn.'
Quixadhal: 'Yeah, I know the svn part… not sure I could pin down the apache part though.'
Quixadhal: 'svn uses apache for authenticaion, and then it has a config file to control who gets read/write access to what directories.'
You nod sagely.
Quixadhal: 'I can do that part easily enough. Authentication depends on how apache is setup. So I'm not sure how easy or hard it would be for your particular setup.'
You nod.
Quixadhal: 'for a layout, I'm thinking of making two main trunk directories and then a branches directory for our own experiements.'
You nod.
Retnur: 'Since we're doing a C and a C++ branch I was thinking we should do a fortran branch and Quix can maintain it in parallel.'
Quixadhal: 'the mains could just be "C" and "C++", or we can come up with clever names.'
Avaeryn: 'CRaM and CRam+'
Quixadhal: 'I was thinking the C branch coudl be Caveman, but hadn't thought of a cool name for the C++ one. :)'
Retnur: 'CRam CRam+ and for the fortran – AncientRam.'
You chuckle at his joke.
Quixadhal: 'Remember, RaM is already part of the pathname. :)'
Quixadhal: 'c78 for the fortran branch.'
Retnur: '"Caveman with Classes"'
Retnur: 'Considering the original name of C++ was "C with Classes" I think that's fitting. :P'
Quixadhal: 'which fortran people will laugh at, and everyone else will blink'
Quixadhal: '(column 78 was the comment column… you had to use a special extension character to make code wrap to the next line) :)'
Retnur: 'Quix can get the code to compile with punch cards.'
Quixadhal: 'So you young whippersnappers better not whine about Python's whitespace'
Retnur: 'I'll leave that to you'
Quixadhal: 'I could… but the cats tend to play with the punchcards so it might have some extra bugs'
Retnur: 'What else do we need to discuss?'
Quixadhal: 'hmmmm… do we want to divvy up the bug lists?'
Avaeryn: 'I think Quix can hopefully get the user names and passwords set up. That might allow work to proceed at a quicker pace.'
Valasa: 'if the C branch is going to also compile g++, have you made it g++ ready yet?'
Avaeryn: 'Divvying up might prevent confusion :)'
Quixadhal: 'Yes, right now it compiles clean from gcc 3.4 up through g++ 4.3.1'
Valasa nods.
Quixadhal: 'Oh, fixing the bugs that show up at boot time should be something someone does… probably editing the area files actually.'
Quixadhal: 'I think some fire elementals try to load equipment that is broken, or not there, or something.'
Quixadhal: 'There's about a dozen that pop up when you boot the game anyways….it would be nice to clear that up.'
Retnur: 'Meh.'
Retnur: 'Just make the spots where it produces the errors fix it :P'
Quixadhal: 'now now, shipping bad data is just as wrong as shipping bad code.'
Quixadhal: 'I've been nice and not mentioned the *cough* help files *cough* yet.'
Retnur: 'Some of the errors come from stuff like the object being too low level on a higher level mob.'
Retnur: 'But that was probably intended that way by the builder.'
Retnur: 'So the question is, shoudl that really even be an error messagE?'
Retnur: 'And if it shoudl how should we fix it?'
Quixadhal: 'well, since we are now the builders….'
Retnur: 'We have no idea what hte stock balance was intended to be.'
Retnur: 'And frankly I don't care.'
Retnur: 'I say set the object level up to the level of the mob in that case.'
Quixadhal: 'fine by me… I'm not overly concerned with it, but I'd like it to boot clean before we make any official release.'
Retnur: 'Some of the errors are kinda legitmate'
Retnur: 'Like'
Retnur: 'Objects that are higher than the mob it is loading on can wear.'
Quixadhal: 'for that matter, what do people think about ripping out most of those "stock" areas?'
Quixadhal: 'I'd rather ship with a small example world than a full playable world.'
Retnur: 'I wouldn't be against it.'
Retnur: 'But'
Retnur: 'It gives us some good opportunites to test stuff on a larger world.'
Quixadhal: 'yes, probably not something we need to do soon, but something to think about.'
Quixadhal: 'In fact, I think redesigning a new starter world once we have OLC might be a good idea'
Retnur: 'We might even want to get some quality builders to produce a few decent example areas it ships with.'
Retnur: 'Instead of a lot of crappy ones.'
Quixadhal: 'A "Mud School" that's actually entertaining?'
Avaeryn: 'i would hope i could manage an area or two'
Retnur: 'The eternal debate of to mud school or not to mud school rages on.'
Quixadhal: 'I don't like them, but I think we should ship with something that acts like one.'
Quixadhal: 'although it doesn't have to be a "school" setting.'
Retnur: 'I think it shouldn't even be area bound.'
Retnur: 'We might just want a tutorial system.'
Retnur: 'Not some type of makeshift tutorial'
Quixadhal: 'If we have a quest system, that could do the job nicely.'
Retnur: 'Yeah'
Quixadhal: 'It worked great for WoW. *ducks*'
Retnur: 'Like I said, misinformation is worse than no information.'
Retnur: 'And putting things in descriptions that don't belong there is misinformation for new players trying to understand what a description represents.'
Retnur: 'Descriptions shouldn't be some mythical voice from above telling you how to play this game.'
Retnur: 'It's text that describes a room. And in a "mud school" you would think they would try to convey that above all else.'
Quixadhal: 'You think you see a great hand, reaching out from the sky. The hand is your hand, the voices, your victims.'
Valasa: 'if you are going to have that kind of thing (voices) mprogs would be better then in a desc for sure'
You snicker softly.
Retnur: 'I think part of what has to ship with a decent codebase that is often missed is a decent scripting engine for doing this kind of stuff.'
Retnur: 'Mprogs are minimum.'
Retnur: 'But they could be expanded on greatly.'
Quixadhal: 'Yep… mprogs that are debugged are a start'
Frenze: 'i would say go with DG scripts'
Frenze: 'very powerful and definatly gets the job done'
Retnur: 'I've got a scripting engine I wrote that I'll lobby eventually for the project.'
Frenze: 'or a upgraded mprog system'
Valasa: 'yea, I wrote an expantion and use it for all kinds of things'
Retnur: 'It interprets it before it's ran to ensure no syntax errors. Has error reporting, etc.'
Retnur: 'Has functions, has variable types.'
Quixadhal: 'of course, whenever I say mprog, I mean "mudprog" since I think mobs/objects/rooms all need scriptables.'
Retnur: 'I don't see why it all wouldn'
Retnur: 'wouldn't be encompassed int he say syste.'
Valasa: 'I also have player and system'
Frenze: 'i am sure most people think that way now a days'
Quixadhal: 'A lot of people see mprog being only for mobs, which is too limited'
Retnur: 'The concept of mob programs is way way too limited and inefficient.'
Frenze: 'well, Fizban wrote up a nice code that attatches scripts to players as well, which is also pretty handy'
Retnur: 'I'll leave it for another day, but I have a better system to pitch eventually.'
Quixadhal nods.
Retnur: 'Which isn't pie in the sky. I've actually developed and works as a full online scripting language.'
Frenze: 'i don't see why you would go out of your way inventing something when you could use something that already has support and people who know how to do it'
Frenze shrugs helplessly.
Retnur: 'Because mine is better.'
Retnur: 'Good enough reason?'
Frenze: 'i would have to see a lot from it to be convinced'
Retnur: 'The same could be said for why anyone isn't using python.'
Retnur: 'To script.'
Quixadhal: 'That's why anything gets invented… someone thinks they can do it better. :)'
Frenze chuckles politely.
Frenze: 'well DG scripts are abosluty usable, and i haven't seen anything they can't do'
Frenze shrugs helplessly.
Retnur: 'Good thing I don't have to convince the TBA developers as to what to use on the RaM project. ;)'
Frenze: 'and mprogs can be easily made to be that way'
Retnur: 'I agree dg scripts are better than mprogs.'
Frenze: 'well maybe not EASILY but definatly can be worked with'
Retnur: 'But if we're going to use dg scripts we might as well just start with circle as our development base for ram. :P'
Frenze: 'heh'
Quixadhal grins evilly.
Frenze: 'well its a good base'
Frenze shrugs helplessly.
Retnur: 'I like circle okay.'
Quixadhal: 'You mean I wasn't supposed to merge in all the loading code from Circle and Smaug too?'
Retnur: 'But I think others might be turned off from the binary pfiles.'
Retnur: 'The olc is stinky in my opinion.'
Avaeryn: 'i thought we were doing a rom base, not smaug or circle'
Frenze: 'TBA has ASCII pfiles or whatever they are'
Quixadhal: 'I figured I'd add in the loading routines for VMS Monster too, just in case.'
Retnur: 'For the record, I have nothing against binary pfiles.'
Quixadhal: 'I can't get the code for MUD1 though. :('
Frenze: 'well if you're gonna make a new base i don't think you can argue that taking things from pre existing ones that we all know are good features is a bad thing'
Valasa: 'if you want to load zone files from other bases, there is no real reason to have their loading code, you can just tweak what you have'
Quixadhal chuckles politely.
Quixadhal: 'yes, you have to convert all the stupid flag values and junk anyways'
Retnur: 'I think it's completely debatable and unseemly to take features like dgscripts which everyone knows is a circle thing and putting it in this.'
Avaeryn: 'the intent was to make a rom base, not a new base'
Retnur: 'Ram is supposed to be a new RoM for RoM people.'
Frenze: 'yea but as most people i talk to, rom is useless with SMAUG and TBA and other new ones floating around, IMO'
Retnur: 'I think that's a talking point from people who prefer Smaug and TBA.'
Quixadhal: 'There's a reason for that Frenze…. nobody has done a good cleanup for ROM that's still active.'
Retnur: 'I think it's proof there is some interest in the project considering on mudbytes the RaM forum has as much or more posts as smaug and circle has total in the forums already. :P'
Frenze: 'well i see muds like, for example DEKON or whatever its called, that i found to be, lacking in all department'
Frenze: 'departments'
Quixadhal: 'SmaugFUSS and TBA are both active, hence the popularity. We're aiming at the same kind of idea here.'
Frenze: 'but then again, there was ivilice mud which was a rom and was kinda cool'
Frenze shrugs helplessly.
Avaeryn: 'if your entire purpose in coming here was to convince us to use another base, the door is that way'
Avaeryn: 'this is a rom base, not circle, not smaug'
Retnur: 'Ivalice isn't really rom. It's a merc based mud.'
Frenze: 'hmm'
Retnur: '(I know the guy who runs it in real life.)'
Frenze chuckles politely.
Quixadhal: 'Yes, and if I were going to make a new codebase, it would be in something like Ruby anyways.'
Retnur: 'He's been working on it for like 12 years or something.'
Frenze nods.
Frenze: 'its a good mud'
Frenze shrugs helplessly.
Frenze: 'i can't say anythig bad about it'
Retnur: 'You haven't seen the code. >:)'
Frenze: 'but it just didn't fit the look that i like'
Frenze: 'i think you need to appeal to the player more then anything give them something they WANT to stare at for hours'
Avaeryn: 'is the ram part of the meeting over?'
Quixadhal: 'My three favorite old muds were WileyMUD (Diku Gamma), Ivory Tower (LpMUD 3.2) and BatMUD (custom LDMUD-based lib).'
Retnur: 'Avaeryn is ready for bed.'
Frenze: 'so a option edit is something you might find useful, to let people pick and choose what colors they want'
Avaeryn: 'no, not really'
Frenze: 'i didn't enjoy batmud'
Frenze shrugs helplessly.
Quixadhal: 'I could list the changes I made, or you guys can just skim the HACKLOG'
Retnur: 'I got an idea'
Quixadhal: 'or do svn log -r16:26 I think too.'
Retnur: 'Let's abandon ram and turn it into a project replacing what we think are bad features in TBA with smaug stuff.'
Retnur: 'Then we'll all be unified.'
Frenze: 'heh'
Frenze: 'well i was working on something like that…. once apon a time, but the progect went from TBA to smaug, to smaug with a little TBA'
Avaeryn: 'i'd think we need to get kavir to let us unify godwars with the base too'
Retnur: 'Yeah'
Avaeryn: 'and lpc too, let's not forget that. a few mushes/muxes thrown in and i think we only have one base'
Frenze: 'actually, more like TBA/SMAUG/SWR'
Avaeryn: 'so we''
Avaeryn: 'so we can stop splitting the mudding community with our efforts'
Quixadhal: 'Let's just phone up Richard Bartle and make a new derivative from MUD1?'
Retnur: 'Let's just mix every single type of mud that exists into a blob.'
Frenze: 'or we could kill WOW and take back the mudders!'
Frenze: '>.>'
Retnur: 'pft'
Valasa: 'speeking of godwars2, are you intending any wilderness system?'
Retnur: 'I think that's a gameplay thing.'
Retnur: 'But'
Retnur: 'I will release a snippet for it for the codebase even if we don't.'
Retnur: 'Because I like em.'
Quixadhal: 'I'd like to have the hooks in to allow virtual rooms, and let others turn it into a wilderness if they want.'
Valasa: 'some love them, and some hate them, it should be an option to use in any event'
Quixadhal: 'I'd just stop at virtual rooms though, as some people want an ascii map system, others want them to look like normal rooms but be derived from a map file or function.'
Quixadhal: 'Samson said one of the big reasons people didn't adopt his AFKMUD base was actually the overland map system he had… I guess it was too hard to rip out or something.'
Frenze: 'well here is an idea'
Frenze: 'maybe take massive polls find out what the players actually like?'
Quixadhal: 'I'd rather not have people feel they need to rip things out… replacing them with different versions, yes… removing them entirely probably means we added too many bloat features.'
Avaeryn: 'it really isn't about what players want, it's what the admins want'
Frenze sighs.
Avaeryn: 'the idea is to let the admin modify it after they start it up to be what they want'
Frenze: 'and thats where a mud dies'
Quixadhal: 'the players want a game… we aren't making a game.'
Avaeryn: 'you're missing my point frenze'
Avaeryn: 'what quix said'
Quixadhal: 'do you want the gcc people to enforce that all your code opens a window with a blue background?'
Avaeryn: 'it's an engine for the person who starts it up so they have a flexible, feature-rich base that will allow them to easily modify and add new features'
Avaeryn: 'it's their baby after, and their players'
Avaeryn: 'this place won't be open for players'
Quixadhal: 'I wouldn't even know where to start putting in gameplay features for … say… an anime based game. The guy who wants to run such a thing does know though, and if our engine doesn't have too much cruft to replace, he can do so cleanly.'
Avaeryn: 'well said quix'
Frenze: 'well, having a few things like a decent battle system in a base is always handy and makes life easier for the guy having to do it'
Quixadhal: 'not if your idea of battle is differnent than mine. How would you design a battle system that works for both Battletech and a fantasy game?'
Quixadhal: 'The best we can do there is keep it simple so it can be understood and modified.'
Quixadhal: 'If you're looking to download a fully playable game, there are tons of those out there.. Dawn comes to mind.'
Quixadhal: 'but if you already have your own ideas of how to do things, you just want something that works well at the basic stuff and gives you tools to build on.'
Retnur: 'Let's make an open source graphical mud.'
Retnur: 'I've actually been spending most of my time learning mesh and 3d light and camera rendering with directX.'
Quixadhal: 'garagegames.com already has a licensable engine for It's the one they used for Tribes 2.'
Retnur: 'Too bad I'm a crappy artist.'
Retnur: 'I don't like that engine.'
Quixadhal: 'garagegames.com already has a licensable engine for $100…. It's the one they used for Tribes 2.'
Retnur: 'You only get the binary and have to use torquescript'
Retnur: 'You have to pay more to get the source code.'
Quixadhal: 'For 100 bucks, it beats anything open source you're going to find. You have to publish your game through them to get the source code.'
Retnur: 'No, they have a "pro" license to get the source code.'
Quixadhal: 'but have fun building your world for the next 10 years without an art department.'
Avaeryn: 'wandering off topic…'
Retnur: 'And the way they implement it…'
Retnur: 'It's for turn based multiplayer games if you use their networking code.'
Quixadhal: 'There's a topic around here? :)'
Avaeryn: 'i thought there was earlier :P'
Quixadhal tickles you - ho ho ho.
Quixadhal: 'If anyone's been brave enough to look at the latest svn checkout…'
Retnur: 'What do you want me to look at?'
Retnur: 'I've got revision 26'
Quixadhal: 'all the bugs I probably introduced… fix them… NOW!'
Quixadhal grins evilly.
Retnur: 'So you want someone to play test it? :P'
Quixadhal: 'sure… I don't have a working bot yet, so my horde of 1000 playtesters is nowhere to be found.'
Avaeryn: 'if you want to start it up here, i'd be willing to playtest some '
Avaeryn: 'this can be shut down, the other version put up'
Retnur: 'Why don't we use this as the working version?'
Retnur: 'That we connect to for meetings'
Avaeryn: 'that's fine with me'
Avaeryn: 'this base was up as a placeholder'
Avaeryn: 'for meetings, etc. you know the drill'
Quixadhal: 'sure, it'll be amusing to see if you guys can survive without color'
Retnur: 'I was wanting to write some special code for our meetings to make it a little easier on the eyes. :P'
Avaeryn: 'and disable weather/time messages?'
Retnur: 'Maybe have it automatically color code and group things that the same person is saying consecutively.'
Retnur: 'And get rid of "blah says" in front of everything somehow.'
Quixadhal: 'that's called a meeting room, and is a perfect thing for a room script engine to do. :)'
Retnur: 'We don't have a room script engine.'
Retnur: 'And from the looks of it we won't have much but basics for a long time'
Quixadhal: 'details, details… *waves hand*'
Valasa: 'you mean so the viewer does not know the order of the convo?'
Retnur: '..no'
Retnur: 'So it doesn't look like we're talking in a mud. So it looks like we're talking in a proper chat room.'
Retnur: 'WHen more than one person talks here it just all runs together.'
Quixadhal: 'I used to have a nice lpc meeting room that actually allowed people to take the floor and whatnot.'
Quixadhal: 'I'm sure something similar can be done with scripting'
Avaeryn: 'we could probably set up a chat room'
Quixadhal: 'I know it could be done as a special proc, but… ugh.'
Avaeryn: 'i could see if i could, anyway'
Frenze disappears into the void.
Quixadhal reaches under the table for a Berserker Axe!
Retnur: 'The only real thing I want it to do is group color codes alternating.'
Retnur: 'Or the same depending on who is speaking. Just makes it easier on the eyes.'
Retnur: 'If we're going to be having these meetings every week.'
Retnur: 'Just seems worth while.'
Valasa: 'ok, I can see different colors for different talkers, but you might not want to use all the colors, some are very hard to read'
Avaeryn: 'if you want to address that, feel free'
Quixadhal: 'Should be easy enough… just assign each descriptor a color code as they enter the room.. or for that matter, just base it on descriptor number mod 15 or so'
Retnur: 'I didn't say different colors for each person.'
Retnur: 'I said 2.'
Retnur: 'Alternating.'
Retnur: 'Or the same if it's the same person.'
Quixadhal: 'or mod 2 if you like. :)'
Avaeryn: 'i'll try to do that for this log when i post to mudbytes'
Avaeryn: 'might take forever, but i'll try it'
Retnur: 'Meh'
Retnur: 'I wouldn't worry about it'
Retnur: 'If people aren't here they can do without the nice effects. :P'
Retnur: 'Incentive to show up.'
Valasa: 'anyway, I thought of something else'
Quixadhal: 'uh oh. *grin*'
Valasa: 'you said you wanted to make it better for the coders using the base'
Retnur: 'The other incentive to show up is me and Quix run amuck when nobody is here to keep us in check.'
Valasa: 'as , well really, most MUD coders are not really pros, and will run into bugs, maybe you should harden most utility function so they give a logged bug message instead of crashing'
Quixadhal: 'In many cases, they do.. unfortunately C is very unforgiving of pointer problems – which is about 90 percent of string handling.'
Retnur: 'Yes, however'
Retnur: 'In C++ you can use all reference sin place of pointers.'
Valasa: 'the posts about that level crash in the other forun from the bad room after the mob dies in multi_hit and then using the bad victim got me thinking about it'
Retnur: 'And crashing should only minimally happen.'
Retnur: 'Well'
Quixadhal nods.
Retnur: 'Crashes happen when pointers are dereferenced while pointing to memory that is either bad in teh first place'
Retnur: 'Or has already been freed somewhere else.'
Quixadhal: 'The thing is, in many cases a crash is better for you than to just keep running until data gets corrupted.'
Retnur: 'So it's a problem with pointers in general.'
Retnur: 'If the code is set up in a way it can crash it probably means it could have been written more robust in the first place.'
Valasa: 'like in that case, the room_is_dark your have issued a bug (but not crashed), the coder would still have to figure the problen, but he might have a better start'
Quixadhal: 'I'd rather have the code die on an assert() that tells me ch was NULL, than get through to saving a data file with bad data in it.'
Valasa: 'but you are a better coder, I am thinking of the, well newbie coders'
Retnur: 'Thing is sometimes with pointers the memory isn't bad and it ruins something.'
Retnur: 'Which is another big problem with pointers.'
Retnur: '9 out of 10 times it may just crash. Then on the 10th time it actually writes over good data.'
Retnur: 'Instead of crashing'
Retnur: 'Of course that depends on the circumstance of the place it was crashing–But that's not at all uncommon.'
Valasa: 'I hope you are not one of the ones that wants a C version'
Retnur: 'I want a assembly version.'
You boggle at the concept.
Quixadhal: 'I'd love to catch all the crashes and just report them, but I think newbie coders may not bother to check the logs without the incentive of players complaining about crashes.'
Retnur: 'And I want it to be robust.'
Avaeryn: 'afk for a bit'
Valasa: 'I just mean that using C++ features can make alot of the pointer issued go away'
Retnur: 'Considering most crashes aren't from logic errors at all, they're from convoluted pointer and memory handling'
Quixadhal: 'We had production systems at work with gigabyte log files, and the bugs that got fixed were the ones that prevented things from working. :)'
Retnur: 'I just think C++ fixes a lot of it naturally.'
Quixadhal: 'Totally agree there… switching to std::string and std::map solves a good deal of the issues.'
Retnur: 'Stuff like errors with freeing while in another place in your code has a rogue pointer to that memory location'
Retnur: 'Those are stuff that really shouldn't ever happen.'
Valasa: 'but maybe if the mud just bugged (and did not crash or assert and quit) they could figure out in game more what the issues might truely be, just a thought'
Retnur: 'That's probably true but'
Quixadhal: 'That's part of the reason I think our codebase will be easier to learn… getting rid of much of the complexity that C and old low-memory machines forced.'
Retnur: 'If you're going to code do it right'
Retnur: 'Use a debugger'
Retnur: 'They're easy to learn.'
Retnur: 'Takes about 10 minutes'
Retnur: 'And is way better than trying to get info inside of the program'
Quixadhal: 'We actually ran our mud in gdb for months… the players didn't notice (no real slowdown), but it made fixing crashes much easier.'
Retnur: 'But my whole point is the game shouldn't crash anyways. We're getting rid of the crashable issues like convoluted memory management and raw pointers every which place.'
Valasa nods.
Retnur: 'The only thing coders really should have to be concerned with is logic errors.'
Retnur: 'Not, did I remember to set all the pointers to the object I'm freeing to NULL in 10 different random places.'
Valasa: 'true, but again I was really reffering to use by coders not really knowing alotr'
Retnur: 'I agree. I just think the way we are going to be making some of the changes clears up a lot of it naturally.'
Valasa: 'I like it to crash myself (if it ever does) but I can find the problem pretty quick in most cases'
Valasa: 'are we talking the C++ version, or both now?'
Retnur: 'I'm talking the C++ version'
Retnur: 'cause that's all I have interest in working on >:)'
Quixadhal: 'I wonder if there's a way to get gdb to automatically do a backtrace on error.'
Retnur: 'There is'
Retnur: 'I used to have mine cateloging just the backtrace in an archive every time it crashed'
Quixadhal: 'Having it automatically print that would make life easier for LOTS of people who don't know debuggers'
Valasa: 'who are the ones I hear about that just have to have a C version'
Retnur: 'I think they arne't here tonight'
Valasa nods.
Retnur: 'THey're the people who like to complain but probabyl won't be using the codebase anyways. :P'
Quixadhal: 'Fortunately svn makes branching easy.'
Retnur: 'Who was that who was naysaying everything Quix?'
Retnur: 'I can't remember his name.'
Retnur: 'Basically any change at all was a nay.'
Retnur: 'Even compiling with g++ without any C++ was a nay…'
Quixadhal: 'I forget. But yeah, some folks are just scared that using C++ means everything will become objects and streams and look alien to them.'
Valasa: 'like I said before, I think all should do that, just for the better type and error checking'
Retnur: 'It's pretty ridiculous when we came down to the resolution of no color in our game because we couldn't agree on the delimiter.'
Quixadhal chuckles politely.
Retnur: 'I think basic color support is something everyone universally wants…'
Valasa: 'you don't HAVE to go OOP on everything'
Quixadhal: 'There was a line in the log somewhere agreeing to use the ROM pseudo-standard, and I'll hold that up as proof when we add in a modified Lope's color code.'
Valasa: 'you could just put support for them all in :)'
Quixadhal: 'It may have only been two or three of us…'
Quixadhal: 'Hey, don't make me use pinkfish codes on you!'
Valasa: 'lope's is not the RoM standard?'
Quixadhal: 'ROM doesn't have color… Lope's is the defacto standard. :)'
Valasa: 'that is what I meant'
Retnur: 'How about'
Retnur: 'We just make it so you have to type the telnet sequence.'
Retnur: 'Since we can't agree. :)'
Valasa: 'only a few come with color tokens stock'
Retnur: '[;j102 or whatever it is.'
Quixadhal: 'no non-printable characters allowed in my source code'
Retnur: 'Okay.'
Quixadhal: 'You'll have to use (char)27'
Retnur: 'Let's just use XML for our color codes.'
Valasa: 'also known as escape'
Retnur: 'Or something like <red><flashing> ROAR </red></flashing>'
Quixadhal: 'XML is so horribly bloated, it's obvious a committe was involved.'
Valasa: 'that really still is a token set in kind'
Quixadhal: 'Let's just make an AI system that will magically make things the right colour.'
Retnur: 'Yes'
Valasa: 'and one you still would have to agree on'
Retnur: 'Depending on what you type it knows what the best color is'
Quixadhal: 'Nope, the AI knows best.'
Retnur: 'If the AI says no color then who are we to argue'
Quixadhal: 'I've coded neural nets… after the 200,000th player logs in it will have figured it out perfectly.'
Retnur: 'Even better we can do what most muds do these days anyways'
Retnur: 'Just make every single line rainbow colored.'
Retnur: 'On the output level.'
Quixadhal: 'can we add asterisks to any verb in the room descriptions too?'
Retnur: 'Yes'
Quixadhal: 'You are ***WALKING*** down a dusty road. All **!@**SEEMS**@!** quiet.'
Retnur: 'You see a ****BIG**** field of grass.'
Retnur: 'You buy a waterskin times >!<!!>!<!!10000!>!>!>!>!<!>!<'
Frenze has entered the game.
Retnur: 'I dunno why people focus on that nonsense only when it comes to combat.'
Retnur: 'I guess they think it livens up the text.'
Quixadhal: 'Same reason they want swords that do 100d7261+98212 damage and then have to have 60000000 hit points to go with it.'
Valasa: 'draws the eyes to the word'
Quixadhal: 'compensating for something.'
Retnur: 'I just had a brilliant idea'
Retnur: 'Let's just make it all in decimals.'
Valasa: 'just add a few 0 in the displays, they will never notice'
Retnur: 'You OBLITERATE Retnur! (.002 damage)'
Retnur: 'Damn! I only have .01 more hp left'
Valasa: 'and 1 being a full kill'
Quixadhal: 'Better… make it a percentage of damage vs. remaining health.'
Quixadhal: 'so as you win the fight, the numbers go up….'
Quixadhal: 'even though you're doing the same damage'
Retnur: 'We can call the mud The Eternal Struggle.'
Quixadhal: 'Of course, I'm all for no numbers at all, anywhere, ever.'
Retnur: 'Although it would be interesting to make everyone have 100 hp and make it represent percent. Then make it more or less difficult to do damage to them based on your and their skills.'
Quixadhal: 'You scratch Quixadhal. He seems fine.'
Valasa: 'I have seen muds where you have damage instead of hp, you died when the damige got so high'
Valasa: '0 was healed'
Quixadhal: 'If you ask how many hit points you have left, it says "enough", "not much", "run now!" instead of numbers.'
Quixadhal: 'add a few random numbers so you can't perfectly predict where the breakpoints are.'
Retnur: 'I like feeling like a God when I do my paltry damage.'
Retnur: 'You <!!<!!<WTF-SCRATCH>!>!>!>!>!> Quixadhal.'
Valasa: 'are you going tp put combat in this event system?'
Retnur: 'Yeap.'
Retnur: 'ALl of the polling things are going to be switched over.'
Quixadhal: 'We could just print numbers as roman numerals.'
Retnur: 'That could be interesting.'
Quixadhal: 'You have MCMXLVII hp left.'
Retnur: 'That makes an incentive to keep the scale of damage and hp reasonable… :)'
Retnur: 'I'm all about sticks and carrots.'
Retnur: 'How much damage did that attack do?'
Retnur: 'X damage'
Retnur: 'How much damage is X?'
Retnur: 'No, X damage'
Valasa: 'on this mud with the damage instead of hp, 7 was where you died, so fights tended to not last long'
Retnur: 'I like actual number systems internally and I like to keep the scale low.'
Retnur: 'Lower the scale the easier it is for me to understand what the number represents.'
Valasa: 'each health had a name, you never saw numbers'
Retnur: '10 damage being a lot instead of 1000000'
Valasa: 'yea, that can mean totaly differnt things on different muds'
Retnur: 'Lately I've been wanting to design a mech based mud…'
Retnur: 'Change some of the traditional concepts of combat.'
Retnur: 'Encapsulate the "out of mech" gameplay with the "in mech" gameplay.'
Frenze disappears into the void.
Quixadhal: 'There used to be a battletech mud out there'
Quixadhal: 'Of course, my favorite of the mech games was an old turn based strategy game (on the Amiga) called MechForce.'
Quixadhal: 'Nothing like seeing your opponant headed towards you and setting the forest on fire to cause him to shutdown trying to shoot back. :)'
Quixadhal: 'hehehe, maybe fire and ice would be good names for C++ and C versions.'
Valasa: 'you should just put some C++ in (meaning C++ spicific stuff) and not tell them, most mud coders don't really know C that well, they might never notice and like it'
Quixadhal: 'I would, but they'd whine that it won't compile under gcc anymore… the proof will come when the C branch sputters to a halt. :)'
Valasa: 'just make the ext C, gcc will auto use g++'
Retnur: 'I used to love playing the turn based stategy game called Front Mission'
Retnur: 'That was mech based'
Quixadhal: 'If the C purists prove me wrong, more power to them! I just expect that branch to grind to a halt and become a non-issue'
Retnur: 'I think if most of the active developers want to use C++ then that's just how it's going to be…'
Quixadhal: 'disk space is cheap, making a branch for them is easy. Doing the work to keep them up to date is hard, but also not my problem.'
Valasa: 'yea, just fix the bugs and leave them to it'
Quixadhal nods.
Retnur: 'Honestly, I don't know of anyone willing to really put time into the C branch at this point.'
Retnur: 'The people who have all pushed for it didn't seem to be.'
Retnur: 'Although just having the bugs fixed and cleaned up is what a lot of people want out of it anyways.'
Quixadhal: 'svn makes it very easy to close branches, so if the C one sits idle long enough, it can just go away. nice thing about version control, you don't ever lose anything, it just becomes invisible.'
Valasa: 'do any of these know C++? (and thus really have an argument one way or the other) or are they just scared of the new?'
Retnur: 'The people who don't want C++ all do not know it.'
Retnur: 'Of course, they would argue they don't know it because they don't like it.'
Quixadhal: 'Shoot… I don't even really *know* C++, but things like std::map make it just too hard to resist.'
Quixadhal: 'Being able to say room[vnum] directly is a huge win.'
Retnur: 'If you know C really well…you know C++. It isn't that many new things.'
Retnur: 'It's not like it's that different.'
Quixadhal: 'that's why codebases don't evolve… messy code is hard to work on. room[real_roomp(vnum)] is just ugly and unreliable.'
Retnur: 'I hear that whole argument about how the documentation for C++ is many books when C is just 1/10th of that.'
Quixadhal: 'and that's just one tiny example.'
Retnur: 'I think that's a good thing…more documentation.'
Quixadhal: 'most of the documentation isn't really C++, it's the STL library'
Retnur: 'Yeah'
Quixadhal: 'and that IS 10 times bigger than C's stdlib'
Quixadhal: 'but it also does a whole lot more'
Retnur: 'And thank God for STL. It's not like they threw the whole kitchen sink either…'
Retnur: 'It's just the bare basics that everyone is going to need.'
Retnur: 'There's tons of great libraries that aren't in it like all of the boost libraries.'
Retnur: '(Although debatably they should be.)'
Quixadhal: 'I have two C++ books on my shelf… the STL book is indeed just as thick as the C++ language book'
Valasa: 'really, I bet alot would think the C++ spicific stuff might just be C stuff they have not seen before'
Retnur: 'Another thing is people don't really have to understand the underlying code of the STL'
Quixadhal: 'I also have a little tiny paperback called "C++ for C programmers"'
Retnur: 'They just haev to know how it behaves.'
Retnur: 'I taught myself C a long time ago working on muds.'
Retnur: 'Then I went to C++ in college.'
Retnur: 'I think it's common that people think you have to know C before C++'
Retnur: 'But really you don'[t.'
Retnur: 'For someone who learns C++ and not C they don't really separate the two.'
Retnur: 'They normally just consider C ways of doing things as noob programmers.'
Quixadhal: 'I taught myself BASIC on the C64 and wrote an assembler in basic before I had any classes'
Frenze has entered the game.
Retnur: 'With good reason usually :p'
Retnur: 'Btw'
Retnur: 'I did a gprof comparison of std::bitset to my bitmask code'
Quixadhal: 'Then I got to suffer through Pascal, Fortran, COBOL, (L(I(S(P)))), Forth, and finally C – which I'd already learned by then.'
Retnur: 'It out preformed my code by 100% on the memory and 200% on the CPU'
Quixadhal: 'damn'
Retnur: 'The only main different from the user standpoint is that std::bitmask demands a static max number of bits'
Retnur: 'er, std::bitset'
Retnur: 'Like to declare the variable in the first place it is'
Retnur: 'std::bitset<100> variable;'
Valasa: 'wait, by 100% you mean what? it ran in half the time?'
Retnur: 'It took half of my memory.'
Valasa: '100% reduction would be no time'
Retnur: 'Then what is a 200% reduction?'
Valasa: 'done before it starts?'
Quixadhal: 'ahhhh, gotcha. so we'd have to set some arbitrary maximum which could be upped, but just not on the fly.'
Retnur: 'I didn't say anything was reduced by 100% :)'
Quixadhal: 'however… there is vector<bool> too.'
Retnur: 'If I did then I would agree.'
Valasa: 'the memory part'
Retnur: 'vector<bool> is less efficient by far'
Quixadhal: 'if you wanted it resizeable.'
Retnur: 'I compared vector bool to my bitmask code and I out preformed it'
Retnur: 'bitset also has other good properties'
Retnur: 'You can do'
Valasa: 'I guess I said the time incorectly, the 200% cpu I can see as twice as fast, but the 100% on memory was unclear'
Retnur: 'bs = 1 | 2 | 3'
Retnur: 'I think you're just parsing what I said wrong. I said it outpreformed me.'
Retnur: 'If it beat me by 100%'
Quixadhal: 'I would think some things might want resizeability (quest bits, exploration perhaps), but the flags can probably live with just being bumped at compile time.'
Retnur: 'Then it was half my size.'
Valasa nods.
Quixadhal: 'afterall, even if you add flags in an OLC editor… you still have to write code to support them.'
Retnur: 'Well, my code is good for things like storing lists of large numbers.'
Retnur: 'But the bitset code is better for actually just storing togglable bits.'
Retnur: 'If they represent things like affects.'
Retnur: 'It's 1 byte per 8 bits. So bitset<80> is 10 bytes'
Quixadhal: 'I'm still gunning for my unified bit space. :)'
Valasa: 'some flags that are tightly related like lang, race, class refering (if you use any) might change without code changes'
Retnur: 'Being able to use the native bitwise operators on bitset makes it more useful.'
Valasa: 'if they can be OLCed anyway (skillset, setrace, setclass etc)'
Quixadhal: 'as long as you have a string to int map to look things up by name'
Retnur: 'Hrm?'
Retnur: 'boost has a double map code that lets you lookup the value by the key or the key by the value.'
Retnur: 'Might be worth looking at.'
Valasa: 'in that size, maybe not'
Valasa: 'that 10 bytes might very well be 12'
Retnur: 'My bitmask system does beat bitset in some ways'
Retnur: 'Mine only usees memory if bits are indeed set.'
Quixadhal: 'if is_set("dark") could use string to int mapping to look up the bit number for dark, and then check the bitset on the object.'
Valasa: 'most systems will allocate on dword bounderys'
Retnur: 'So just having 10000 possible bits doesn't use any memory if they arne't set to true.'
Quixadhal: 'I'm trying to get away from hard-coded constants wherever possible.'
Valasa: 'I wrote a class that does that too'
Valasa: 'oh yea, get rid of those, i hate those in most cases'
Frenze disappears into the void.
Quixadhal: 'hence the need for a string to int lookup to use bitsets, since they'll expect the bit number, right?'
Retnur: 'ch->is_set("immortal !npc")'
Retnur: 'Could be interesting to do something like that.'
Retnur: 'if obj->is_set("glows hums")'
Quixadhal: 'sure, that seems fine and avoids having to do multiple calls.'
Quixadhal: 'easy enough to break a string on whitespace'
Retnur: 'obj->set("glows hums")'
Retnur: 'If we did a standardized system for the flags'
Retnur: 'That lets us reuse the functions in every data type easily if we wanted to.'
Valasa: 'and with C++ you CAN do that'
Retnur: 'Unrelated subject'
Quixadhal: 'yes, and the object in question could do validation so setting obj->set("immortal") could log an error'
Retnur: 'I think we should use inheritance with data structures.'
Quixadhal: 'unless, of course, you really have mortal objects'
Retnur: 'Consider inheriting values from obj_data to obj_index_data (although the other way around might make more sense)'
Retnur: 'It would allow you to cast down your obj_index_data and treat it like an object for special calls.'
Retnur: 'Like using the same function to print stats to a player.'
Retnur: 'As a normal object.'
Retnur: 'Etc'
Valasa: 'well, you could have a flag class, and derive like RoomFlag etc off them'
Quixadhal: 'I don't see the need to have seperate obj_data nd obj_index_data things… wouldn't obj_index_data just be a container of objects?'
Retnur: 'It's a prototype.'
Quixadhal: 'I have nothing against inheritance…. I just don't see a lot of it in Diku code'
Retnur: 'Not something actually tangable.'
Retnur: 'There's plenty of places we could benifit from it.'
Retnur: 'Like'
Retnur: 'If we wanted to make it so that objects could do things be enchanted to do things.'
Retnur: 'Inheritance makes that a lot simplier.'
Retnur: 'Like…reanimating a corpse to fight for you without using some type of behind the scenes stuff to switch out the objdata with the chardata'
Retnur: 'Or (if for some reason) someone wanted to make an enchanted sword that speaks.'
Retnur: 'It could actually use the say command no problem.'
Quixadhal: 'true, although I'd try to keep multiple inheritance to a minimum… it makes things much harder to debug if it gets out of hand.'
Retnur: 'I like inheritance heiarchies more than multiple inheritance'
Retnur: 'But there's no reason not to use multiple inheritance for things like a bit system.'
Retnur: 'Just inherit that to anything we want to use the unified bit system.'
Valasa: 'I thought of that type of thing a while back, before I thought about changing to C++, at that time I was going to have everything objects and have like a mind add on struct, but you could use C++ for the same type of thing, a char being a type of obj'
Retnur: 'Use virtual functions to make stuff work differnetly if need be.'
Avaeryn: 'back'
Quixadhal: 'Hi there'
Retnur: 'The magic of C++ with inheritance means that no special voodoo has to be done.'
Quixadhal: 'We've drifted off into C++ fluffy cloud land. :)'
Retnur: 'If you want it to use something, inherit it and cast it down'
Retnur: 'Interestingly'
Quixadhal: 'I think I saw a pink elephant drift by a bit ago… although maybe that was just Retnur.'
Avaeryn: 'what did i miss?'
Retnur: 'I made a codebase that I'm still working on'
Retnur: 'That uses inheritance and polymorphism'
Retnur: 'And it automatically saves fields.'
Retnur: 'into SQL without any knowledge of SQL or how it works.'
Retnur: 'And everything happens real time.'
Quixadhal: 'I put forth the names "Fire" and "Ice" for the C++ and C codebase branches.'
Retnur: 'I second those names.'
Quixadhal: 'Nobody objected, so I consider it decided.'
Retnur: 'All opposed.'
Retnur: 'The names pass unopposed.'
Valasa: 'I actualy did what inheritence is in C, kinda funny how in that sence it really was bad code form (it had to be maintained exectly right) but in C++ it is the perfered way of doing things'
Quixadhal: 'It looks better than having + signs in the pathnames to me. :'
Avaeryn: 'did the svn issue get solved?'
Retnur: 'We can use "code names" until the project is done anyways. I don't see a reason to spend a lot of time naming the C version if it ends up the way of the dinosaur.'
Retnur: 'Which might make caveman a good code name :)'
Retnur: 'Would be interesting if every major version change of the C was a different codename based on a prehistoric error. :P'
Retnur: 'era *'
Retnur: 'Error too.'
Asylumius has reconnected.
Asylumius: 'Better late than never?'
Retnur: 'We decided to use python for the entire project while you were gone.'
Avaeryn: 'fair enough'
Quixadhal: 'I think we figured that mob and object progs should be Ruby but rooms should be Lua, they both embed in Python so it's no problem.'
0.0/1