Pink Petal Games

PyTFall => PyTFall: Game design => Topic started by: Xela on December 15, 2013, 05:33:37 PM

Title: <-- Archived --> (Events + Quests)
Post by: Xela on December 15, 2013, 05:33:37 PM
longint got familiar with PyTFalls code and is looking for something to do. Events/Quests are a great place to start. Lets decide on how we're gonna do it.

I figure we can pick events/quests approaches from these categories:

1) Unique Girl Events/Quests (similar to tifa's quest):

- There are not tracked by the game (we can have these tracked but since these allow practically everything, there is little point).
- Scripted in Ren'Py script and interact with game elements using Python.
- We are only responsible for triggering these through out the game, rest is up to modders.


2) Game Events/Quests (short-term game objectives):

- These we code in Python and maybe allow tracking.
- Similar objectives to SimBro games might work for us.
- Rewards could be jokers or money/special items.


3) Random events on Next Day:

- Python again, not tracked.
- Part of Next Day code.
- We already have some during the Rest job for example.


4) Random City events:

- Python scripted.
- Similar to MyCuteSlave or Slavemaker.
- Not tracked.


5) Game Events:

- Python.
- These we track.
- Similar to Otherworld events in design.


If you have any ideas/addons/other options, lets hear them and start writing some code :)
Title: Re: Events + Quests
Post by: longint on December 17, 2013, 03:04:36 PM
Ok. I feel like I missed something, what you mean by "tracked" and "not tracked"?

What I think:
- Events/quests consist of entry points (in what label/screen/python it can be triggered, as example start and end of quest) and condition (terms of event/quest to met).
- It can have screens and labels for user interaction.
- Also, I would point out quest/event reward or penalty (or both).

So event/quest can be presented as separate reusable entity. We can create events in library/events/ each in *.rpy file or folder grouped by some theme or singly for one big quest, so IMHO it can ease code management.

But now... I think... that topic more about "game design" and not "code design" (its PyTFall: Game design after all).
So to speak of design: all types of events is cool. I think its quite plenty of them to start.
Title: Re: Events + Quests
Post by: Xela on December 18, 2013, 01:24:29 AM
Tracked/Not tracked = Quest progress recorded to a journal/Falls into oblivion.
Title: Re: Events + Quests
Post by: Xela on January 31, 2014, 12:43:03 PM
Ok, people. Look alive :)

What do we want from event manager? I am planning to code the following in:

- Simple event registration.
This can register a simple event bound to a label in one line of code with basic trigger options like dice, starting day, ending day, amount of occurrences that are allowed per amount of days, locations to trigger, type of trigger (for now we have to, auto-trigger on entry of label and Look Around button).

- Events will also support complex events and complex triggers through Python code, there should be no limits to power of that approach.

- Event system should run on every label in the game and also be useful for triggering girls special scripts (that are basically just more labels).

- Event manager will keep track of events making sure game is balanced and doesn't break or show an overkill of auto-triggered events.

Anything else??? I would like to get this as close to our needs as required...
Title: Re: Events + Quests
Post by: CherryWood on January 31, 2014, 01:27:17 PM
It's kind of hard to say that now... because I have no idea what event could actually do besides the obvious gold/items/stats/more text. Like if we could track or affect the actual brothel management, like number of customers, they preferences... something that could change the gameplay a little. And the game doesn't have any goal or challenge yet.


Also the options for triggers are kinda unlimited:  is girl1 and girl2 taking a "rest" action?  Do you have too many annoyed girls? Did you just purchased a palace? Have you defeated team X using girl Y in arena?  Time after something that event before did? (happening X days after) etc.


So I don't understand much what you want to know...
 
Title: Re: Events + Quests
Post by: BlackWolf Inc. on January 31, 2014, 01:44:02 PM
Well would it be possible to get girls in a different way than their disposition toward the player, say if girl1 is related or a friend of girl2 then they would join you? just curious so sorry if i'm at the wrong end of the stick here.
Title: Re: Events + Quests
Post by: DarkTl on January 31, 2014, 01:50:20 PM
I agree with Cherry, so far it's the most vague part of the game, and the most vague our thread as well  :)

say if girl1 is related or a friend of girl2 then they would join you?
We don't have relationships between girls yet, but in the future it might be possible.
Title: Re: Events + Quests
Post by: BlackWolf Inc. on January 31, 2014, 01:55:52 PM
We don't have relationships between girls yet, but in the future it might be possible.
Right, thanks for clearing that up.
===
I third that, I think we need to lay out exactly what  we can and can't do with it, that would be a good start I believe.
Title: Re: Events + Quests
Post by: Xela on January 31, 2014, 02:09:05 PM
So I don't understand much what you want to know...

If you had any requests... or ideas. If what I am coding at the moment is enough, it's enough.

It's kind of hard to say that now... because I have no idea what event could actually do besides the obvious gold/items/stats/more text. Like if we could track or affect the actual brothel management, like number of customers, they preferences... something that could change the gameplay a little. And the game doesn't have any goal or challenge yet.

Well, that's a great deal already, isn't? We'll add ability to have effect on mechanics at some point for sure, it's possible already, an event that raises reputation of one of your brothels for example. At some point all of your updated girls will tell customers to go to hell if they are way to beneath their standings. Better rep = better customers.

Well would it be possible to get girls in a different way than their disposition toward the player, say if girl1 is related or a friend of girl2 then they would join you? just curious so sorry if i'm at the wrong end of the stick here.

It would be perfectly possible.

I agree with Cherry, so far it's the most vague part of the game, and the most vague our thread as well  :)

You don't think that events like in SM or MyCuteSlave carry potencial? Simply displaying pretty pics or displaying a bunch of girls playing on the beach if non of them joined you yet (Pics of Nauto girls I've once posted in GD thread)? Or starting a unique quest? Or meeting some traveling merchant? Or meeting an unique girl outside of girlsmeets?

I think stuff like that is awesome. PS: Until this is coded in, we don't really have a proper way to start even as much as Tifas quests btw.


We don't have relationships between girls yet, but in the future it might be possible.

Well, until that is established, we do have origins don't we?

Pseudo code:

Code: [Select]
l = [girl for girl in char.values() if girl.origin == "Naruto" and girl not in hero.girls and girl.location == "city"]
random.shuffle(l)
if len(l) >= 2:
girl = list.pop()
girl2 = list.pop()
g = Character(list.pop().name)
g2 = Character(list.pop().name)
if girl.disposition > 500:
    g "I'll join you but I have a friend who's in need of a job as well"
    g "Her name is [girl2.name] and she is an [girl2.occupation]. Would you take us both in?"
...

I can code in the code conditioning if someone provides decent texts and rules for the event.
Title: Re: Events + Quests
Post by: CherryWood on January 31, 2014, 02:21:19 PM
Ok. Then because these two lines covers pretty much everything, I say it's enough  :) 

- Events will also support complex events and complex triggers through Python code, there should be no limits to power of that approach.

- Event system should run on every label in the game and also be useful for triggering girls special scripts (that are basically just more labels).
Title: Re: Events + Quests
Post by: DarkTl on January 31, 2014, 02:27:02 PM
So you mean a centralized management system for events? Well, how about this then: in SM at some point random merchants begin to visit you every morning, effectively wasting your time. Even if we don't track random events globally, there should be restrictors for them.

Well, until that is established, we do have origins don't we?
I guess. Although origin could mean that they are enemies, not friends (KOS-MOS and T-elos from Xenosaga, for example), still it can enliven gameplay until we'll sort it out properly.
Title: Re: Events + Quests
Post by: Xela on January 31, 2014, 02:36:25 PM
So you mean a centralized management system for events? Well, how about this then: in SM at some point random merchants begin to visit you every morning, effectively wasting your time. Even if we don't track random events globally, there should be restrictors for them.

Well, whoever makes that event should make an option for the damn merchant to bugger off and maybe wait somewhere or something.

The game will be 80% easier to mod than SM, stuff like that will be easy to solve.
Title: Re: Events + Quests
Post by: BlackWolf Inc. on January 31, 2014, 02:46:06 PM
I just thought I would put the idea out their, but as Dark said dynamic relationships could and would the game more interesting, and even if they don't yet, give the player the impression that these girls aren't just sitting around you see.
Title: Re: Events + Quests
Post by: Xela on January 31, 2014, 03:03:15 PM
I just thought I would put the idea out their, but as Dark said dynamic relationships could and would the game more interesting, and even if they don't yet, give the player the impression that these girls aren't just sitting around you see.

I have a city/world life modeling planned to prevent girls from "just sitting there".
Title: Re: Events + Quests
Post by: BlackWolf Inc. on January 31, 2014, 03:04:57 PM
Well then I suppose this could add another layer to it?
I apologize if i'm getting ahead of myself