fix: physics tunneling and update fruit stats to community standard

Fix fruits falling through the floor by replacing single-step physics
with fixed-timestep sub-stepping (16.67ms steps, max 5 per frame).
Add escaped-body cleanup as safety net. Tune physics constants for
better feel (higher density, more bounce, less float).

Update fruit radii to match the community-standard ratios (TomboFry/
moonfloof clones) scaled to our 400px container. Update colors to
match real fruit appearances. Fix "Grapes" → "Grape" per wiki.
This commit is contained in:
2026-04-12 11:19:04 +07:00
parent 6e1aaff557
commit b91b29753f
4 changed files with 74 additions and 28 deletions

View File

@@ -7,20 +7,22 @@
## Fruit Chain
Cherry → Strawberry → Grapes → Dekopon → Persimmon → Apple → Pear → Peach → Pineapple → Melon → Watermelon
Cherry → Strawberry → Grape → Dekopon → Persimmon → Apple → Pear → Peach → Pineapple → Melon → Watermelon
| Tier | Fruit | Radius | Color | Merge Points |
|------|-------|--------|-------|-------------|
| 0 | Cherry | 12px | Red | 1 |
| 1 | Strawberry | 16px | Light Red | 3 |
| 2 | Grapes | 20px | Purple | 6 |
| 3 | Dekopon | 26px | Orange | 10 |
| 4 | Persimmon | 32px | Dark Orange | 15 |
| 5 | Apple | 36px | Red | 21 |
| 6 | Pear | 42px | Green-Yellow | 28 |
| 7 | Peach | 48px | Peach | 36 |
| 8 | Pineapple | 57px | Yellow | 45 |
| 9 | Melon | 64px | Green | 55 |
| 10 | Watermelon | 77px | Dark Green | 66 |
| 1 | Strawberry | 17px | Pink-Red | 3 |
| 2 | Grape | 21px | Purple | 6 |
| 3 | Dekopon | 29px | Orange | 10 |
| 4 | Persimmon | 33px | Orange-Red | 15 |
| 5 | Apple | 37px | Red | 21 |
| 6 | Pear | 44px | Yellow-Green | 28 |
| 7 | Peach | 50px | Peach | 36 |
| 8 | Pineapple | 67px | Yellow | 45 |
| 9 | Melon | 83px | Green | 55 |
| 10 | Watermelon | 100px | Dark Green | 66 |
Radii are scaled from the [community-standard values](https://github.com/TomboFry/suika-game) (24192px) to fit the 400px container. Points match the Nintendo Switch scoring.
Only the 5 smallest fruits (Cherry through Persimmon) appear as drop candidates. When two Watermelons merge, they disappear and award 66 bonus points.