Files
homework5/PROPOSAL_20254499.md
2026-04-21 23:51:15 +09:00

3.9 KiB
Raw Permalink Blame History

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

=============================================================================

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.