homework5/PROPOSAL_20244197.md
2025-04-13 21:33:25 +09:00

85 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

**Name** : Heeji Kim
**Student ID** : 20244197
**URL** : http://git.prototyping.id/20244197/homework5/src/branch/20244197
<hr>
<br>
- [My proposal](#my-proposal)
- [ 🍞 Toasti 🧈 ](#--toasti--)
- [Game Concept: 🍞 Toasti Your Sentient Slice](#game-concept--toasti--your-sentient-slice)
- [🧭 Inspiration](#-inspiration)
- [🎮 Game Overview](#-game-overview)
- [🧩 Core Gameplay Mechanics](#-core-gameplay-mechanics)
- [🧱 Code Structure (p5.js)](#-code-structure-p5js)
- [🎨 Visual + Audio Ideas](#-visual--audio-ideas)
- [🧠 Challenges to Expect](#-challenges-to-expect)
<br>
# My proposal
### <span style="color: #947352"> 🍞 Toasti 🧈 </span>
### Game Concept: 🍞 Toasti Your Sentient Slice
A **cozy virtual pet game** where you care for *Toasti*, a slice of living toast with jam that changes color based on mood. Your actions—feeding, cuddling, toasting (gently!), and decorating—help Toasti stay happy, bouncy, and golden.
### 🧭 Inspiration
Toasti is inspired by [Tamagotchi](https://en.wikipedia.org/wiki/Tamagotchi), the classic virtual pet game where you care for a tiny creature, and [Cats & Soup](https://cats-soup.fandom.com/wiki/Cats_%26_Soup_Wiki), a chill healing game with cute art and cozy vibes. I wanted to combine the emotional connection of Tamagotchi with the relaxing atmosphere of Cats & Soup—just with a weird, lovable slice of toast instead of a cat.
### 🎮 Game Overview
- **Goal**: Keep Toasti happy, warm, and emotionally fulfilled.
- ***No** final win/loss*, but Toasti reacts in real-time to neglect or care.
- **Evolutions**: Toasti unlocks new accessories (e.g., sprinkles, butter, whipped cream) based on affection levels.
### 🧩 Core Gameplay Mechanics
| Feature | Description |
| ----------- | ----------- |
| Mood System | Toastis **jam color** reflects mood (ex/ strawberry = happy) |
| Needs Meter | Stats: Warmth, Mood, Energy, Crustiness
| Interactions | Buttons for: Cuddle, Heat Up, Feed Jam, Nap |
| Reactions | Toasti shows **expressions**, jumps, flips, or cries jam tears based on treatment |
| Progression | Unlock toast skins (rye, sourdough), jam accessories, pet butter companion |
### 🧱 Code Structure (p5.js)
**Classes**
- `Toasti`
- Properties : `mood`, `warmth`, `energy`, `crustiness`, `accessories`
- Methods: `updateStats()`, `changeMood()`, `drawToasti()`, `interact(action)`
- `Button`
- For all interactions
**Key Functions**
- `drawUI()` Draw mood meter, stats, and buttons
- `handleMoodLogic()` Map stats to mood states
- `updateStatsOverTime()` Reduce warmth/energy using millis() or frameCount
- `drawToasti()` Reflect changes in face, jam color, and actions
### 🎨 Visual + Audio Ideas
- Soft pastel tones with hand-drawn toast sprites
- Jam color overlays using `tint()` or layers
- Background music loop: chill lofi or café ambience
### 🧠 Challenges to Expect
| Area | Challenge |
| ----------- | ----------- |
| Mood Complexity | Getting mood transitions to feel natural, not abrupt |
| Animation Timing | Making Toastis movements and reactions feel responsive |
| Structuring Code | Organizing the code into reusable parts, keeping logic and visuals separate |
| Debugging | Figuring out why buttons stopped working, stats behaving weirdly, etc.