CoOp:Anything
게임을 검색해 협동 플레이 가능한 모드·단계·품질·커뮤니티 평점을 확인합니다
저장소 정보는 아직 수집하지 않았습니다.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗▶ Jouer (sur invitation) / Play (invite only) · Page du projet / Project page
Un jeu de culture générale en forme de RPG, à plusieurs.
Tu gravis une tour de 6 étages en répondant à plus de 6 000 questions. En chemin : des coffres, des sorts, un inventaire et des combats de boss.
Chaque joueur rejoint l'une des deux guildes rivales. Tu peux lancer des sorts sur tes alliés comme sur tes ennemis, et il faut s'unir à sa guilde pour ouvrir les portes des boss.
J'ai imaginé, conçu, illustré et développé le jeu seul. L'accès se fait sur invitation, via Discord.
A multiplayer trivia game shaped like an RPG.
You climb a 6-floor tower by answering more than 6,000 questions. Along the way: chests, spells, an inventory and boss fights.
Each player joins one of two rival guilds. You can cast spells on allies and enemies alike, and you need your whole guild to open the boss doors.
I came up with, designed, illustrated and built the game on my own. Access is invite-only, through Discord.
Nuxt 3 · Vue 3 · TypeScript · Drizzle ORM · SQLite / Turso · Discord OAuth · Vitest · Netlify
pnpm install
cp .env.example .env # remplir les valeurs / fill in the values
pnpm db:migrate
pnpm dev
Specs dans specs/, conventions dans CLAUDE.md.
Le code est en anglais, les specs en français : la correspondance entre les deux est le glossaire de specs/spec.md, colonne « Nom en code ».
| Variable | Rôle |
|---|---|
DATABASE_URL | Base locale, file:./local.db en dev. |
TURSO_DATABASE_URL / TURSO_AUTH_TOKEN | Base Turso en prod (env vars Netlify). DATABASE_URL prend le pas quand il est défini, pour qu'un poste de dev qui porte les deux reste sur sa base locale. |
NUXT_SESSION_PASSWORD | Secret de scellement du cookie de session, ≥ 32 caractères. Génère-le (openssl rand -hex 32) : le serveur refuse de démarrer sur la valeur d'exemple. |
NUXT_DISCORD_CLIENT_ID / NUXT_DISCORD_CLIENT_SECRET | App Discord OAuth2. |
NUXT_DISCORD_REDIRECT_URI | Doit correspondre exactement au redirect configuré côté Discord. |
Le serveur refuse de démarrer si l'une d'elles manque.
Sur le Discord Developer Portal : créer une application, onglet OAuth2, ajouter le redirect http://localhost:3000/api/auth/discord/callback (et l'URL Netlify en prod).
Seuls les Discord IDs présents dans la table whitelist peuvent s'inscrire. Tant qu'il n'y a pas d'UI admin, on insère à la main :
sqlite3 local.db "INSERT INTO whitelist (discord_id) VALUES ('123456789');"
sqlite3 local.db "UPDATE users SET is_admin = 1 WHERE discord_id = '123456789';"
| Commande | Effet |
|---|---|
pnpm dev | Serveur de dev. |
pnpm typecheck | nuxt typecheck. |
pnpm lint | ESLint. |
pnpm test | Vitest. |
pnpm db:generate | Génère une migration depuis server/db/schema.ts. |
pnpm db:migrate | Applique les migrations (local ou Turso selon l'env). |