Add playable corridor scroll desktop prototype
This commit is contained in:
43
HANDOFF_2026-06-19.md
Normal file
43
HANDOFF_2026-06-19.md
Normal file
@@ -0,0 +1,43 @@
|
||||
# Handoff — June 19, 2026
|
||||
|
||||
## 📌 Summary of Progress
|
||||
In this session, we successfully built and prototyped a fully playable MVP for the **Corridor Scroll** module using the desktop launcher.
|
||||
|
||||
1. **Environment & Build Fixes:**
|
||||
- Installed `openjdk@17` via Homebrew and set up Java environment variables.
|
||||
- Fixed desktop configuration in `desktop/build.gradle.kts` by adding the `:shared` dependency and passing `-XstartOnFirstThread` to resolve macOS GLFW thread restrictions.
|
||||
- Fixed `DesktopLauncher.kt` to instantiate the new `GameHost(ModuleType.LINE_CORRIDOR)` setup.
|
||||
2. **Gameplay Improvements (Corridor Scroll):**
|
||||
- Transformed the static horizontal prototype into a vertical wiggling corridor scrolling from bottom to top.
|
||||
- Slower scroll speed (`100f` px/s) to make drawing manageable.
|
||||
- Implemented an organic, unpredictable centerline using composite waves (a slow left-to-right drift combined with faster wiggles).
|
||||
- Designed a dynamic corridor width that swells up to 2x and pinches down to 0.5x of its base width as it scrolls.
|
||||
3. **Inputs & Feedback Loop:**
|
||||
- Added standard desktop mouse/touch drag fallback inside `LineCorridorScreen.kt` so the game is testable directly on macOS without an emulator.
|
||||
- Built a 15-second timer per session.
|
||||
- Programmed real-time scoring metrics:
|
||||
- **Containment:** % of drawn points staying within the boundaries.
|
||||
- **Fill:** Shading coverage between boundaries (calculated vertically in bins, normalized by the dynamic width of each bin).
|
||||
- **Overall:** Weighted combination.
|
||||
- Added end-game screens displaying scores and a restart prompt (SPACE/TAP to replay).
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ Current State
|
||||
* The desktop application compiles and runs successfully using:
|
||||
```bash
|
||||
export JAVA_HOME="$(brew --prefix openjdk@17)/libexec/openjdk.jdk/Contents/Home"
|
||||
./gradlew :desktop:run
|
||||
```
|
||||
* Gameplay is interactive, responsive, and wiggles/pinches behave as expected.
|
||||
|
||||
---
|
||||
|
||||
## 📋 Next Steps & Feature Backlog
|
||||
1. **Pretentious Art Critique Commentary ("The Gallery Critique"):**
|
||||
- We drafted a feature proposal in `proposal_commentary.md`.
|
||||
- Next session can implement `ArtArchetype` in the `:shared` module and load corresponding art snob quotes (e.g., from *Dr. Alistair Vance* or *Madame Genevieve*) depending on whether the player was too safe (high containment, low fill) or too messy (low containment, high fill).
|
||||
2. **Android & Stylus Integration:**
|
||||
- Test the Android target and hook up actual S-Pen data (pressure/tilt) via `MotionEvent` APIs to make sure it handles S-Pen pressure.
|
||||
3. **Additional Modules:**
|
||||
- Begin development of Phase 2 modules like the **Pressure Ramp** (matching target pressure curves).
|
||||
Reference in New Issue
Block a user