Files
primal-rampage/README.md
T
Primal Rampage Bot 7164cc798c Add full retention systems: daily hub, raids, prestige, seasons
- Graze slow-mo, perfect-wave FRENZY (x3 amber), ghost records,
  dynamic hunter titles
- Daily Hub: 7-day login calendar, animated lucky wheel, boss chest
  keys, pet eggs with rarity tiers + pity counter and real stat perks
- Seeded daily challenge (server-consistent modifiers, local top-5),
  hourly Golden Herd stampede, weekly Raid Colossus with damage tiers
- Rebirth prestige with Ancient Gem permanent perk shop
- Weapon mastery stars (+2%/level), bestiary milestone gems
- Weekly season points with Bronze..Diamond rank badges
- Shareable PNG result card on game over
2026-08-23 06:55:51 +00:00

133 lines
6.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# PRIMAL RAMPAGE — Stone Age Survival
A from-scratch, dependency-free clone of the *Unfair Shooter*-style browser
wave shooter, re-themed as **prehistoric tribe survival vs dinosaurs**:
endless campaign waves (plus an **Endless Mode** past wave 25), alpha-dinosaur
bosses every 5th wave with Jurassic-style footstep tremors, roguelite card
picks between waves, an ON FIRE heat/combo system, a full meta-progression
layer (bestiary, permanent upgrades, daily quests, achievements, pets,
hard currency), and an Arena deathmatch vs rival tribesmen bots.
Everything is original: code, **procedurally drawn canvas art** (cel-outlined
tribal hero with recoil + muzzle flash, raptors with animated tails & jaws,
triceratops, dilophosaurus frill-flare spitters, flapping pteranodons, a
sail-backed Spinosaurus boss, a T-Rex with hinged jaw…), synthesized
WebAudio SFX/music/wind ambience, and a living jungle arena. No assets were
taken from any existing game.
## Run
```bash
cd jsshooter
python3 -m http.server 8899
# open http://127.0.0.1:8899/
```
No build step — plain script tags.
## Controls
| Action | Keyboard / Mouse | Touch |
|---|---|---|
| Move | WASD / Arrows | left stick |
| Aim + fire | mouse (hold LMB or Space; auto-fire on by default) | right stick + 🔥 |
| Ultimate | R | ★ |
| Bomb | Q | 💣 |
| Pause | P / Esc | ⏸ |
## The cast
- **Retention systems**: graze slow-mo, perfect-wave FRENZY (×3 amber),
ghost-record banner, hunter titles, 7-day login calendar, daily lucky
wheel, boss chest keys, pet eggs with rarity + pity, seeded Daily
Challenge with local top-5 board, hourly Golden Herd stampede, weekly
Raid Colossus with damage tiers, Rebirth prestige (Ancient Gem perks),
weapon mastery stars, bestiary milestone gems, weekly season ranks and
a shareable result card.
- **Act biomes**: waves 19 in **The Green Jungle**, 1018 descend into
**The Murk Swamp** (creeping fog banks, two extra tar pits), 19+ burn
across **The Ashlands** (pulsing lava veins that sear anyone standing on
them). Ground palette, grass and rim tint all shift per biome.
- **Beasts**: Velociraptor, Compys, Dilophosaurus (venom spit — its frill
flares before firing!), Triceratops, Stegosaurus (plate rows + thagomizer),
Pachycephalosaurus (telegraphed `!` head-butt dash), Pteranodon (splits
into chicks), Alpha Raptor. Kills leave blood decals; runners kick dust;
the player leaves alternating footprints.
- **Alphas (boss waves)**: REX THE ELDER (charges, calls raptors) → SPINO OF
THE REEDS (sail, venom barrages) → GIGA BROODMOTHER (splits into two
juveniles). Every stride shakes the screen — harder up close — with dust
rings and a deep stomp thud.
- **Arsenal**: Slingshot → Bone Blowpipe → Spear Burst → Obsidian Lance →
Fire Bomb Thrower.
- **Heroes**: Raider, Trail Runner, Bear-Clan Brute, Spirit Hunter; war-paint
skins incl. premium gem tier (Ashfang Chief, Jade Serpent, Solaris).
## Living arena & atmosphere
Campfire hub with flickering light at the world centre · tar pits that slow
anything crossing them (55%) · giant buried T-Rex skull + ribcage landmarks ·
totem stakes · a 60s **day/night cycle** (night floods the valley in
darkness, punched through by warm light around every flame; beasts move
8% faster under moonlight) · **tropical rain fronts** with lightning flashes
and rolling thunder · **Blood Moon weekend live-op** (real-calendar Sat/Sun:
amber ×2, +25% herd budget, red cast + HUD badge) · drifting cloud shadows · circling vulture shadow · floating
ash motes · wind ambience with distant beast calls · painted dusk menu scene
(volcano, brachiosaurus, raptor silhouettes). Low quality setting disables
the air layers for weak devices.
## Meta progression (commercialization layer)
- **💪 Permanent upgrades** — six amber-bought nodes applied to every run:
Wolf-Heart (+HP), Viper Fangs (+dmg%), Wind Heels (+speed%),
Young Sun (+ult rate), Vulture Eye (+amber%), Shaman Pouch (+start bombs).
- **📖 Bestiary** — 12 species entries with bilingual lore; completing one
pays Ngọn Lửa (🔥 hard currency).
- **📜 Daily quests** — 3 of 6 picked deterministically per date, login
streak counter, claim rewards (🔥 + $).
- **🏆 Achievements** — ten unlock conditions, each grants 🔥.
- **🥚 Pet raptor** — bosses may drop an egg; hatch names a companion that
follows you and snipes pebbles; persists across runs.
- **🔥 Ngọn Lửa economy + rewarded-ad stub** — post-death “watch ad” bonus
(5s fake countdown, capped 3/day); swap in a real H5 ads SDK at
`setupAdButton()` in `js/ui.js`. Server leaderboards/accounts plug in via
`US.net` hooks noted in `js/save.js`.
- **🎓 First-run tutorial** — five skippable steps; settings add screen-shake
amount slider and effects quality toggle.
## HUD
Professional panel layout: vitals card (HP gradient bar + HEAT/ON FIRE +
weapon chip + bomb icons), wave banner with pill remaining-count, full-width
boss bar with name/percent, economy card (amber + score) with pulsing combo
pill, ult dial with % readout and ready flare, danger vignette under 30% HP.
## Layout
```
index.html shell + DOM UI overlays (menus, quests, bestiary, tutorial)
style.css stone-age jungle theme + meta UI bits
js/i18n.js EN/VI strings
js/save.js profile v2: gems/upgrades/bestiary/quests/achievements/pet
js/util.js helpers
js/audio.js synth SFX + music loop + wind ambience + stomps
js/art.js procedural painters: hero, dinos, ground props, sky, menus
js/data.js weapons/heroes/skins/beasts/alphas/cards/upgrades/bestiary…
js/entities.js player/enemy/bullet/pickup/particles
js/game.js engine: campaign+arena+endless, On Fire, HUD, meta hooks
js/ui.js menus/shop tabs/cards/overlays/tutorial/ad stub
js/main.js input (keyboard/mouse/touch sticks) + bootstrap
```
## Testing
`/tmp/smoke.js` is a headless harness (DOM/canvas stubs incl. gradient
factories, pinned-target sims) that boots the real modules and simulates
campaign, boss waves, cards, shop, arena, plus the meta layer:
```bash
node /tmp/smoke.js # ALL SMOKE TESTS PASSED
```
Publishing: `cloudflared tunnel --url http://127.0.0.1:8899 --no-autoupdate`
(quick tunnels are ephemeral — restart to get a fresh URL).