CoOp:Anything
게임을 검색해 협동 플레이 가능한 모드·단계·품질·커뮤니티 평점을 확인합니다
판타지와 리얼리티 TV가 만나는 파티 게임, 신화적 존재가 되어 혼돈의 스토리를 완성하고 시즌 시청률을 올립니다
A party game where fantasy meets reality TV. Play as a mythical creature, complete chaotic character arcs, and achieve high ratings for the season!
게임TypeScript · CSSGitHub @pegasusnotunicorn온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기A party game where fantasy meets reality TV
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A party game where fantasy meets reality TV. The site, store, checkout and online play for it live at lovecareermagic.com.
React + Vite, with three.js for the 3D cards and box, hosted on Netlify. Online play's room server
(game-server/) is a Cloudflare Worker. Node 22.
npm start: the site on localhost:3000. Enough for every page except checkout.netlify dev: the site with its Netlify functions and edge functions, on localhost:8888 (it runs
npm start and proxies to it). Checkout, sign-ups and the order webhook need this, and a .env
with the Stripe, Shippo and MailerLite keys (the _DEV / _TEST variants are the ones used
locally).npm install then npx wrangler dev in
game-server/ (localhost:8787, which the site uses by default when it's run locally). Anywhere
else the site finds the server from VITE_GAME_SERVER_URL, set on Netlify; without it /play says
"Coming soon". game-server/README.md has the rest: deploying it, and keeping its bill small.npm run build: the production build in dist/. It regenerates public/sitemap.xml first.Analytics (GTM, MailerLite) stay off everywhere but the live site.
npm run lint: ESLint (its rules are in eslint.config.js).npx tsc --noEmit -p .: the site's types; the same in game-server/ for the room server's.npm run check-cards: checks the home page's 3D cards never pass through each other.src/components: the pages and their parts. Routes are in src/Router.tsx; online play is
src/components/Play.src/pageMeta.ts: every page's tab title, description and share image, and which addresses are
pages. The track-utm edge function writes them into the page as it's sent (link previews and
search engines don't run JavaScript), and sends an address with no page as a 404.src/utils/links.ts: the addresses elsewhere that several pages link to (Kickstarter, Discord…).
src/utils/tracking.ts: the UTM tags a visit keeps for the checkout.src/components/utils/*3d.ts: the three.js scenes. They share one WebGL renderer (card3d.ts).src/css: styles, mostly CSS modules. The shared button tokens (--btn-*, --chip-*) are in
src/css/index.css.netlify/functions: checkout sessions, the Stripe webhook (shipping labels through Shippo, emails
through MailerLite, alerts to Discord), sign-ups. netlify/edge-functions: each page's meta and
UTM tracking (track-utm), conversion tracking, the /buy redirect.game-server/: the online game's room server, with its own README.public/images: images, served as they are. public/images/pieces: the game's pieces for
What's in the box, written by scripts/import-pieces.py.node scripts/card-atlas.mjs: rebuilds the character card sheets the footer's 3D cards use (run
with npm start going).node scripts/test-shippo.mjs, node scripts/test-shippo-webhook.mjs: try label buying with
Shippo's test key (read from .env).node scripts/preview-discord.mjs [session_id]: shows the Discord order alerts without buying a
label.