3 Commits

Author SHA1 Message Date
이지은
577eb73b7b add proposal 2026-04-21 23:51:15 +09:00
98458688f1 Merge pull request 'proposal done' (#2) from 20240935/homework5:main into main
Reviewed-on: #2
2026-04-21 04:56:39 +00:00
Mak
150e5424b5 proposal done 2026-04-21 13:13:18 +09:00
6 changed files with 202 additions and 97 deletions

82
PROPOSAL_20240935.md Normal file
View File

@@ -0,0 +1,82 @@
# My proposal
My name is Makhabbat, and I am a sophomore at KAIST doing my Bachelor's degree in Industrial Design (ID: 20240935). The URL to the forked repository: [git.prototyping.id](https://git.prototyping.id/20240935/homework5).
<!-- I want to make atypical infinite runner game usually made for ADHD children. When I was in China, I had a chance to play ADHD-DTx game made for ADHD children and proven to improve their condition. You can't download or even find information about it outside the research paper, so I wanted to make one for myself, cause I drift a lot and would like to train my attention somehow.
This is an extreme multitasking game, requiring you to do various things at once and fast.
The game has 5 lanes instead of typical 3, when game starts there will be text presented about which things you have to be collecting - various things will be falling along the game so you will have to hit only the ones you were instructed to at the beginning of the game, also one in a while you will have to pass through 'gates' and you're supposed to pass through the one that is answer to the question given several seconds before, you also have to gather basic awards along the lanes and avoid basic obstacles.
In the original game that we played, there is an EEG headset that goes along the tablet that records the level of attentiveness to track, however I am thinking it can be just a something that gets reduced when you make too many mistakes.
I want to make it using three.js, because my reason for taking this course is to eventually be able to use three.js. -->
# NeuroRunner: A Multitasking Cognitive Training Game
NeuroRunner is an atypical, **cognitively demanding** _infinite runner_ inspired by digital therapeutics (DTx) designed for children with ADHD.
In Zhejiang University Summer Program, I had the chance to play a clinically tested ADHD-focused game that significantly improved sustained attention, but the **game isnt publicly available** and information about it exists only inside [research papers](https://pubmed.ncbi.nlm.nih.gov/41490776/).
<img src="./IMG_9134.jpg" width="45%">
<img src="./IMG_9135.jpg" width="45%">
This project is my attempt to recreate that idea for myself — as someone who often drifts and wants a way to actively train attention through gameplay.
The result is an extreme multitasking runner built with three.js, designed to overload and strengthen attentional control, working memory, and task-switching.
# Core Concept
NeuroRunner is not a typical runner with 3 lanes — it uses 5 lanes, faster pacing, and continuous task switching.
Players must constantly track multiple rule sets at the same time, rewarding precision and penalizing mind-wandering.
The goal is to maintain cognitive engagement.
# Gameplay Description
1. Five-Lane Movement
- move between 5 horizontal lanes instead of the standard 3.
- forces higher spatial attention.
2. Instruction Phase
At the start of each run:
- The player is shown a **type of target item they must collect**.
- Throughout the game, objects fall randomly on the screen.
- Players must collect only the instructed items and avoid irrelevant ones using the **hit putton** on the right.
This trains selective attention and working memory
3. Cognitive Gate Questions
Every now and then:
1. A question appears (simple math or logic).
2. Several seconds later, gates along all 5 lanes appears ahead.
3. The player must pass through the gate corresponding to the correct answer.
This trains delayed **recall, task switching, and decision-making under pressure**
4. Rewards & Obstacles
- Basic pickups that increase score
- Standard obstacles that must be avoided
5. Attentiveness Meter
The original DTx game used an EEG headset to track attentiveness in real time.
For this project, I replace that hardware with a mistake-based attentiveness meter.
The meter decreases when:
- You collect wrong items
- You miss target items
- You pass through the wrong gate
- You hit obstacles
When the meter reaches zero → game over.
This approximates attentional lapse tracking without requiring EEG hardware.
# Library Used
I've been wanting to learn three.js since previous semester, so I want to try learning it, using this project.
# Challenges
Since this is a multitasking game, there will be a lot of things going on at once, I can't even imagien how I am gonna do that.

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.

View File

@@ -1,97 +0,0 @@
# Midterm Project Proposal
**Name:** Samantha Lopez
**Student ID:** 20266142
**Repository:** [https://git.prototyping.id/20266142/homework5.git](https://git.prototyping.id/20266142/homework5.git)
## Inspirations
- [Fireboy and Watergirl:](https://www.coolmathgames.com/0-fireboy-and-water-girl-in-the-forest-temple) I want similar mechanics to this game minus the multiplayer aspect. More specifically I like how the characters have to manouve around obstacles in order to collect items that then allow the player to move on to the next level.
- [Gris:](https://www.youtube.com/watch?v=j7tVbyKyggU) I really like the art direction of this game. I want to incoporate a similar theme in my game that regards bringing back color to a gray world.
- Art installations: I have visited interactive art installations where individuals are able to interact with visuals via different ways. I would like to somehow translate that feeling to a game. For instance the avatar/charater gives light to the scene as the player moves, similarly to how a LED touch reactive wall would.
## Game Mechanics
The player spawns as a glowing little orb in a gray world with its goal being to return color to the world. The goal of each level will be to collect color fragments and each level would progressively give color to the scenes. The color fragments will have to be collected by moving, jumping, falling, etc. it will most likely function as a platformer game.
### controls
| Action | Key |
|--------|-----|
| Walk left/right | `← →` or `A D` |
| Jump| `Space` or ` ↑`|
|collect fragment | walk into it
### color fragments
there should be like 3-5 color fragments per level. Each collection will add that color to the avatars glow and leave a splash of color around the collection site. The level will automatically clear upon the collection of all fragments by slowly giving the scene color and then transitioning to the next level.
### Game Obstacles
A player will have 3 lives. Once all 3 are lost the level restarts, I don't want it to be a rage game so I will not make players lose progress beyond their current level. There will be little spiky gray blocks (entities) that will move around and if they come in contact with the avatar they take away a life. Additionally there could be little tar puddles that are also damaging to the charater.
### Win and lose logistics
**winning a level** means collecting all fragments in that level. An animation of some sort will play adding the color collected back into the game
**losing a life** will occur when touching an entity or tar puddle. You will restart at spawn but keep collected fragments.
**Losing all lives** means loosing all 3 lives during a level. This will restart your progress for the current level.
**Winning the game** will consists of compleating all levels. A full in color world will appear.
## Visuals
The interface would be similar to that of the afromentioned game, fireboy and watergirl. In terms of the actual game aesthetic, I drew up a quick sketch of what I would want the character, fragments, and entities to look like (This is a very rough and quick sketch of course so it is likely to be further developed). I want the game to feel very indie the more handrawn/handmade and aesthetically pleasing I can make it look the better. I also want to incoporate some kind of storytelling element to the game so little to no text just visuals.
[Acess my sketches here](https://www.notion.so/Proposal-Sketches-348f941b5e5180be9781e4b7f9e22a51?source=copy_link)
### color language
In the beginning the game will be Monochrome with a lot of cool gray tones. Near color fragments the color of the fragment will glow into the surroudings (this will be implemented based on coding capabilities). After a fragment is collected the avatar will begin to glow that color as each level will be centered around a sigular color. Once a level is complete the color collected will be added to the entire interface. If the player loses all 3 lives during the game the cool grey tones will return.
### Tentative themes for levels
| color | possible themes|
|-------|----------------|
| Red | volcanoes, roses|
|orange | sunset, oranges|
|Yellow | sunflowers (debating weather to include yellow...)|
|Green| Forest, field|
|Blue | underwater|
|Purple | night, constellations|
## Ideating the code
- We would need an object that includes the player information and its related actions like moving, jumping and collecting. so something like this maybe?
```
player{
move()
jump()
collect()
}
```
- Objects would also need to be created for platforms, fragments, and levels in a similar manner
- I anticipate that a lot can be done via P5 and related libraries.
## Anticipated Challenges
1. Collisions: a lot of my game would rely in the objects and their positions relative to one another. For instance, once the player touches the fragment it needs to be collected and if the player land on top of a platform it must be able to stand on it otherwise fall. From what I have heard this might need me to implement some sort of gravity and platform collisons which I am unfamiliar with and can be the biggest problem for me.
2. Color changing: a large part of my idea contains colors changing and being added to scenes, ideally via animations or transitions. This is an area which I do not have much expereince in and could be tricky to figure out.
3. Level design: since I am choosing to create my own game I will have to design all the assets for the game and each level myself which might be difficult but more so time consuming.
## Features taught in class I expect to use
- I anticipate that I will most likely utilize p5.js in my project
- Classes and objects will likely be necessary for interactivity
- Arrays for stuff like collecting fragments
- Functions for a lot of interactions
- Event listeners and keyboard input for controls and gameplay
## Summary
I want to create a platformer game centered around the goal of collecting color fragments to return color to the fictitious world.

BIN
ref1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

BIN
ref2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 188 KiB

BIN
ref3.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB