Each day consists of: - Rumours from events from previous day - Rumours hints for today - Move to the group scene Characters ========== Characters will have: - Names - pointer to some kind of picture library - Relationship info with all other characters Events Basics ============== Events fall into two types: - Player Events - Background Events The player events are those that the player picks each day. Background events are those that the characters not involved in a player event will go on, in order for there characters to seem more fleshed out, and to generate rumours to entice the player. Event Conditions ================ Events have a set of conditions which determine if they can start, such as what day of the game it is, and different characters relationships, and (most importantly) which characters are required for them. An event can have zero or more required characters, and can also have zero or more slots for any character. Player Events may be "character initiated" -- this means that the choice to pursue them is presented to the player first, and will only appear once in the game. Player Events may also have consequences for not taking them, such a loss of relationship with the people involved. The Group Scene =============== Each day begins with all the available characters in a group, deciding what to do. Characters have defined available states, such as - Not having specific flags set (such as, err, death) - A minimum amount of approval of the MC - Not being at an ongoing event All Player Events are checked for validity. If there are any character initiated events, one is selected at random, and presented to the user. If there are no character initiated events, or if the presented CI event is rejected by the player, then 3 (or 4?) eligible events are chosen at random and offered to the player to "suggest" to the Group. Events which have character slots for any character will have the characters picked by the player. Once the player's choices are locked in, any penalties for not choosing the other events are applied to the characters, and the remaining characters pick Background Events by the same logic. Event Actions ============= Events can either have an immediate result (in the case of a Player Event like this, the next day will come immediately), or run through a series of actions. Actions are processed linearly, with an optional flag check. Most events will begin by transitioning to another scene. Actions include: - Set flags - Scene Change - Textual Dialogue - Decisions - Sub Events - Next Day Setting Flags ------------- ``` set [flag name] to [flag value] on [scope] scope => local -- This event only scope => global -- Flag is set on the game in general scope => [name] -- Set the flag on a specific charcater ``` Conditional Actions ------------------- You may put a flag based condition in front of any action. Flags from the global or local scopes do not need a prefix. Character flags need the character scope. ``` if [flag] [condition] if sunny_day = 1 if alice.cakes_eaten > 3 ``` Event Actions ------------- Other Events can be actions. They will only be executed if their conditions are met (allowing you to do more complex condition logic). You can either 'replace' the current even with another event, or run that event and return to this one Decisions --------- List of options, with another associated, non-decision action Next Day -------- The next day instruction