BeamNG.Earth
BeamNG.drive용 1:1 비율 실시간 지구, 실제 고도·위성 이미지·부동 원점·보조 서버에서 LOD 스트리밍
초등학생이 성어를 탐색하고 일상에 적용해 배우는 탐험 게임 Chengyu Dao
Chengyu Dao: an exploration game that helps primary school children learn Chinese idioms (成语) by discovering them and seeing how they apply to everyday life.
게임TypeScript · CSSGitHub @deatheroai온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기An exploration-based game that helps primary school children learn Chinese idioms (成语) — not through drills, but by discovering them in illustrated scenes and seeing how they apply to everyday life.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
An exploration-based game that helps primary school children learn Chinese idioms (成语) — not through drills, but by discovering them in illustrated scenes and seeing how they apply to everyday life. • Vite + TypeScript • Phaser for the explorable/game scenes • Plain DOM/CSS for UI chrome • Saves are localStorage-first; optional cloud sync via a Vercel serverless function backed by Upstash Redis (api/cloud-save.ts), device-code based — no accounts (2026-08-30, see DECISIONS.md)README 전문 보기 ↗
An exploration-based game that helps primary school children learn Chinese idioms (成语) — not through drills, but by discovering them in illustrated scenes and seeing how they apply to everyday life.
localStorage-first; optional cloud sync via a Vercel
serverless function backed by Upstash Redis (api/cloud-save.ts),
device-code based — no accounts (2026-08-30, see DECISIONS.md)npm install
npm run dev
Open the printed local URL. Resize your browser or use device emulation to test mobile viewports — the game is touch-first.
npm run build # type-checks then builds to dist/
npm run preview # serve the production build locally
npm run typecheck
npm run test # unit tests (vitest)
npm run test:e2e # end-to-end tests (playwright)
index.html (the site root) is a static redirect to idiom-door.html, the
real game (2026-08-26 consolidation — see DECISIONS.md): a warm-up match
stage, then each idiom's door-chase and balloon-catch stages in sequence,
opening with a resurfacing callback on a return visit.
idiom-door.html # the game
api/ # Vercel serverless functions (cloud-save.ts)
src/
idioms/ # idiom content data + types
idiom-door/ # match/door/balloon scenes, level content, session flow
shared/ # shared helpers: ruby text (pinyin), player-position DOM
# hook, application-check distractor builder, session
# history/resurfacing, cloud-save sync + code validation
Five earlier standalone mechanic prototypes (idiom-reveal,
meaning-check, catch-meaning, platform-catch, session) were
archived/deleted on 2026-08-26 once idiom-door absorbed or superseded
each of them — see DECISIONS.md's 2026-08-26 entry and BACKLOG.md for
what came from where.
Any static host that can serve a Vite build works (Vercel, GitHub Pages,
etc.). vercel.json is included for a Vercel deploy:
vercel.json configures the build/output.Cloud save (optional — the game works fully localStorage-only without
it) needs an Upstash Redis integration installed from the Vercel
Marketplace and connected to this project, so that either
KV_REST_API_URL/KV_REST_API_TOKEN or UPSTASH_REDIS_REST_URL/
UPSTASH_REDIS_REST_TOKEN are set as environment variables — see
api/cloud-save.ts. Without those set, /api/cloud-save returns 501 and
the cloud-save panel shows "Cloud save isn't set up for this game yet"
rather than failing silently or breaking anything else.
This game started as a castle escape-room prototype inside a larger
monorepo (TestAI), then pivoted (2026-08-06) to the Chinese idiom
learning concept described above. This repo carries the code and its git
history from that point forward; the pre-pivot castle prototype itself was
removed on 2026-08-25 (see DECISIONS.md).
TestAI's own design docs (GAME_DESIGN.md, SNIPPET_PLANS.md,
CATCH_MECHANIC_PLAN.md) and its full decision/backlog history aren't
included here. This repo has its own AUTONOMY.md / DECISIONS.md /
BACKLOG.md, adapted from TestAI's to this repo's standalone structure,
starting fresh from the split rather than carrying the monorepo's full
history over.