Back to Chase'n Those Narly Waves
SOURCE / PINNED RELEASE

Made of little things.

Chase'n Those Narly Waves

Release
0c7dde9d4921…
Author-recorded commit
88e58516be17…
License
LICENSE
Author’s source reference
nostr://npub1ny7l44q0au5xkv3mjgt6zks5f0e2ydefslq4nhh2ve2xypgc2mqqat8qx2/wss%3A%2F%2Fgit.napplet.soy%2F/n-836af5a08b9

Archive hash verified: e1acfdbe67c54dd4…. The source-to-build association is the author’s claim; it has not been independently rebuilt.

README.md
# Chase'n Those Narly Waves

A third-person surfing game. Paddle out, catch waves, pull off tricks, and
dodge rocks and sharks!

## How to play

- **W**: catch a wave! Waves roll in from behind you, and the timing bar shows one coming. Tap W while it's in the
  green zone to catch it, or in the gold zone for a PERFECT catch (+200). Too early or too late and
  you miss that wave. Holding W also paddles a bit faster.
- **A / D**: steer left and right. **S**: slow down. Turn the same way for too long
  (1.5 seconds) and you wobble, then fall in and lose a heart!
- **Arrow keys**: do tricks (only while riding a wave). There are 55 tricks!
  These 8 basic ones are shown in the game:

| Trick | Combo | Points |
| --- | --- | --- |
| Big Air | ↑ ↑ | 300 |
| Ollie Pop | ↑ ↓ | 150 |
| Board Grab | ↓ ↓ | 200 |
| Bottom Turn | ↓ ← | 150 |
| Left Slash | ← ← | 200 |
| Cutback | ← → | 200 |
| Floater | → ← | 200 |
| Right Slash | → → | 200 |

The other 47 are secret: 27 use 3 keys and 20 use 4 keys (worth the most points).
They're all listed in `src/tricks.ts`, if you want to peek!

Rocks are solid: crash into one and you bounce off, fall in, and lose a heart. But waves wash right over rocks, so when you're riding a wave the rocks are underwater and you surf over them. Sharks can't hurt you on a wave. Air tricks let you jump over rocks. Each landed trick adds time to your ride,
and doing several in one wave gives a combo bonus. Lose all 5 hearts and it's over.
**P** or **Esc** pauses.

## Where things are

- `src/game.ts`: game rules (waves, tricks, rocks, sharks, score)
- `src/render/scene.ts`: the 3D world (sky, camera, placing everything)
- `src/render/ocean.ts`: the moving water and waves
- `src/render/models.ts`: 3D surfer, rocks and sharks
- `src/render/hud.ts`: score, hearts and pop-up words
- `src/tricks.ts`: the trick list and the pop-up sayings (add your own!)
- `src/input.ts`: keyboard and touch buttons
- `src/main.ts`: menus, saving best score, starting the game

## Visual direction

- **Character:** realistic 3D ocean on a bright tropical day, with fun pop-up
  words on top. Real-looking water makes catching waves and dodging sharks feel exciting.
- **Main surface:** 3D world built with three.js (`src/render/`). The water moves
  and reflects the sky, with sun sparkles, foam on wave crests, around rocks and
  behind the board. Blue sky with soft clouds. 3D surfer in a wetsuit, rocks and great white sharks.
- **Interface:** chunky rounded bold text with dark outlines on top of the 3D
  view. Yellow for score, teal for "ready", pink for riding, red for danger.
  Menus are frosted deep-ocean panels.
- **Theme policy:** colors belong to the game and don't follow the host theme.
- **Proof:** mid-trick high above the wave with a cheer popping up makes the best cover shot.
  Checked at 900×600, 320×560 and 200×160.

## For coding helpers

See [docs/napplet-space.md](docs/napplet-space.md) for the soyli commands and napplet tools.