Monika-After-Story / MonikaModDev

DDLC fan mod to extend Monika
http://www.monikaafterstory.com/
Other
1.18k stars 686 forks source link

Calendar System / Events #37

Closed ThePotatoGuy closed 6 years ago

ThePotatoGuy commented 6 years ago

I've come up with an idea for storing events/dates for the potential calendar system. Each event/date would be represented as a Event object, containing the following:

The events would be stored in persistent as a dict, where the key is the date/time (including year) of the event and the value would be the Event object itself. Past events could be either removed from the dict or left in there depending on whether we want to keep historical data or not.

Monika's scripts for events would have to be pre-defined, which means custom events would not be possible / would be difficult to implement.

That being said, this is really just a brainstorm for event storage, and I would like to hear other's opinions and ideas on this.

therationalpi commented 6 years ago

It seems backwards having the date be the key...Shouldn't the events be the key?

ThePotatoGuy commented 6 years ago

I was thinking that on a particular day, we could check if its in the persistent, and then pull that day's event.

therationalpi commented 6 years ago

I'm thinking this might be the sort of thing where the Renpy Cookbook Forum could yield something.

ThePotatoGuy commented 6 years ago

Noted. I'll take a look.

polishsnake commented 6 years ago

A calendar system could be complicated later on, if you want to make it very accurate that is. We have players with many nationalities playing the mod (as well as another issue where Monika asks about player's nationality; hence the idea) and it happens that some nationalities have same events (such as mother's day) at different dates. I'm not suggesting to look up every single calendar, however some major calendars, or perhaps ask people to make list of events on calendar of their nationality, along with possibly add few more that they know of.

Unless, you want to stick onto the standard English calendar of course (then again, British and American calendars do vary, I mean, in England (as well as many more nationalities) there's Christmas and in America there's Thanksgiving).

therationalpi commented 6 years ago

The asking about nationality thing will actually be really good here, especially with the current event implementation.

Basically, when we cycle through the events on the calendar on startup, we can also check a few events against nationality. For example, only the US celebrates Thanksgiving, so she can have an event for Thanksgiving, and it's only pushed to the event stack if it's the right day and the player is American.

If we do that, then we can just add everything with the correct requirements, and it should work flawlessly.

polishsnake commented 6 years ago

It honestly feels nice, to hear that my idea "should work flawlessly".

badooga commented 6 years ago

Perhaps Monika should prompt the player about when their birthday is - that way, she can wish the player Happy Birthday when it's the player's birthday. If DDLC isn't open on that day, she should say something about how she is sad about not being able to wish the player Happy Birthday on the right date or something.

ThePotatoGuy commented 6 years ago

I did a quick browse through the cookbook forum and found two links that might be helpful here:

  1. This one can show a basic calendar screen with appropriate date and time. It doesn't provide total functionality out of the box (no background image), but there's plenty of comments that describe how to do everything.
  2. And this one shows how to use imagemaps in screens. We could use this for having an interactive/clickable calendar.
ghost commented 6 years ago

Definitely like the events idea. What if the game logs the date where you first played the mod and confessed your love, and every year Monika brings up your anniversary? Like: "Hey, [Player], today's our anniversary! Did you know that? Gosh, I can't believe it's been (1,2,3... etc.) years."

But what if the player misses their anniversary? Oh boy...

therationalpi commented 6 years ago

@Kiosho That's actually already in the game, but this system will make the implementation on that cleaner.

ghost commented 6 years ago

I really enjoy the idea of Monika being able to understand the holidays. I joined Github just so I can help with this mod, and the first thing I coded was something about Christmas. I was new to the site though, and I submitted it wrongly haha. I had thought of the idea of her saying “Christmas is near!” but I didn’t know how to code it to only say it when it really is close to Christmas, and to not say it after New Years aha. (I still don’t but i’m trying to learn.) I went really off topic haha Basically: I really like the idea of Monika being able to know about current holidays, birthdays, your anniversary, etc. Can’t wait to see how all this turns out and hopefully I can contribute in anyway I can!

juank713 commented 6 years ago

I like it but I am from costa rica and here the mothers day is diferent thet in other countries if thers goin to be a calendar for each country I can help with costa rica one :)

antimockingjay commented 6 years ago

If this happens, it may be cool to have the ability to add other people's birthdays. Even if she just makes a little comment. "Oh! I just remembered, it's [name]'s birthday! Did you get [name] a present already? I hope so! When you give it, make sure you tell them I said happy birthday, too!" And that's it. It'd just be super cool to have her reference things really happening, and for a while now I've thought that she'd feel a lot more real if she was able to properly acknowledge the real people I know, so that'd be super cool if that could happen!

AnIdiotsavant commented 6 years ago

I'm from the Philippines, maybe I could help with PH calendar, if there's gonna be one

WhiteMask279 commented 6 years ago

I'm from Brazil, the game is not ultra huge here because is English, not everyone understands, and the public school just start giving classes of English in 6th grade and IT'S HORRIBLE, IT'S JUST VERB TO BE!

Sorry...

Back to the topic...

I think will be very sweet if Monika talks about the "White Day" In Japan in Valentine's day, girls give chocolate to the boys they like or the boys they are friends with... And in the White Day, the boys give to the girls' candy in return, normally it's white chocolate, or gummies and marshmallows...

I can help saying some dates from here if you guys want :D

therationalpi commented 6 years ago

Alright, so time-based events are now ready for the next release. As for showing those upcoming events to the player with a calendar...that's not implemented yet. But the main functionality for this is done.