Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| e45942cc48 | |||
|
|
577eb73b7b |
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