Skip to content

winsznx/bull-rush

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ‚ BULL RUSH

A fast, dramatic 3D neon endless runner for The Black Bull ($ANSEM) and the memecoin trenches. Charge forward, dodge Jeets / Snipers / MEV, grab powerups, and climb a global leaderboard β€” then share your run as a custom card.

Play: trybullrush.xyz


Stack

  • Game (frontend): React 19 + React Three Fiber + three.js + @react-three/postprocessing (bloom) + zustand + Vite. Deployed as a static site on Cloudflare Pages.
  • API (backend): Hono on Node + Redis (leaderboards via sorted sets, rate limiting, one-time run tokens) + Postgres (source of truth). Deployed on Railway.
  • Share cards: dynamic OG image rendered server-side with @napi-rs/canvas.

Project layout

src/                 # the game (R3F)
  three/             # Canvas, Bull, Track, Obstacles, Game
  ui/                # HTML/CSS overlays (menu, gate, HUD, board, share)
  data/              # questions, ranks, hazards
  store.ts           # zustand game state + per-frame refs
  api.ts             # thin client for the API (offline-safe)
functions/           # Cloudflare Pages Function (/s share page)
server/              # the Hono API (routes, redis, postgres, anti-cheat, OG card)
public/              # static assets (skybox, textures, logo, favicon, styles)

Local development

Game:

npm install
npm run dev          # http://localhost:8080

API (needs Redis + Postgres; uses the Railway ones via the CLI):

cd server
npm install
railway run npm run dev

Environment: the game reads VITE_API_URL (in .env.production) β€” the public API base. The API reads DATABASE_URL, REDIS_URL, HMAC_SECRET, ALLOWED_ORIGIN, GAME_URL (all set in Railway, never committed).

Build & deploy

npm run build                                   # game -> dist/
npx wrangler pages deploy dist --project-name bull-rush --branch main   # -> Cloudflare Pages

cd server && railway up --service bull-rush-api # API -> Railway

A note on the music 🎡

The soundtrack (Ansem's favorite tracks) is not included in this repo β€” those files are copyrighted and kept local only. Drop your own .mp3s into public/assets/audio/music/ matching the names in src/audio.ts (super-rush, butterfly-war, night-cloud, green-motion, vamp-charge). SFX are synthesized in-browser, so the game runs fine without them.

License

MIT

Fan-made arcade game. Not financial advice, not an official endorsement.

About

πŸ‚ BULL RUSH β€” a 3D neon endless runner for The Black Bull ($ANSEM). React Three Fiber game + Hono/Redis API + dynamic X share cards. Play β†’ trybullrush.xyz

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors