Hello all,
I'm a little stuck, and I'm hoping you can help. This is not as much how to code it question, but more a basic story flow question.
My Story is a interactive, non-linear story. The Main Character's interactions with NPC's changes depending on a number of variables, and one of the most important ones is mood. One of the things I want to add is a scale of how hungry you are, and if you are "full", it improves your mood, if you are "hungry", your mood decreases, and the longer you are hungry, the worse your mood. But to do this, I need a time element, and this is where I'm getting stuck.
First, I'm considering for simplicity sake, a 24 hrs clock. I've worked enough places where they used the 24 hr clock for datalogging, that 15:00 is 3 pm to me, However, I'm not sure how my readers will respond to the 24 hr clock.
next, again for simplicity, I'm thinking whole 1 hr blocks, this way a single integer can be used for the time. But if I fix length encounter times, I run into issues with end times with things that need to end at a certain time. example: If a visit to the bar lasts 5 hours, and there is an event that needs to happen at last call (in this case 22:00), I would need to show up at the bar at 17:00. However, if the choice is made to Show up at 14:00 instead, the last call is in the wrong spot of 19:00. The other side is if for whatever reason you showed up at 20:00, a 5 hr block would put you 3 hrs past closing.
I also want time at points to be very variable. IRL I spend a lot of time in archives/ Libraries doing genealogical research. There are times I get to the archives, spend an hr and am ready to leave, as they don't have anything new and other times I find a bunch of new stuff, and can spend 8 hrs going over it. I need a way to incorporate that kind of time usage as well, as the library will have a number of reference books describing the gameworld, but this could be useful in other areas as well.
This is a basic outline of my day 1:
at 8:00 you are woken from a medically induced coma. at 13:00 you meet with a social worker who answers questions and sets you up with a job and a place to stay. at 14:00 you are discharged, and taken to your apartment, at 13:00 you are free to wander around. Your choices are going to the pawn shop for cash, market for supplies, library for more info, or a bar for a drink. There is no reason you can't do all of these things, yet if you go to the bar first, the shops and library will be closed. if you go to the Library first, depending on the time you spend there, The pawn shop might close, leaving you broke. no matter what path you take, you need to be home by 22:00.
Any suggestions on how to make this happen?
Thank you.
A Writing Question: need some ideas on a direction
Forum rules
Ren'Py specific questions should be posted in the Ren'Py Questions and Annoucements forum, not here.
Ren'Py specific questions should be posted in the Ren'Py Questions and Annoucements forum, not here.
-
- Regular
- Posts: 41
- Joined: Thu Jan 29, 2015 12:48 pm
- Contact:
- trooper6
- Lemma-Class Veteran
- Posts: 3712
- Joined: Sat Jul 09, 2011 10:33 pm
- Projects: A Close Shave
- Location: Medford, MA
- Contact:
Re: A Writing Question: need some ideas on a direction
Are you asking on how to code this in Renpy? If so you might want to put this is the Renpy Questions and Announcements thread.
A Close Shave:
*Last Thing Done (Aug 17): Finished coding emotions and camera for 4/10 main labels.
*Currently Doing: Coding of emotions and camera for the labels--On 5/10
*First Next thing to do: Code in all CG and special animation stuff
*Next Next thing to do: Set up film animation
*Other Thing to Do: Do SFX and Score (maybe think about eye blinks?) Check out My Clock Cookbook Recipe: http://lemmasoft.renai.us/forums/viewto ... 51&t=21978
*Last Thing Done (Aug 17): Finished coding emotions and camera for 4/10 main labels.
*Currently Doing: Coding of emotions and camera for the labels--On 5/10
*First Next thing to do: Code in all CG and special animation stuff
*Next Next thing to do: Set up film animation
*Other Thing to Do: Do SFX and Score (maybe think about eye blinks?) Check out My Clock Cookbook Recipe: http://lemmasoft.renai.us/forums/viewto ... 51&t=21978
-
- Regular
- Posts: 41
- Joined: Thu Jan 29, 2015 12:48 pm
- Contact:
Re: A Writing Question: need some ideas on a direction
trooper6 wrote:Are you asking on how to code this in Renpy? If so you might want to put this is the Renpy Questions and Announcements thread.
No, this isn't as much about "how" to code it, more of a how did you deal with this? I'm having a problem with the concept at the moment. The coding issues are later, once I can get an idea of what I want it to do. Basically, how to best fit linear time into a non-linear world, as I have yet to see an example that I like.
Last edited by nhguy03276 on Sat Jan 31, 2015 4:27 pm, edited 1 time in total.
- Mad Harlequin
- Eileen-Class Veteran
- Posts: 1068
- Joined: Sun Jul 14, 2013 12:55 am
- Projects: Emma: A Lady's Maid (editor)
- IRC Nick: MadHarlequin
- Location: Gotham City
- Contact:
Re: A Writing Question: need some ideas on a direction
What exactly about the concept bothers you? I'm not sure I understand. Do you mean the idea of the clock?
If you're finding it too limiting, discard it.
If you're finding it too limiting, discard it.
I'm an aspiring writer and voice talent with a passion for literature and an unhealthy attachment to video games. I am also a seasoned typo-sniper. Inquiries are encouraged. Friendly chats are welcome.
"Always do what is right. It will gratify half of mankind and astound the other."
— Mark Twain
— Mark Twain
- trooper6
- Lemma-Class Veteran
- Posts: 3712
- Joined: Sat Jul 09, 2011 10:33 pm
- Projects: A Close Shave
- Location: Medford, MA
- Contact:
Re: A Writing Question: need some ideas on a direction
This still feels like a coding question to me.nhguy03276 wrote:trooper6 wrote:Are you asking on how to code this in Renpy? If so you might want to put this is the Renpy Questions and Announcements thread.
No, this isn't as much about "how" to code it, more of a how did you deal with this? I'm having a problem with the concept at the moment. The coding issues are later, once I can get an idea of what I want it to do. Basically, how to best fit linear time into a non-linear world, as I have yet to see an example that I like.
You have your clock. You have your bar, your bar has some variables. Like: Last Call = 22:00, Visit to bar = 5 hrs.nhguy03276 wrote: next, again for simplicity, I'm thinking whole 1 hr blocks, this way a single integer can be used for the time. But if I fix length encounter times, I run into issues with end times with things that need to end at a certain time. example: If a visit to the bar lasts 5 hours, and there is an event that needs to happen at last call (in this case 22:00), I would need to show up at the bar at 17:00. However, if the choice is made to Show up at 14:00 instead, the last call is in the wrong spot of 19:00. The other side is if for whatever reason you showed up at 20:00, a 5 hr block would put you 3 hrs past closing.
Then you go to the bar. You go at 14:00. The program attempts to increase time by 1 five times:
Increase 1. 15:00
Increase 1. 16:00
Increase 1. 17:00
Increase 1. 18.00
Increase 1. 19:00
Then you are done with your bar time. No last call event happens because you program the last call to happen only at 22:00 not after 5 hours.
If you arrive at 17:00, you run your bar function:
Increase 1. 18:00
Increase 1. 19:00
Increase 1. 20:00
Increase 1. 21.00
Increase 1. 22:00 (Your Last Call even happens because it is 22:00
if you arrive at 20:00, you run your bar function:
Increase 1. 21.00
Increase 1. 22:00 (Your Last Call even happens because it is 22:00, and the bar closes and you are kicked out, ending your bar time early).
Again this is a programming issue. You can choose to ask your players how long they want to stay and then based on that pick some events for them, or more like how your game seems to want to go, they go to the library then you have your program pick a random (or skill based) library event. One event might be: Nothing found, you only spent one hour at the library (then you add +1 to your time clock). Another event might be: You found a bunch of clues, here they are, you spend 5 hrs at the library (then you add +5 to the clock).nhguy03276 wrote: I also want time at points to be very variable. IRL I spend a lot of time in archives/ Libraries doing genealogical research. There are times I get to the archives, spend an hr and am ready to leave, as they don't have anything new and other times I find a bunch of new stuff, and can spend 8 hrs going over it. I need a way to incorporate that kind of time usage as well, as the library will have a number of reference books describing the gameworld, but this could be useful in other areas as well.
Again this is all programming to me. Each of your locations as an open and closing time and a how long you spend there variable. Before you go anywhere the program checks the time. If it is 22:00 you go home. At 14:00 everything is open so all options are available to you. So then you pick an option, the game takes you there and increases your time variable by how long you spend there. Then you are given more choices on what to do. What choices are avialable depend on what time it is.nhguy03276 wrote: This is a basic outline of my day 1:
at 8:00 you are woken from a medically induced coma. at 13:00 you meet with a social worker who answers questions and sets you up with a job and a place to stay. at 14:00 you are discharged, and taken to your apartment, at 13:00 you are free to wander around. Your choices are going to the pawn shop for cash, market for supplies, library for more info, or a bar for a drink. There is no reason you can't do all of these things, yet if you go to the bar first, the shops and library will be closed. if you go to the Library first, depending on the time you spend there, The pawn shop might close, leaving you broke. no matter what path you take, you need to be home by 22:00.
Any suggestions on how to make this happen?
Thank you.
How is this not a programming question? I must be missing something in your conundrum. You seem to know how you want to do this conceptually already...what else is left other than programming it?
A Close Shave:
*Last Thing Done (Aug 17): Finished coding emotions and camera for 4/10 main labels.
*Currently Doing: Coding of emotions and camera for the labels--On 5/10
*First Next thing to do: Code in all CG and special animation stuff
*Next Next thing to do: Set up film animation
*Other Thing to Do: Do SFX and Score (maybe think about eye blinks?) Check out My Clock Cookbook Recipe: http://lemmasoft.renai.us/forums/viewto ... 51&t=21978
*Last Thing Done (Aug 17): Finished coding emotions and camera for 4/10 main labels.
*Currently Doing: Coding of emotions and camera for the labels--On 5/10
*First Next thing to do: Code in all CG and special animation stuff
*Next Next thing to do: Set up film animation
*Other Thing to Do: Do SFX and Score (maybe think about eye blinks?) Check out My Clock Cookbook Recipe: http://lemmasoft.renai.us/forums/viewto ... 51&t=21978
Re: A Writing Question: need some ideas on a direction
You may be trying to be too detailed here. Most simulation games I've played have a lower temporal granularity, typically: morning, afternoon, and evening, and then sometimes a late evening for special events. Examples: Persona 3/4, Long Live the Queen, Cherry Tree High Comedy Club, etc
Micromanaging the player's schedule down to the hour seems like an unnecessary strain on everyone's patience.
If you insist on doing it this way though, then you'll have to have checks to prevent impossible scenarios. For example, in your bar example, if you don't show up in time to stay for 5 hours and then go through last call, then the event that should trigger simply doesn't trigger, and you must either wait for another day or you lose the chance altogether and the story must be adjusted accordingly. This adds a huge amount of complexity to the debugging and story branching.
Micromanaging the player's schedule down to the hour seems like an unnecessary strain on everyone's patience.
If you insist on doing it this way though, then you'll have to have checks to prevent impossible scenarios. For example, in your bar example, if you don't show up in time to stay for 5 hours and then go through last call, then the event that should trigger simply doesn't trigger, and you must either wait for another day or you lose the chance altogether and the story must be adjusted accordingly. This adds a huge amount of complexity to the debugging and story branching.
Who is online
Users browsing this forum: No registered users