WIP 4.22 #12
BIN
IMG_9134.jpg
BIN
IMG_9134.jpg
Binary file not shown.
|
Before Width: | Height: | Size: 335 KiB |
BIN
IMG_9135.jpg
BIN
IMG_9135.jpg
Binary file not shown.
|
Before Width: | Height: | Size: 339 KiB |
120
PROPOSAL_20254499.md
Normal file
120
PROPOSAL_20254499.md
Normal 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 player’s 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.
|
||||||
Reference in New Issue
Block a user