OhMyGame
OhMyGame is the open-source studio for making games with AI. Design, build, playtest, and publish games in one app, with your own model keys.
Het kaartspel met knikkers uit Dilbeek. Een spel van Rob De Rop Digital.
Translation pending
GamesGitHub @robDeROpOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Het kaartspel met knikkers uit Dilbeek, als website om online met vrienden te spelen.
app/, onderdelen in components/.lib/engine.ts, zonder imports. De website én de server gebruiken exact hetzelfde bestand.supabase/functions/game/ (project tokken, Frankfurt).
Elke zet gaat via de server, die controleert of de zet mag. Niemand kan andermans kaarten zien:
de handen staan in de tabel game_secrets, die enkel de server kan lezen.games (publieke spelstand) wordt via Supabase Realtime naar iedereen gestuurd.supabase/migrations/0001_init.sql.npm install
npm run dev # http://localhost:3000
npm test # spelregel-tests + 100 computerspellen
Oefenen tegen de computer (/oefenen) werkt volledig in de browser, zonder server.
lib/engine.ts aan.npm testnpm run sync-engine (kopieert de engine naar de server-functie)npx supabase functions deploy game --project-ref qxafpwxnwcumljwzweyt --no-verify-jwtnpx vercel --prod
De Supabase-adressen staan als standaard in lib/supabase.ts (publieke sleutels, geen geheimen). Een ander project gebruiken kan via .env.local (zie .env.example).
https://qxafpwxnwcumljwzweyt.supabase.co/auth/v1/callbackupdate app_config set value = 'true' where key = 'require_login_to_create';
Meedoen met een code blijft zonder login.supabase/migrations/0002_chat_scoreboard.sql uit op de bestaande database (via de normale migratieworkflow of de Supabase SQL-editor).npm run sync-engine en rol de game Edge Function opnieuw uit (commando hierboven).De database bewaart resultaten ook bij een revanche. Reeds uitgespeelde spellen die nog als finished in games staan worden bij de migratie overgenomen; oudere overschreven partijen kunnen niet worden teruggehaald. Chatberichten zijn net als de huidige spelstanden publiek leesbaar en uitsluitend via de server te schrijven.
De huidige variant blijft vier spelers in twee ploegen. Zes spelers vraagt een aparte bord- en regelvariant: geometrie, kleuren, teams, beurtvolgorde, kaarten delen, lobby, servervalidatie en tests bevatten nu aannames voor vier spelers. Voeg dat als één samenhangende variant toe, nadat de ploegindeling en het aantal vakjes vastliggen.
planMove).npm run ai-tournament laat de nieuwe tegen de oude computer spelen.move_log): elke zet, online en oefenen, met de volledige stand vóór de zet (alle handen en het pak), de gekozen actie en het resultaat. Online schrijft de server, oefenen stuurt in groepjes via log_practice_moves. Uitlezen in Supabase (Table editor → move_log → Export CSV) of met SQL, bv. enkel de mensenzetten:
select mode, seat, player_name, action, state_before from move_log where not is_bot order by game_id, move_no;