[crossfire] How to integrate old stories in the game?

Mark Wedel mwedel at sonic.net
Wed Nov 25 00:59:28 CST 2009


Nicolas Weeger wrote:
>>   I think we have sort of learned over time that coding in such solutions
>> tends to lack flexibility we generally desire, or don't give as good
>> results as we might hope.
>>
>>   We could certainly have script based text garbling, but having it do it
>> so that it doesn't look like something that was script based would be hard.
> 
> Randomly replace a word by random letters, with the same length.
> That'd do the trick, no?

  Yeah, but as said, that looks likely script based garbling.  In a more real 
sense, if the character is not literate enough, they might not understand the 
message or in fact misread it.  And randomly replacing some words may not do 
much - you could probably replace a fair number of words with the message still 
being perfectly clear to the end user.


> 
>>   Ideally, each written note would have a title, so there could be a table
>> of contents.  Things like 'Dungeons of the Deserts', 'Monsters of the
>> Southern Forests', 'Characteristics of Ogres', etc.
> 
> I'd add options for the client to manipulate stuff around.
> And also to copy items to give to other people - if you have paper, and if you 
> have writing, the higher the level the lower the probability to make copy 
> mistakes.

  I agree - one should be able to copy notes.  That said, the starting 
difficulty of the message would have a high degree on the literacy level of the 
copied message (at some point, you can only dumb something down so much without 
it losing most of its meaning)

> 
> 
> 
>>   While this could perhaps all be handled on the client (when you read
>> something, it automatically records that information in a file), that
>> doesn't seem ideal.  The information we are talking about here is really
>> character information - while there is nothing that prevents one from
>> sharing this knowledge, I just don't think it would be a good user
>> experience that if you switched to a different client (or perhaps same
>> client running on a different machine), you've suddenly lost all that
>> information.
> 
> Sure, server side.
> 
> We'd need a way to identify uniquely a message, though, which I'm not sure is 
> something we already have.
> Messages randomly generated, and also messages from /lib/messages

  I'm really not sure how much we should keep the randomly generated messages - 
I think that may have been a method to have a reasonable base of messages, but 
with most randomly generated stuff, it figuring out the occurence and difficulty 
of messages isn't great.

  I'd almost rather just have the server dump all those to the messages file, 
and then go through and so some cleanup.

  We don't have any way to uniquely identify a message.  There are different 
ways this could be done - a 256 bit hash of the message contents would do a good 
enough job, but that leaves you with a value that is fairly meaningless to look 
at (and if you fix a typo in the message, that no longer identifies that as the 
same message)

  If we gave titles to each message, you could use that - however, who is to say 
you might not want several things of the same title?  Best would probably be to 
make a unique identifier in the messages file, that could be named to give some 
clue, but also be made differently (book_of_monsters1, book_of_monsters2).

  An interesting effect of giving each message a unique identifier is one could 
use that to track literacy.  One shouldn't really get experience for reading the 
same message, even if just found in a dungeon.  Likewise, there really shouldn't 
be anything that prevents a player from giving/trading something they read to 
someone else, and that new person getting exp.  But that is currently not 
allowed because otherwise the same player could read it 100 times and get 100 
times the exp.  If you know if the character has read that message, they could 
only get the exp once, and giving it to someone else would only be useful if 
they haven't read it.

  This could almost be used to create real libraries within the game :)





More information about the crossfire mailing list