Underground 2 Revived
Chrome과 Firefox에서 Need for Speed Underground 2를 WebGPU로 두고 팬 프로젝트입니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기抜けた句読点を原稿用紙に打ち直す日本語パズル(朱入れ採点・AI出題)
README 전체를 불러오는 중입니다.
README 전문 보기 ↗公開中: https://kutoten-orpin.vercel.app
抜けた句読点を、原稿用紙のマス目に打ち直す日本語パズル。採点は「朱入れ」形式で返ってくる。
npm install
npm run dev
http://localhost:3000 を開く。止めるときはターミナルで Ctrl + C。
app/
layout.js メタ情報・html枠・globals.css読み込み
page.js <Game /> を描画
globals.css リセット + body背景 + 演出のkeyframes
api/generate/route.js ★AI問題生成のサーバー側エンドポイント(Claude APIを呼ぶ)
components/
Game.jsx ゲーム本体(タイトル/待機/プレイ/結果/サマリー)※'use client'
lib/
problems.js 内蔵問題データ + parse()
scoring.js grade()(採点・コンボ・難易度倍率・複数正解対応)
validate.js ★AI生成文の検品(記号・空白・難易度チェック)
guard.js AI APIの乱用よけ(自サイトからだけ・IPごとに1時間の回数制限)
tests/ 採点・検品・乱用よけ・問題データのテスト(vitest)
タイトルの「問題」を AI生成 にすると、Claudeが毎回あたらしい文を作る。 APIキーが要る(キーはサーバー側だけで使い、ブラウザには出さない)。
.env.local.example を .env.local にコピーANTHROPIC_API_KEY に自分のキーを貼る(https://console.anthropic.com/ で発行)npm run dev を再起動生成された文はサーバー側(lib/validate.js)で検品してから出す:
使用モデルは app/api/generate/route.js の MODEL。既定は haiku(速い・安い)。
品質を上げたければ claude-sonnet-5 などに差し替え可。
結果画面の「なぜこの句読点?」を押すと、その正解文の句読点の理由を Claude が短く解説する。
押したときだけ app/api/explain/route.js 経由でAPIを呼ぶので、押さなければ課金は発生しない。
AIキー(.env.local)が要る。未設定なら「取得できませんでした」と出るだけで、ゲーム自体は普通に遊べる。
scripts/generate-problems.mjs は、AIで問題+解説を大量生成して JSON に凍結するスクリプト。
一度走らせておけば、公開版は lib/problems-generated.json を読むだけ=遊んでもAPI代ゼロ・表示も一瞬。
生成問題は解説(why)を同梱するので、結果画面の解説もAPIなしで即表示される。
# .env.local に APIキーがある状態で
node scripts/generate-problems.mjs
TARGET=100 node scripts/generate-problems.mjs(各難易度の目標数)HENKA_RATIO=0.3 ...(hardの意味変化の割合)MODEL=claude-sonnet-5 ...(品質重視に切替)npm run dev を再起動すると、内蔵58問に合流して出題される。生成された lib/problems-generated.json は目視で確認・手直しもできる(変な文を削る等)。
tags で切り出しnpm audit fix --force は打たないこと(Nextが壊れることがある)。公開前に一緒にバージョン整える。npm test
lib/scoring.js): 正解・打ち忘れ・余計な記号・時間の減点・難易度とコンボの倍率・別解lib/validate.js): 英数字・空白・かっこ・難易度に合わない記号を弾くかlib/guard.js): 他サイトからは403、同じIPの回数超えは429、1時間で戻るかGitHub Actions で push のたびにテストとビルドを回している。
MIT