Initialize Project Sacrifice backlog and source baseline
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
# Project Sacrifice — Android vertical slice
|
||||
|
||||
An original landscape puzzle-platformer prototype inspired by the broad “death changes the puzzle” genre formula. It does not reuse the title, art, audio, text, characters, or level layouts of any commercial game.
|
||||
|
||||
Project documents:
|
||||
|
||||
- [`docs/DEVELOPMENT_PLAN.md`](docs/DEVELOPMENT_PLAN.md) — approved GDD + TDD + production roadmap;
|
||||
- [`docs/CURRENT_ROADMAP.md`](docs/CURRENT_ROADMAP.md) — execution roadmap for the existing vertical slice;
|
||||
- [`docs/BEADS_WORKFLOW.md`](docs/BEADS_WORKFLOW.md) — local backlog structure and daily Beads commands.
|
||||
|
||||
## Playable content
|
||||
|
||||
The APK contains ten sequential levels:
|
||||
|
||||
1. movement and jumping;
|
||||
2. bodies covering a spike lane;
|
||||
3. a corpse holding a pressure plate and door;
|
||||
4. a toggle-controlled moving lift;
|
||||
5. a saw launching a corpse onto a remote plate;
|
||||
6. a frozen corpse becoming a stable step;
|
||||
7. an electrified corpse completing a relay;
|
||||
8. a timed switch and moving platform;
|
||||
9. a two-signal door requiring weight and electricity;
|
||||
10. a mastery level combining saw, freeze, electricity, pressure plate, pit, moving lift, and final gate.
|
||||
|
||||
Death does not reset the level. A new volunteer respawns after a short delay while retained bodies stay in the simulation. The restart button deliberately clears the puzzle state. Progress, best time, and lowest volunteer count are stored locally.
|
||||
|
||||
## Controls
|
||||
|
||||
- Hold the left/right arrows to move.
|
||||
- Hold a direction and tap jump simultaneously; multitouch is supported.
|
||||
- `Restart` restores the current level.
|
||||
- `II` pauses the game and exposes level selection.
|
||||
|
||||
The movement constants include 130 ms coyote time and 140 ms input buffering.
|
||||
|
||||
## Build
|
||||
|
||||
Requirements: JDK 17 and Android SDK Platform/Build Tools 34.
|
||||
|
||||
```sh
|
||||
./gradlew testDebugUnitTest assembleDebug
|
||||
```
|
||||
|
||||
Level 5 has a device-level acceptance bot. It drives the production `GameView`
|
||||
through the same movement and jump inputs as the touch controls, sacrifices one
|
||||
volunteer to the saw, verifies the retained body and pressure-plate door, then
|
||||
reaches the goal. With an emulator or phone connected, run it with:
|
||||
|
||||
```sh
|
||||
./gradlew connectedDebugAndroidTest \
|
||||
-Pandroid.testInstrumentationRunnerArguments.class=com.projectsacrifice.game.LevelFivePlaythroughTest
|
||||
```
|
||||
|
||||
The debug APK is written to `app/build/outputs/apk/debug/app-debug.apk`. It is signed with Android's standard debug key and can be installed with:
|
||||
|
||||
```sh
|
||||
adb install -r app/build/outputs/apk/debug/app-debug.apk
|
||||
```
|
||||
|
||||
## Scope
|
||||
|
||||
This is a dependency-free vertical slice rendered through a custom Android Canvas view. It is intended for gameplay evaluation on phones and tablets, not as a content-complete commercial release.
|
||||
Reference in New Issue
Block a user