diff --git a/README.md b/README.md index ff6ecf88..78f309ec 100644 --- a/README.md +++ b/README.md @@ -180,12 +180,13 @@ For each body part `b`: - Clothing on the ground can be picked up when the player is in range. #### 6.3.4 Theft -Theft applies to loose clothing on the ground and to bags placed in the world (see §6.4). The model has two layers — a chance-based in-session roll and a deterministic sleep-loss handled in §4.4. Tuning placeholders below are resolved in §21. +Theft applies to lose clothing on the ground and to bags placed in the world (see §6.4). The model has two layers — a chance-based in-session roll and a deterministic sleep-loss handled in §4.4. Tuning placeholders below are resolved in §21. - **Grace period.** Loose clothing on the ground is safe for `T_grace` minutes (TBD) after the player leaves it unattended. Bagged contents (bag set down in the world) get a longer grace period `T_grace_bag` (TBD, longer than `T_grace`); the bag protects its contents until then. - **Chance roll.** Once an item is past its grace period, each check tick is an independent roll at a flat probability `P_theft` (TBD %). The probability does **not** ramp with time — leaving an item out for 20 minutes is not strictly riskier per minute than leaving it out for 5 minutes; the only thing time does is give more independent rolls. - **Resets.** The grace timer resets when the player re-enters proximity of the item or when the player is inside a safe zone (apartment). - **Sleep is not handled here.** Sleeping (voluntary at home or via the energy-zero cutscene) is the deterministic side of the model — any clothing left outside the apartment at sleep time is guaranteed lost, regardless of where it sits in the grace / roll cycle. See §4.4. +- **Hiding spots** Items can be hidden in hiding spots where they're less likely to be stolen. Has chance to be stolen after sleeping. #### 6.3.5 Rip & tear - Moving through bushes, against walls, or other rough collisions decrements `condition`. @@ -200,7 +201,7 @@ Theft applies to loose clothing on the ground and to bags placed in the world (s - Blocked if another garment covers the same part (e.g., pants block coat's ass-expose). - While exposed, the body part counts as fully uncovered for embarrassment math. -#### 6.3.7 Restrictive clothing +#### 6.3.7 Restrictive clothing* - Cuffs, restrain bars and similar items lock hand-dependent actions (using phone, picking up items, masturbating). - Can be removed by having key and spending some time to remove it. @@ -218,20 +219,20 @@ Theft applies to loose clothing on the ground and to bags placed in the world (s - There is no abstract "backpack" inventory. Total carry capacity = sum of container slots provided by currently equipped items. ### 6.6 Item loss summary table -| Situation | Outcome | -|---|---| -| Session ends safely | All carried / equipped / placed items persist. | -| Session lost, item equipped | Item persists, fully equipped. Loss never forcibly removes worn clothing (§4.4). | -| Session lost, item in equipped bag | Item persists (bag is on the player). | -| Session lost, bag placed in world | Bag and contents are subject to the same theft chance as clothing (§6.3.4) and to sleep-loss if the player sleeps before retrieving them. | -| In-session, clothing past the grace period | Each check is a flat chance of theft (§6.3.4). Picking the item back up resets the grace timer. | -| Sleep with clothing left outside the apartment (voluntary or forced energy-zero cutscene) | **Guaranteed** loss of every clothing item left outside, regardless of grace / chance state. | +| Situation | Outcome | +|-------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------| +| Session ends safely | All carried / equipped / placed items persist. | +| Session lost, item equipped | Item persists, fully equipped. Loss never forcibly removes worn clothing (§4.4). | +| Session lost, item in equipped bag | Item persists (bag is on the player). | +| Session lost, bag placed in world | Bag and contents are subject to the same theft chance as clothing (§6.3.4) and to sleep-loss if the player sleeps before retrieving them. | +| In-session, clothing past the grace period | Each check is a flat chance of theft (§6.3.4). Picking the item back up resets the grace timer. | +| Sleep with clothing left outside the apartment (voluntary or forced energy-zero cutscene) | **Guaranteed** loss of every clothing item left outside, regardless of grace / chance state. | ### 6.7 Consumables — Food - Restores energy. - May grant timed buffs (e.g., ramen: +stamina regen for 3h in-game). - Buffs are typed and stackable per design (specifics TBD). -- Some foods require cooking (ingredients from convenience store), some are pre-made (from cafe). +- Some foods require cooking (ingredients from convenience store), some are pre-made (from café). - Food is cooked via mini-games - Slice ingredients via fruit ninja - Stir ingredients via clicker(Mortal Kombat - Test your strength) @@ -264,7 +265,7 @@ All attributes update in real time. Indoor and outdoor behavior is identical — - Blurred peripheral vision. - Player cannot tell whether NPCs are calling police or taking photos. - No indicator of which NPCs noticed them. -- Reset by **masturbating** (consumes more energy than usual, modified by `energyDrainMasturbateModifier`). Masturbation is a Slut-path unlock (§5.1) — players who haven't taken that path cannot reset lust within a session and must accept the max-lust handicaps above until they sleep. +- Reset by **masturbating** (consumes more energy than usual, modified by `energyDrainMasturbateModifier`). Masturbation is a Slut-path unlock (§5.1) — players who haven't taken that path cannot reset lust within a session and must accept the max-lust handicaps above until they go home and masturbate in home before sleep. ### 7.3 Energy - Drained by all activity. Base rate plus modifiers: @@ -318,7 +319,7 @@ All attributes update in real time. Indoor and outdoor behavior is identical — ### 7.9 Followers & Money - **Followers** — running total of forum followers. Used in subscriber-style follower-gain math when posting photos. -- Followers generate money each week. +- Followers generate money each day. - More followers means more money for completing commissions. - **Money (Yen)** — earned from commissions, livestream donations, selling worn underwear. Spent on rent, clothing, food, gym, beauty salon. @@ -341,6 +342,8 @@ Movement should be implemented as a state machine on the character with clear tr ## 9. Phone +TODO: Add battery charge + The phone is the player's diegetic UI hub. It can be used if it is in: hand, pocket (pants with phone-sized container slot), or equipped bag. **Exception:** the livestream app (§9.1.1) continues to operate while the phone is placed in the world, so the player can keep streaming after setting the phone down for a back-camera shot. ### 9.1 Camera @@ -354,6 +357,7 @@ The phone is the player's diegetic UI hub. It can be used if it is in: hand, poc - Generates donation income in real time. Income rate scales with exposure visible in the stream (similar logic to photo follower-gain math, but continuous). - Recommended implementation: livestream is a `StreamSession` object owned by the phone, tickable, with `viewerCount`, `tipRate`, and `streamQualityScore` (a function of what the camera sees and player attributes). - Ending the stream returns earnings to the bank. +- TODO: Stream requests for huge donations ### 9.2 Gallery - Lists all captured photos with metadata (time, location, equipped state, exposed parts). @@ -379,24 +383,24 @@ The phone is the primary access point for the forum. See §13. ## 10. The City ### 10.1 Day / Night -| Phase | In-game time | Real time | Effects | -|---|---|---|---------------------------------------------------------------------------------------------------| -| Day | 08:00 → 20:00 | ~45 min | High NPC density. Faster embarrassment gain. Most shops open. | -| Night | 20:00 → 08:00 | ~45 min | Low NPC density. Slower embarrassment gain. Most shops closed. | +| Phase | In-game time | Real time | Effects | +|-------|---------------|-----------|----------------------------------------------------------------| +| Day | 08:00 → 20:00 | ~45 min | High NPC density. Faster embarrassment gain. Most shops open. | +| Night | 20:00 → 08:00 | ~45 min | Low NPC density. Slower embarrassment gain. Most shops closed. | Police patrols ignore the day/night cycle: when the player has the `wanted` tag (§7.7), patrols spawn in both phases (§10.3). Sleeping at home fast-forwards 8 hours. ### 10.2 NPC types -| NPC | Behavior | -|-------------------|---| -| **Walker** | Doesn't stop; reacts (animation/audio) but keeps walking. Low embarrassment contribution. | -| **Stalker** | Stops, stares. Sustained observation → faster embarrassment gain. | -| **Blogger** | Stops, takes photo. Photo → recognition increase. | -| **Snitch** | Stops, calls police. Triggers police spawn / wanted state if observed long enough. | -| **Harasser** | Walks toward player, attempts to grope. Player must evade. | -| **Police** | See §10.3. | +| NPC | Behavior | +|--------------|-------------------------------------------------------------------------------------------| +| **Walker** | Doesn't stop; reacts (animation/audio) but keeps walking. Low embarrassment contribution. | +| **Stalker** | Stops, stares. Sustained observation → faster embarrassment gain. | +| **Blogger** | Stops, takes photo. Photo → recognition increase. | +| **Snitch** | Stops, calls police. Triggers police spawn / wanted state if observed long enough. | +| **Harasser** | Walks toward player, attempts to grope. Player must evade. | +| **Police** | See §10.3. | ### 10.3 Police - Spawn during both day and night while the player has the `wanted` tag (§7.7). Patrol fixed routes. @@ -409,10 +413,10 @@ Sleeping at home fast-forwards 8 hours. ### 10.4 Locations - **Apartment** — safe zone. Wardrobe, bed, PC, kitchen. - **Convenience store** — cooking ingredients. -- **Cafe** — pre-made food. +- **Café** — pre-made food. - **Clothing shops** — various types, each with a different inventory mix. - **Gym** — increase max energy. Costs energy in the process. Costs money. -- **Beauty salon** — boobs size, ass size, makeup, hair style, hair color. +- **Beauty salon** — boobs size, ass size, makeup, hairstyle, hair color. - **Adult shop** — Buy adult toys. - **Streets / parks / alleys** — commission space. - **(TBD)** beach, train station, school exterior, hot springs, etc. — design pass needed for variety. @@ -435,19 +439,19 @@ Restrictive clothing (§6.3.7) is removed by **Key + timed unlock action**: - Order clothing. 1-day delivery. ### 11.3 Food shop (online) -- Order food. 1-day delivery. +- Order food. 1-2 hours delivery. --- ## 12. Shops & Services Summary -| Service | In-person | Online | Notes | -|---|---|----------|---| -| Clothing | Yes (multiple shop types) | Yes (PC) | Online has 1-day delay. | -| Food (ingredients) | Convenience store | Yes (PC) | Cooking required. | -| Food (pre-made) | Cafe | Yes (PC) | Eat immediately. | -| Gym | Yes (city) | No | Increases max energy. | -| Beauty salon | Yes (city) | No | Body, hair, makeup customization. | +| Service | In-person | Online | Notes | +|--------------------|---------------------------|----------|-----------------------------------| +| Clothing | Yes (multiple shop types) | Yes (PC) | Online has 1-day delay. | +| Food (ingredients) | Convenience store | Yes (PC) | Cooking required. | +| Food (pre-made) | Cafe | Yes (PC) | Eat immediately. | +| Gym | Yes (city) | No | Increases max energy. | +| Beauty salon | Yes (city) | No | Body, hair, makeup customization. | --- @@ -455,6 +459,7 @@ Restrictive clothing (§6.3.7) is removed by **Key + timed unlock action**: The forum is accessed via phone or PC. It is both diegetic and the primary mission UI. +TODO: Review ### 13.1 Weekly missions - Generated at week start, semi-random, weighted by player path progression. - Rewards: money, XP. @@ -561,11 +566,11 @@ Forum, bank, gallery, shops are all in-fiction screens (phone/PC). Avoid out-of- - Adult shop. ### 15.3 Tuning targets (placeholder) -| Tier | Daily income | Weekly rent | Notes | -|---|---|---|---| -| Early | ¥3–8k/day | ¥20k/week | Pressure forces commissions. | -| Mid | ¥10–20k/day | ¥30k/week | Player can save / invest. | -| Late | ¥25k+/day | ¥50k/week | Livestream meta unlocked. | +| Tier | Daily income | Weekly rent | Notes | +|-------|--------------|-------------|------------------------------| +| Early | ¥3–8k/day | ¥20k/week | Pressure forces commissions. | +| Mid | ¥10–20k/day | ¥30k/week | Player can save / invest. | +| Late | ¥25k+/day | ¥50k/week | Livestream meta unlocked. | Numbers are placeholders for playtest calibration. @@ -659,14 +664,14 @@ Clothing, commissions, food, NPC templates all live as `DataAssets` (or DataTabl ## 19. Risks & Mitigations -| Risk | Likelihood | Mitigation | -|---|---|---| -| Item-identity persistence is complex and error-prone. | High | Build save/load and item ID system first, before any content. Heavy testing. | -| GAS attribute interactions create unintended feedback loops (e.g., embarrassment ↔ recognition). | Med | Centralize modifier sources in a debug overlay. Lock down formula tests. | -| Procedural commissions feel repetitive. | High | Strong template variation, location/time-of-day modifiers, themed weekly arcs. | -| NPC density vs. performance. | Med | LOD'd AI: full pawns near player, instanced "extras" at distance. | -| Adult-content distribution constraints. | High (business) | Plan for Steam-incompatible content split / Patreon / itch / direct distribution from day one. Out of scope for this GDD but flag now. | -| Scope (90-day timer × 3 paths × commission variety). | High | Vertical slice first. Cut path content before cutting systems. | +| Risk | Likelihood | Mitigation | +|--------------------------------------------------------------------------------------------------|-----------------|----------------------------------------------------------------------------------------------------------------------------------------| +| Item-identity persistence is complex and error-prone. | High | Build save/load and item ID system first, before any content. Heavy testing. | +| GAS attribute interactions create unintended feedback loops (e.g., embarrassment ↔ recognition). | Med | Centralize modifier sources in a debug overlay. Lock down formula tests. | +| Procedural commissions feel repetitive. | High | Strong template variation, location/time-of-day modifiers, themed weekly arcs. | +| NPC density vs. performance. | Med | LOD'd AI: full pawns near player, instanced "extras" at distance. | +| Adult-content distribution constraints. | High (business) | Plan for Steam-incompatible content split / Patreon / itch / direct distribution from day one. Out of scope for this GDD but flag now. | +| Scope (90-day timer × 3 paths × commission variety). | High | Vertical slice first. Cut path content before cutting systems. | ---