Possible suggestions

From: Tel Janin Aellinsar (icarus@Loomis.Berkshire.NET)
Date: 03/28/96

Sorry to throw this out here, but I'd like some people more experienced 
than I to tell me how many of these (if any) are feasible and/or 
worthwhile.  I'd like to put this someplace else but I'm not sure where 
it would go.  However, if it makes you feel better, you may flame me for 
doing this.

My first suggestion is to have a configuration file of some kind.  I 
can't tell you what a pain it is to have to go through the source and 
delete all the vnum's which point to imaginary rooms, items, or NPCs.  
This has become especially bad with the new format of the files, which 
tends to put the vnum's in different files.  It's just very 
time-consuming and laborious.  So, how about having a circle.conf file 
which sticks in the vnum's specified for the classes and so on?

Second, how about an "intelligent" class system?  A lot of the code is 
(in my opinion) unnecessary.  This may just be my personal preference 
talking, but I think that it's better to type out a non-ambiguous part of 
your class instead of a sometimes-obscure letter.  Even better, it would 
eliminate a bunch of parts of the structures and kill at least one 
function.  Name-completion functions are easy.  I'd write one here, but I 
don't want to waste [more] space.

Third, there MUST be a better way to do colorization.  Particularly, it 
would be nice to have it within the text strings in the regular files.  
Something like a ~ and a hex number would be nice.

Much of the class information could be done in a configuration file as 
well.  Much of the data is just numeric.  The flow would be a bit 
smoother if some of those huge structs were eliminated.  Also, 
consistency would do better;  I haven't checked on how this works now, 
but classes could be stored as strings and therefore the order in which 
classes were reloaded wouldn't matter (in other words, you could 
theoretically delete an unused class and nobody would notice).

I tend to make a distinction between classes and guilds.  Classes are 
more general, while guilds are a specific profession.  For example, you 
could be in a healer guild but a mage class.  This might be pointless 
(instead, create a healer class), though.

I seem to remember reading something about a CircleMUD "network."  Is 
there such a thing?  Is it worthwhile?  It seems that it might be fun 
just for inter-MUD messages if for no other reason.

The paging is much improved.  Thank you.  (Not a suggestion, but hey.)

I might suggest a less spacing-specific player savefile format.  The 
primary reason for this is so that fields could be safely added without 
destroying all the playerfiles, and also so that there could be 
"toggles."  This would save on the limited bitfield problem, but do bad 
things to memory.  Well, whatever.  Anyway, you could skip things that 
the game would assume, and so on.

A sort of scripting language would be nice.  I'm not sure how it would be 
implemented at all, and we're looking at a CircleMUD 4.0 feature (if 
then), but I'd like some sort of functionality without having to modify 
the source code.

To summarize, my major points are:  added functionality from a 
non-source file, preparation for backwards compatability of future 
versions (player save files), and a text-based, rather than 
position-based, class system.  I rather suspect that most of these come 
from my recent experimentation with MudOS, but there you are.  It does 
win out on some points, though I still prefer this.

What I'm looking for in sending this to the mailing list are further 
suggestions, some refined versions of these, and whether or not these are 
worthwhile at all.  Anyone who actually has done some of these would be 
thanked greatly for sending me a patch for the source.

Thanks for reading this all the way through.

Tel Janin Aellinsar                       http://www.crocker.com/~icarus
McCoy Enterprises Corporation          Shayol Ghul Resort and Health Spa
Berserker Dragon, Knights of the Cosmos             icarus@BERKSHIRE.NET

This archive was generated by hypermail 2b30 : 12/07/00 PST