Managing time, quests, and life span of PCs and NPCs
this hopes to be an answer to a problem proposed by the creator of Adom. May it be useful.
Hello everybody, greetings. Id like to say I love Adom, but I think that Jade can be better in several ways.
I think that I can provide some usefull ideas about this new problem of aging and dying of Npcs. I personally prefer to choose the succesor system with a few modifications. For example: when sombedy dies in the game (an Npc playing some kind of role, because if its just a nameless farmer who?s not giving quests nor special dialog, there?s just no way that the player keeps track of him or his life span), a succesor should appear. Someone with a random name, but tagged by the game internally as "son/daughter of X"; sometimes the succesor will choose to pay the debt of his father or mother, and this choice would be determined on his "honour" or "social prestige". This "prestige" may be determined by te social rank of the quest giver. For example:
a simple farmer gives a quest. Time goes by and the player only reaches the farmer after his death. But the farmer had a son, who takes his place in work. As the farmer?s "honour" (or prestige) is very low, there?s only a small chance that he will pay his father?s debt (10%?). On the other hand a blacksmith succesor will have a hihger chance of paying (30%?), a shopkeeper?s son 25%, the king?s son himself about 95%.
This is not all: this system can be improved. Because sometimes the succesor in certain works is not son/daughter of the previous one. When this happens rewards will be completely neglected. For example: a shopkeeper will probably be succeded by his son (70% chance?), a farmer too (90% chance?). But on the other hand someone like a priest will only have a 15% chance (for example) of being replaced by his son (or daughter). A king can die without children, and be succeded by somedy else? some random individual, who might or not have been implied in a plot to replace him (small chance of this? lets say 1% every year? or higher?). This new person wont pay any previous debt.
A random example: a smithy gives a quest. The player fulfils it, but during his return trip the smithy dies and is replaced by somebody else, not from his family (lets say 70% chance of being succeded by a son, so only a 30% chance of this happening) . This person will claim to have no relationship with the previous blacksmith and deny to pay anything.
Another example, the priest gives a quest and dies. He is succeded by his daughter (15% chance of this happening), but as priests have a high "prestige" (or "honour", tag it as you prefer), there?s a 80% chance of receiving the reward from her (she?ll say something like "i reward thee in memory of my beloved father"? etc).
It is also possible to improve this system, but optional, because it might get nasty. The program could handle first names and last names, and the last name only being showed when choosing the option of "more information" on the "look" command. right there there could be a description "this is Rodolph Nash the shopkeeper, son of Gutrich Nash, previous owner of the shop". Up to this point is pretty easy to implement and using, because it can be generalised easily. But if even more realism is searched for, child characters in the game should
have their names since the beggining... but this is the nasty part, because every character would have a unique name and identity... personally I would avoid this particular level of realism. Childs should be nameless, except those of royalty. The prince should have a name and a description. But a farmer giving a quest, and succeded by his son, should?nt get a special name because of it, it is just sufficient to have the game tag him internally as "previous quest giver succesor" (remember that there?s a 90% chance that farmers are succeded by their sons, and a 10% chance that this son/daughter will pay the debt). This makes everything easier.
Besides this I have another idea that could prove helpful. It?s about the quest assignment itself. I came up with a handy formula that may help to assign quests in an intelligent way.
The program itself could be able to assign quests that are able to be completed within both the player character and the Npc?s life span (anyways, sometimes the game may just simply ignore this).
It?s like his: X ≤ (1/2).c.V.T
where X represents the distance to the quest spot, V is the distance walked every time the player moves one square divided the time spent (it?s the speed), T is either the Pc?s remaing life span or the npc?s remaining life span, whichever is the lower. the number 1/2 is there because the distance has to be walked twice, and the letter "c" is just any number the programmer chooses.
However, this formula does NOT assign the place of the quest. It only makes it harder or impossible to be so far away that the player can?t get there and come back. If the player doesnt make it its his own fault. Anyways, it should be "possible to get impossible quests" if you get what i mean, but only with a small chance of it to happen.
Quests giving artifacts or other "key items" should implement a parallel system sometimes, so they don?t disappear. This is easily solved using the succesor implementation.
And i want to add something else. "V" is either a variable or a constant, but the game might not consider the speed as a constant number on every square of the map, so this might make it a variable for most cases... this would apparently complicate things, but there?s a solution: the "V" letter should be just the average speed, considering all kinds of terrain. Besides let?s not forget that this would give some randomness to the world of jade that would be very nice. Sometimes quests "could" be impossible. This impossibility might come from more precise preconception, however. The "c" number is there so the programer may replace it for anything he prefers, be it a constant or a variable.
So long everyone