OhMyGame
OhMyGame은 AI로 게임을 만들 수 있는 오픈소스 스튜디오로, 디자인·구축·플레이테스트·출판을 하나의 앱에서 모델 키와 함께 수행합니다
Meld는 무료 온라인 카드 테이블로 짧은 코드로 친구를 초대해 좌석을 정하고 실시간으로 핀오클을 플레이합니다
Pull up a chair. Meld is a free online card table for pinochle: invite friends with a short code, pick your seats, and play in real time.
게임TypeScript · PLpgSQLGitHub @andreasmwenzel온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Pinochle with your friends, live or a trick a day. Next.js + Supabase.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Play it at meld.insulatorgap.com.
Pinochle with your friends, in the browser, in real time. Type a name, deal a table, hand out a
six-letter code, pick your seats (or offer to swap), and play four-hand partnership pinochle to 150.
No account needed; guests can add an email later to keep history and friends. Short a player? The host
can seat computer players that bid, pass, meld and play from the same information a human sees.
New to the game? /practice walks you through a hand against three computers. Playing a trick a day
with far-flung friends? Deal a table at a leisurely pace and the "This hand so far" recap keeps everyone
caught up. Afterwards, step through every bid, pass, meld and trick of a finished game and share the
replay link with anyone. How the computers think is written up in
docs/COMPUTER_PLAYERS.md.
Built with Next.js on Vercel and Supabase (Postgres, Auth, Realtime). Both run on their free tiers.
Contributing: see CONTRIBUTING.md. Dev tools for reproducing any game state: docs/DEV_TOOLS.md.
Supabase. Create a free project at supabase.com. In the SQL editor, paste and run
supabase/migrations/0001_init.sql. Under Authentication → Providers turn on Email (magic link)
and, optionally, Google. Under Authentication → URL configuration add
https://<your-vercel-domain>/auth/callback and http://localhost:3000/auth/callback as redirect URLs.
Full detail in supabase/README.md.
Vercel. Import this GitHub repo. Add these environment variables (Project → Settings → Environment Variables):
| Name | Where to find it |
|---|---|
NEXT_PUBLIC_SUPABASE_URL | Supabase → Project settings → API → Project URL |
NEXT_PUBLIC_SUPABASE_ANON_KEY | Supabase → Project settings → API → anon public key |
SUPABASE_SERVICE_ROLE_KEY | Supabase → Project settings → API → service_role key (keep secret) |
CRON_SECRET | any long random string; Vercel sends it to the daily keep-alive cron |
Deploy. The daily cron in vercel.json pings the database so the free Supabase project never pauses.
cp .env.example .env.local # fill in the four values above
pnpm install
pnpm dev
/dev/game is a local-only preview of the game board driven by the rules engine with three automated seats.
| Path | What lives there |
|---|---|
src/engine/ | Pure, tested pinochle rules: dealing, bidding, trump, passing, meld scoring, trick play, scoring. |
src/server/ | Server-side table, seat, trade, friend and game logic. Only the server ever sees full hands. |
src/app/api/ | JSON route handlers the client calls. |
src/components/ | The cards, the table, the scorepad, the lobby. |
supabase/ | Schema, row-level security, setup notes. |
src/engine/ai/ | Computer players. They only ever receive a PlayerView, never the full game state. |
docs/ARCHITECTURE.md | How the pieces fit, and how a second card game slots in. |
docs/COMPUTER_PLAYERS.md | How the computer players bid, pass and play, and how they are kept honest. |
Four players, two partnerships, 48-card deck. Modern scoring is the default: minimum bid 25 in steps of 1, play to 150. Bidder names trump; partner passes four cards to the bidder, who passes four back. Meld: run 15, royal marriage 4, marriage 2, pinochle 4, double pinochle 30, aces around 10, kings 8, queens 6, jacks 4, dix 1. Counters are aces, tens and kings at 1 each, plus 1 for the last trick. A side must take a trick to keep its meld. Fail your bid and you go set for the bid amount. Classic ×10 scoring remains a table option, with minimum bid 250 and target 1,500. Old-style 11 / 10 / 4 / 3 / 2 counting requires classic scoring. Existing games keep their classic scale.
MIT. Copyright 2026 Andreas Wenzel.