OhMyGame
OhMyGame은 AI로 게임을 만들 수 있는 오픈소스 스튜디오로, 디자인·구축·플레이테스트·출판을 하나의 앱에서 모델 키와 함께 수행합니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Live, offline, tournament-style logic games for college events.
The host taps Start and every connected phone gets the same puzzle at the same moment. Speed and correctness feed a live leaderboard that every device can see, along with a department-vs-department board. It all runs on one laptop's Wi-Fi hotspot with no internet, so nobody can ask an AI for the answer.
| Big screen (projector) | Host console |
|---|---|
Games, all generated from a seed and checked on the server. Each has an easy, medium and hard level.
| Game | What students do | Fairness |
|---|---|---|
| Anagram Blitz | Unscramble 6–8 words from themed packs (Tech, Campus, Food, Science), or from the host's own custom words | Dictionary anagrams also count (notes → stone) |
| Mini Sudoku | 6×6 (easy and medium) or 9×9 (hard), with pencil marks, undo and conflict highlighting | Every puzzle has exactly one solution |
| Word Hunt | Wordle-style: 5 letters, 6 tries, the same word for everyone | Colours are computed on the server, so the word never reaches phones |
| Number Crunch | Reach the target with + − × ÷ by tapping tiles, Countdown style | Every target is guaranteed reachable |
| N-Queen | Classic N-Queens on 6×6 (easy), 8×8 (medium) or 10×10 (hard), with a fixed queen and blocked cells, ✕ notes and clash highlighting | Every board has exactly one completion, so a memorised textbook answer doesn't help |
Scoring:
Formats: Classic (total points) and Knockout (the bottom X% is out after each round and spectates).
Every device sees the leaderboard:
Anti-cheat:
Student ID + PIN:
Monthly leaderboard (/leaderboard):
config/leaderboard/monthly.json: download it from the Monthly tab, commit, push, and Vercel rebuilds (how). No Student IDs are published.Host console:
Robustness:
Design: a "back-bench notebook" look:
Vibe Hackathon (team competition) at /competitions/vibecoding/: teams of 2–4 build a real one-page site on their phones by asking an AI (Google Gemini), tile by tile, with hidden automated checks; then they solve a sliding puzzle, publish their site on the event network and handle a "client's change request". Save Points, Go Back, Project Notes, hints, a live projector wall, voting and awards. Friendly words at first; the real ones (prompt, commit, revert, deploy) are revealed at the end. See docs/competitions/ and the event-day runbook.
All wording (titles, descriptions, buttons, funny messages), the department list, scoring numbers, timings and word lists live in config/. Edit a file there and every screen updates. No app code to touch. config/README.md has a "change X → edit file Y" table.
👉 Read docs/EVENT_DAY.md. It's the checklist for hosts.
Short version (Windows laptop):
pnpm pack:arena on a dev machine, then copy dist/brain-arena/ to the laptop. The laptop only needs Node.js 20+.setup-hotspot.ps1. It raises the Mobile Hotspot limit to 128 (WifiMaxPeers), keeps the hotspot awake, opens the firewall and sets up the loopback adapter, so the hotspot has no internet.start-arena.bat. It turns on the hotspot and starts the server.http://192.168.137.1:4000 (the address never changes, so print the QR).http://localhost:4000/host/ (the PIN is in the terminal). Projector: http://localhost:4000/screen/.For more phones than the laptop's Wi-Fi card can handle, you can add Wi-Fi sharing repeater phones (same URL) or USB Wi-Fi dongles (one QR per network). The guide covers both.
The web app is a static export, so Vercel can host the online half: the landing page, solo practice and the installable PWA. Live events still run on the laptop. Vercel can't host the arena server, because it needs a long-running WebSocket process.
ajayda24/iedc-hub-tournaments.apps/web and leave "Include files outside the root directory" on. Everything else comes from apps/web/vercel.json: a pnpm workspace install, next build --webpack and output out/, deployed as a plain static site (framework "Other").routes-manifest.json couldn't be found, set Settings → Build & Deployment → Framework Preset to Other and redeploy.main redeploys.pnpm install
pnpm dev # arena on :4000 + Next dev server on :3000
# open http://localhost:3000/host/ (PIN printed by the arena), /screen/, /play/
pnpm check # typecheck + unit tests: run before every push
pnpm test # engine + arena unit tests (Vitest)
pnpm build # static web export (apps/web/out, precompressed) + arena bundle
pnpm start # arena serving the built app on :4000
pnpm test:e2e # Playwright: real arena + browsers (needs `pnpm build` first)
pnpm bots --n 80 # 80 simulated students who actually solve puzzles (dry run / load test)
pnpm pack:arena # dist/brain-arena: single-folder build for the event laptop
pnpm vibecoding:bots # Vibe Hackathon load test: 15 simulated teams + a forced restart (mock AI)
pnpm vibecoding:models # which Gemini models your key can use
pnpm vibecoding:quality # can the real models build every tile? (24 beginner prompts)
Measured locally with pnpm bots --n 80 over four rounds:
config/ ✏️ ALL text, settings, word lists and the published leaderboard (edit here, no code)
copy/ words on every screen, one file per screen
leaderboard/ monthly.json, what the website's /leaderboard shows
words/ Word Hunt and Anagram word lists
apps/
web/ 📱 everything on a screen: phones, host console, projector, practice, leaderboard
app/ one folder per URL (/play, /host, /screen, …)
src/screens/ the page screens src/games/ one view per game
src/ui/ shared pieces src/net/ connection to the arena
arena/ 💻 the laptop server: rounds, scoring, PINs, history, crash safety
src/competitions/ team competitions (Vibe Hackathon): AI gateway, check runner, published sites
packages/shared/ 🧩 game engines + rules shared by both: protocol, scoring, monthly board
src/competitions/ the pure rules of each competition (Vibe Hackathon: tiles, checks, scoring, puzzle)
scripts/ 🛠️ build helpers; scripts/event-kit/ holds the .bat/.ps1 files for the laptop
e2e/ ✅ end-to-end tests (a real arena + browser)
docs/ 📖 EVENT_DAY.md (host checklist), ADD_A_GAME.md, screenshots
dist/brain-arena/ 📦 the built event kit (gitignored). Its arena-data/ is the real event data
Each folder has a short README with a file-by-file map: config, apps/web, apps/arena, packages/shared, scripts.
Where does a change go?
| I want to… | Go to |
|---|---|
| Change wording, departments, points, timings | config/ |
| Change how a page looks or behaves | apps/web/src/screens/ (page) or apps/web/src/ui/ (shared piece) |
| Change a game's puzzles or answer checking | packages/shared/src/games/<id>/ |
| Change a game's look on the phone | apps/web/src/games/<Name>View.tsx |
| Change round flow, scoring rules in play, PINs, history | apps/arena/src/ |
| Add a game | docs/ADD_A_GAME.md |
| Change Vibe Hackathon's tiles, scoring, AI models | config/competitions/vibecoding/ (tasks, scoring, models .json) |
| Add a team competition | docs/competitions/ADD_A_COMPETITION.md |
| Change the laptop start/hotspot scripts | scripts/event-kit/ |
Keeping it working: run pnpm check before pushing (GitHub also runs it on every push, see .github/workflows/ci.yml). For bigger changes, also pnpm build and pnpm test:e2e.
http on the LAN, so phones need nothing pre-installed.ws:// from https pages, and service workers need HTTPS.packages/shared/src/games/<id>/ plus a view in apps/web/src/games/. The full checklist is in docs/ADD_A_GAME.md.config/ (see above). Word lists come from the MIT word-list package. Edit config/words/wordhunt-answers.txt or config/words/anagram-packs.source.json, then run pnpm content:build.More games:
Spice:
Platform:
--upstream) for a second laptop,setup-hotspot.ps1 / start-hotspot.ps1 are written for Windows 10/11 and need a quick test on your laptop.