Skip to content

Latest commit

ย 

History

159 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

KushCloud Banner

KushCloud Logo

๐ŸŒฟ KUSHCLOUD

A chill one-tap arcade flyer โ€” tap to fly, dodge the jars, grab the leaves.

๐ŸŒ Play Now

Play Free React TypeScript License


KushCloud Banner

๐ŸŽฎ How to Play

Action Desktop Mobile
Flap Space / โ†‘ / W Tap anywhere
Navigate menus Mouse / Tab Tap

Flap through the gaps between glass jars. Score points, collect coins, chain combos, and survive as long as you can. The world evolves as you score higher โ€” from Meadow to Cosmic and beyond.

โœจ Features

  • ๐ŸŽฏ One-tap gameplay โ€” Simple to pick up, hard to put down
  • ๐ŸŒ 8 evolving worlds โ€” Meadow โ†’ Sunset โ†’ Night โ†’ Arctic โ†’ Volcanic โ†’ Cosmic โ†’ Celestial โ†’ Neon
  • ๐Ÿฆ 24 unlockable skins โ€” From Bud to Void, common to mythic rarity
  • โœจ 15 trail effects โ€” Puff, spark, flame, rainbow, nebula, and more
  • ๐Ÿ’Ž Power-up pickups โ€” Magnet, Double Score, Slow Motion, Shield, Ghost Mode
  • ๐Ÿ”ฅ FRENZY mode โ€” Chain 3 perfect passes for 2ร— points
  • โšก Clutch escapes โ€” Near-death saves with bonus score
  • ๐ŸŽต Synthesized audio โ€” Zero audio files, all generated with Web Audio API
  • ๐ŸŽน Dynamic music โ€” Layers build with intensity as you score higher
  • ๐Ÿ† Local leaderboard โ€” Compete for the top spot
  • ๐Ÿ›ก๏ธ Revive system โ€” Spend coins to continue after death

๐ŸŒ Worlds

World Score Vibe
๐ŸŒฟ Meadow 0 Bright skies, green pipes
๐ŸŒ… Sunset 25 Warm oranges, golden hour
๐ŸŒ™ Night 50 Deep indigo, glowing pipes
โ„๏ธ Arctic 80 Icy blues, frozen landscape
๐ŸŒ‹ Volcanic 120 Red-hot lava, dangerous
๐ŸŒŒ Cosmic 180 Purple nebula, starfield
โœจ Celestial 250 Golden heavens
๐Ÿ’œ Neon 350 Electric pink, maximum difficulty

๐Ÿš€ Quick Start

# Clone the repo
git clone https://github.com/DLinacre/KushCloud.git
cd KushCloud

# Install & run
npm install --legacy-peer-deps
npm run dev

Then open http://localhost:5000 in your browser.

๐Ÿ› ๏ธ Tech Stack

Tech Purpose
React 19 UI framework
TypeScript Type safety
Canvas 2D 60fps game rendering
Web Audio API Synthesized music & SFX
Tailwind CSS 4 UI styling
Vite Build tool

๐Ÿ“Š Game Mechanics

Score = Base Points ร— Combo Multiplier ร— Frenzy Multiplier
       โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
       โ”‚  Combo: 1ร— โ†’ 2ร— (4 passes) โ†’ 3ร— (8) โ†’ ...10ร—  โ”‚
       โ”‚  Frenzy: 2ร— (3 perfect passes in a row, 6 sec)  โ”‚
       โ”‚  Clutch: +3ร— (extremely tight escape)            โ”‚
       โ”‚  Near Miss: +1ร— (close call bonus)               โ”‚
       โ”‚  Perfect Pass: +2ร— (centre of the gap)           โ”‚
       โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ“ Project Structure

src/
โ”œโ”€โ”€ components/     # React components (GameCanvas, KushLogo)
โ”œโ”€โ”€ game/           # Core game engine & logic
โ”‚   โ”œโ”€โ”€ engine.ts   # Main game loop, physics, rendering
โ”‚   โ”œโ”€โ”€ audio.ts    # Web Audio synthesized music & SFX
โ”‚   โ”œโ”€โ”€ data.ts     # Skins, trails, worlds, power-ups
โ”‚   โ”œโ”€โ”€ powerups.ts # Power-up activation & modifiers
โ”‚   โ”œโ”€โ”€ storage.ts  # localStorage save/load
โ”‚   โ”œโ”€โ”€ leaderboard.ts # Local leaderboard
โ”‚   โ””โ”€โ”€ runProcessing.ts # Score validation & dedup
โ”œโ”€โ”€ screens/        # UI screens (Menu, Play, Shop, etc.)
โ””โ”€โ”€ ui.tsx          # Shared UI components

๐Ÿงช Development

npm run dev          # Start dev server
npm run build        # Production build
npm run test         # Run tests
npm run test:coverage # Test coverage report
npm run typecheck    # TypeScript check
npm run lint         # ESLint check
npm run lint:fix     # Auto-fix lint issues

๐Ÿ“œ License

MIT License โ€” See LICENSE


Made with ๐ŸŒฟ No external assets


๐Ÿ† Leaderboard โ€” one-time unblock (2 steps, ~5 minutes)

The cloud leaderboard has been broken since v1.1.6 for two account-level reasons. The code is already fixed โ€” both steps below are settings, not code.

Step 1 โ€” Unblock GitHub Actions (deploys & CI)

Every workflow on this account fails instantly (even a 2-line test job) with no logs โ€” that is GitHub blocking Actions at the account level, almost always a billing/entitlement issue on the account.

  1. Go to github.com/settings/billing (or Settings โ†’ Billing and plans).
  2. Fix any failed payment / settle the plan, or switch to the Free plan.
  3. Then trigger a deploy: Actions โ†’ "Deploy Web to GitHub Pages" โ†’ Run workflow (or push any commit โ€” the game auto-redeploys).

Verify: the live game loads at dlinacre.github.io/KushCloud with real gameplay (the current live build is stale/broken from the blocked deploys).

Step 2 โ€” Publish the Firebase rules (cross-device leaderboard)

The Firebase Realtime Database currently returns Permission denied (401) for both reads and writes โ€” the security rules were never published, so the database is deny-all. The correct rules are in the repo: docs/firebase-database.rules.json.

  1. Open console.firebase.google.com โ†’ project kushcloud-25cd5.
  2. Build โ†’ Realtime Database โ†’ Rules tab.
  3. Replace everything with the contents of docs/firebase-database.rules.json โ†’ Publish.
  4. Verify: curl "https://kushcloud-25cd5-default-rtdb.europe-west1.firebasedatabase.app/leaderboards/all.json?orderBy=%22score%22&limitToLast=5" should return {} or entries โ€” not Permission denied.

Then play one run on two devices โ€” scores appear within ~15 seconds (the leaderboard now auto-refreshes every 15s while open).

About

KushCloud ๐ŸŒฟ โ€” A chill one-tap arcade flyer. Flappy Bird-style game with synthesised audio, unlockable cosmetics & power-ups. Built with React, TypeScript & Vite.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages