OhMyGame
OhMyGame은 AI로 게임을 만들 수 있는 오픈소스 스튜디오로, 디자인·구축·플레이테스트·출판을 하나의 앱에서 모델 키와 함께 수행합니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Six AI coaches breed a walking creature; physics is the only judge. Cal Hacks 13.0.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Six AI coaches breed a walking creature. A physics engine is the only judge. The best three race every generation in a 3D arena, the notebook keeps every hypothesis that died, the crowd changes the course from their phones, and the judge's table decides what counts.
This is how chips and antibodies are starting to be designed: an AI proposes, a brutal verifier rejects most of it, and the survivors compound. We made it a sport so you can watch the method work.
npm install
ANTHROPIC_API_KEY=… CARTESIA_API_KEY=… SPACETIME_DB=evolution-stadium npm start
open http://localhost:8080
Every service degrades on its own: without ANTHROPIC_API_KEY the coaches use OPENAI_API_KEY, and without
that, labelled rule-based mutations; without CARTESIA_API_KEY the commentators use browser speech; without
SPACETIME_DB the room lives in this process's memory. Keys go in .env (ignored by git) or Fly secrets; the
repository contains no secrets. npm test runs the physics tests (the seed stands, the judge is deterministic,
evolution improves on the seed).
/ the stadium · /vote the crowd (phones) · /bench coaches versus blind mutation · /about why.
Real: the physics (cannon.js, deterministic, the coaches never touch it), the scores, the race (same engine, same timestep as the judge), the notebook, the lineage, the votes, the values, and the coaches' hypotheses, which are a language model's own words (model name on the scoreboard). Simulated: the creatures and the course. Scripted: nothing. If the model is unavailable, rule-based mutations stand in and are labelled "rule" in the notebook.
The six coaches and the head-coach role run on claude-haiku-5-5 through the Anthropic SDK (server.js,
callJSON), effort low for a normal generation and medium on a plateau. Each coach sees the champion's
genome, two alternates from the stable, the kept hypotheses and the last sixteen notebook lines, and returns one
full genome plus a causal claim in at most twelve words. Those claims are the model's own words on the scoreboard;
nothing is scripted. Two commentators (Vic, Lou) are written by the same model from the heat's actual results.
Where it goes wrong, by design: the model never sees the simulator, so it proposes bodies that flip, numbers that
are out of range (clamped by sanitize), and confident hypotheses that physics rejects. Rejection is not a bug;
it is the method. The notebook keeps every rejected claim with its delta so the next generation can read it.
When the model is unavailable, rule-based mutations stand in and are labelled rule in the notebook.
Vic and Lou speak with Cartesia Sonic (sonic-3.6, mp3) through POST /api/tts, a server-side proxy, so the key
never reaches a browser. Two voices are picked from the library at boot (masculine for Vic, feminine for Lou;
pin them with CARTESIA_VOICE_VIC and CARTESIA_VOICE_LOU), with generation_config speed and emotion set per
commentator (Vic calm, Lou excited). Both lines are synthesised while the heat is still replaying and played in order
the moment the result card lands; lines are cached per text. Every spoken line is also on screen as text, the
voice can be switched off from the stadium bar, and no microphone or listener data is collected.
Known limits: about a second to first audio on an uncached line, English only, browser speech as the fallback.
spacetime/ is a TypeScript SpacetimeDB module with the tables room, vote, names and ballot and the
reducers cast, rename, judge and host. The web node is stateless: /api/room reads the public tables
over the SQL HTTP API and every write from a phone or from the stadium screen is a reducer call, so votes are
transactional and any number of web nodes agree. Publish with cd spacetime && spacetime publish evolution-stadium
and set SPACETIME_DB=evolution-stadium (and SPACETIME_HOST for a non-maincloud server).
Known limit: phones and the stadium still poll the web node every two seconds instead of subscribing over WebSocket.
fly launch --copy-config --no-deploy
fly secrets set ANTHROPIC_API_KEY=… CARTESIA_API_KEY=… SPACETIME_DB=evolution-stadium
fly deploy
Built at Cal Hacks 13.0. Karl Sims (1994), directed evolution (Arnold, 2018), AlphaEvolve (2025), RoboMorph
(2024–26), and Filipe Bonetto's auto-arch-tournament (2026) are the lineage; see /about.