add proposal

This commit is contained in:
이지은
2026-04-21 23:51:15 +09:00
parent 98458688f1
commit 577eb73b7b
6 changed files with 120 additions and 0 deletions

120
PROPOSAL_20254499.md Normal file
View File

@@ -0,0 +1,120 @@
# Topic
Finding the Best Seat: Cafe - Study Survival Game
**Name:** Jieun Lee
**Student ID:** 20254499
**My Fork URL:** https://git.prototyping.id/20254499/homework5.git
## 1. Game Overview
This project is a top-view mini video game set in a cafe.
The player controls a student character who wants to stay focused and complete their study session.
The goal is to maintain concentration until the study progress reaches 100%, while dealing with moving NPCs, noise, and changing seat conditions.
=============================================================================
## 2. Game Mechanics
# 2.1 what does the user have to accomplish?
The player has to help the character complete their work within a limited time while maintaining a positive focus level.
- Each seat has different conditions such as noise level, proximity to moving NPCs, and overall distractions.
- NPCs move around the cafe and dynamically affect the players focus.
- The player must continuously decide whether to stay, move to another seat, or take actions to recover focus.
# 2.2 How do you win or lose?
**Winning condition:**
The study progress reaches 100% (visualized as a progress bar).
**Losing condition:**
The focus level reaches 0, and the character gives up and leaves the cafe.
# 2.3 What type of interactions are possible?
- Move to another seat with arrow keys
- Buy a drink or snack for a temporary focus boost
- Avoid noisy or crowded zones
- Respond to environmental changes caused by NPC movement
=============================================================================
## 3. Visual Style and Game Elements
A top-view cafe layout with tables, seats, counter, entrance, and moving NPCs.
# 3.1 Main elements
Player
NPC customers
Seats
Focus meter
Timer
Drink counter / item zone
UI text for score, level, and status
# 3.2 Visual tone
Simple 2D shapes and icons
Readable colors to distinguish quiet seats, noisy areas, and interactable places
Cute but minimal design for clarity
# 3.3 reference images
<img src="./ref1.png" width="45%">
<img src="./ref2.png" width="45%">
<img src="./ref3.jpg" width="45%">
=============================================================================
## 4. Implementation Plan
# 4.1 Conditions
if (gameState === "start") : Shows the start screen
if (gameState === "play") : Runs the main gameplay
if (focus <= 0) : Triggers game over when focus reaches 0
if (workProgress === 100 && focus > 0) : Winning condition
# 4.2 Variables (not finalized yet!)
- 'focus'
- 'Distraction'
- 'timer'
- 'gameState'
- 'currentSeatIndex'
- etc..
# 4.3 Loops
I will use loops to:
- update all NPCs,
- draw all seats,
- and check nearby distractions.
# 4.4 Arrays and Objects
I will store:
- NPCs in an array,
- seats in an array of objects.
-> Each seat object will include information such as position, distraction level
# 4.5 Classes
- 'Player' class
- 'NPC' class
=============================================================================
## 5. Features Learned in Class
This project will clearly use several programming elements learned in class:
- basic p5.js drawing setup (e.g., rect(), ellipse())
- conditionals
- variables
- loops
- functions
- arrays
- objects
- classes
=============================================================================
## 6. Main Challenges
- Implementing the overall system itself will be a challenge as a beginner. Since it requires combining multiple elements such as movement, NPC behavior, and focus management into a cohesive game.
- Balancing the game difficulty
NPC movement and focus decrease should feel challenging but not unfair.
- Making the cafe environment readable
The player should understand which seats are better or worse without too much confusion.
- Creating simple but believable NPC movement
NPCs should make the cafe feel alive while still being manageable in code.
- Designing a focus system that is easy to understand
The focus meter should clearly reflect the effect of noise, movement, and drink items.