• Add Review
  • Subscribe
  • Nominate
  • Submit Media
  • RSS

Design Notes: Of event based procedial generation...

Preface
As I stated earlier in my annoucement post, I plan to create a event based system to make procedially generated clients to enter the coffee shop, and to make them have engaging conversations in order to inspire them to return. So, in this series of Design Notes, I will be explaining, and while I type, conceptializing how to make this functional and engaging.

Basics of Design
Let's first start with the base concept of the generation:

1.Name of NPC : This should be self explained.
2.Trait 1 : Physical appearance of the Npc should be stored here.
3.Trait 2 : A defining habit, for example perfers silence or scratches his head when thinking.
4.Rough Back-story : Simple stories such as he was married, lost money gambling, drinks alot, fought in the last war;
5.Profession : The career choice of this NPC

Now, #1 is pretty simple to make function. Just set a character's name diffrent by checking what name corrusponds with the dice, and making sure to type every message as \n3 for the character and vice versa.

#2 will be pretty simple as well, but it will work with #5 as well. For example, you might have a older gentleman wearing the jumpsuit of a engineer sitting in your cafe. This is where the generation will become a bit complex, as we will first set up a conditional branch tree for the appearance, and then have it jump to a label where we will check for profession. (As you can imagine, the sheer repetion and tedium of this process is why I decided to limit generation down to only 5 variables. I wish I could just store this into a array and read it out easier damn it! But hey, work with your tools.)

#3 will be something that we will run checks for during your conversation, and if you pay close attention, you can determine the best course of action (For example, if they are staying silent, they might not like talking much.)

And this brings us to the night mare that is going to be #4 and #5. You see, #2 and #5 will be corellated then to #4 by changing dice of what the back story is allowed to be. (For example, a Teenager is less likely to have been married or returned from the war...) Now I think of it, I need to do the same with #2 and # 5 as well, a kid is more likely to be a part timer or a student then a veteran or a scientist (Although, who knows these days!)
So, a example of generation will work like this:

Roll Trait 1
Check "Trait 1"
If "Trait 1" = Young set "Profession" die to young appropriate jobs(Set up all of the possible jobs for a younger person in a range, leave the others after that range)
Roll Profession
Check "Trait 1"
Check "Profession"
If Trait 1 = v
If Profession = v
set die range of Backstory
roll "Backstory" die

As you can see, this will determine if the old retired policeman whoms wife is in a coma, by the name of Robert, is going to converse with you, what his rough approach to conversations, and what you can talk with him about will work. Now, let me take this a step farther and explain one of the most important features of the game, that involves Mr.Robert here: The coffee.

This is a coffee shop this retired cop has come too, and as such, he has a preference for a cup of Joe. Now, I know I am going to be making too many assumptions for a real person, but seeing how Mr.Robert here is only a Npc, I am going to say he likes a more robust, dark coffee that is hot. I am going to make the assumption of this because of the fact he was generated in my cafe in the morning (There are 3 stages to a day, Morning, Noon and Evening), so he wants something hot, his history as a policeman suggests a more robust blend to give him energy, his age suggests he likes something a little more darker with a little sugar, and with his wife in a coma, a heavy bitterness with no sugar. In other words, a hot black Colombian with a slightly more bitter grind then not(You will get to grind beans, and mix two types of beans to form the grinds for the coffee. Each bean type and it's roast will determine it's taste)

Luckily for me, this is going to be much easier then the actual generation of the Npc, as I'll slip it into the character generation in the form of percentages. Highest percentages win, rather then straight dice rolls.

After Thoughts:
So, this is the psuedo random generation for Npcs in the game. I hope I explained my thoughts on the subject in a manner that will be easy to understand. This will also hint at a large part of the gameplay, Conversing and getting to know the customer better will both bring him back to the cafe again by raising his favor, earning you more profits as well. Custom tailor his coffee, the mix of grinds to the randomly generated npc, and you will find a rewarding experience not like any other, I hope.

After all, how many times have you booted up a rpg maker game, and not been hamstrung by either a mystery or a mission to save the world? I feel that this game will be a comfortable diversion for a while.

So, Do you have any thoughts on the generation progress? If so, Post a comment on how I should improve it bellow! Don't be shy, more people that help me engineer the framework, the better it will function as I implement it. God knows how many iterations of this system are going to be made til it works as advertised XD