BeamNG.Earth
A 1:1 scale streamed Earth for BeamNG.drive: real elevation and satellite imagery, floating origin, LOD streaming from a companion server
ポケモン対戦ダメージ計算・音声アシスタント
Translation pending
GamesTypeScript · CSSGitHub @porygon-worksOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
ロトムのようなキャラクターと会話でポケモン対戦のアシストをしてくれます。
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Rotom-Assist ポケモン対戦(ポケモンチャンピオンズ)のダメージ計算・音声アシスタント(v1 初期版)。方針は CLAUDE.md。 Vercel では Settings → Environment Variables に同じ名前で登録する(コード・Git には書かない)。 1. 大きなボタンを押しながら話して、離す(PC はスペースキー。「タップで開始/終了」にも切り替えられる) • 例:「HB振りエンペルトのHP120残ってるんだけど、A特化ガブのじしん耐える?」 • 例:「S二段階上昇のイダイトウって最速メガルカリオZ抜ける?」「メガルカリオZがどこまで振ってたら負ける?」 • 例:「じゃあステロ込みだったら?」(直前の質問を引き継ぐ) 2. 結論・ダメージ・確定数(または素早さ)が画面に出て、読み上げられる 3. 音声が使えないときは、下の欄に文字で入力するRead the full README ↗
ポケモン対戦(ポケモンチャンピオンズ)のダメージ計算・音声アシスタント(v1 初期版)。方針は CLAUDE.md。
npm install
# AI のキー(どちらか一方でも動く。両方あると、上限に当たったとき自動で切り替える)
export GEMINI_API_KEY=... # Google AI Studio で作る(無料)
export GROQ_API_KEY=... # Groq のコンソールで作る(無料)
npm run dev # http://localhost:3000 (マイクは https か localhost のみ)
Vercel では Settings → Environment Variables に同じ名前で登録する(コード・Git には書かない)。
| 質問 | 例 |
|---|---|
| ダメージ・確定数・耐えるか | 特化・H振り・性格・ランク・持ち物・特性・残りHP・ステロ込み・天候・フィールド・壁・急所 |
| 素早さ | どっちが速いか、抜けるか、実数値、どこまで振ると抜かれるか(最速・準速・最遅・スカーフ・ランク) |
| タイプ・弱点、種族値、わざの性能、覚える技 | 「サーフゴーの弱点は?」「カイリューの種族値」「じゃれつくって何タイプ?」「サーナイトってでんじは覚える?」 |
app/page.tsx・app/usePushToTalk.ts 画面(押して話す、ブラウザの音声認識と読み上げ)app/api/ask/route.ts POST /api/ask 1 往復の処理(lib/ask.ts)lib/llm.ts・lib/extractPrompt.ts AI で質問の中身を取り出す(Gemini 3.5 Flash-Lite → 3.1 Flash-Lite → Groq の順に切り替え)lib/resolve.ts 名前の解決(正式名・あだ名・聞き間違い)。データは data/names.json(scripts/build-names.ts で生成)と data/aliases.json(手入力)lib/battle.ts @smogon/calc 第0世代(チャンピオンズ)で計算 / lib/answer.ts ロトム口調の回答文eval/ AI の比較テストと再生テスト(docs/eval-plan.md)POST /api/ask { "text": "ガブにミミッキュのじゃれつく", "history": [{ "user": "前の質問", "extraction": {…} }] }
→ { speech, title, lines, intent, extraction, diagnostics }。history は任意(直前の 1 件だけ使う)。
試作版の POST /api/calc(英語名・第9世代)も残している(画面からは使っていない)。
npm test(単体+API)/ npm run typecheck / npm run build / npx tsx eval/replay.ts(保存済みの AI の出力でアプリの回答を一覧にする。AI は呼ばない)
計算エンジンは Showdown と同じ @smogon/calc だが、画面での突き合わせは未実施。 https://calc.pokemonshowdown.com/ で Gen9・Lv50・性格補正なし・努力値0・持ち物なし・特性は初期値にして比べる:
| 攻撃側 | わざ | 防御側 | 本アプリの結果 |
|---|---|---|---|
| Mimikyu | Play Rough | Garchomp | 98-116 (53.5 - 63.3%) 確定2発 |
| Archaludon | Flash Cannon | Flutter Mane | npm run calc -- ブリジュラス ラスターカノン ハバタクカミ で確認 |
| Gouging Fire | Earthquake | Charizard | ダメージなし(ひこう) |
設定しなくてもアプリは動く(履歴はその画面の中だけ)。保存したい場合:
supabase/001_init.sql を実行(roas スキーマに history テーブルを作る。他のアプリと1つのプロジェクトを共有できるよう、アプリごとにスキーマを分けている)roas を追加して保存(忘れると API が The schema must be one of the following のエラーを返す)SUPABASE_URL:Project Settings → API の Project URLSUPABASE_SERVICE_ROLE_KEY:同じ画面の service_role(または Secret)キー。NEXT_PUBLIC_ は付けない/api/history)だけが行う。テーブルは RLS 有効・ポリシーなしで、ブラウザから直接は触れない画面下の「診断」を開き、上から順に確認する。
| 診断の表示 | 意味と対処 |
|---|---|
| 何も出ない/「認識エンジン起動」が出ない | 「開始」が押せていない、またはブラウザ非対応(iPhone の Safari は不安定。Android の Chrome 推奨) |
| 「エラー: not-allowed」 | マイク未許可。ブラウザのサイト設定で許可 |
| 「エラー: network」 | 音声認識サーバに接続できない(Chrome は音声を外部サーバに送る) |
| 「話し声を検出」まで出るが「認識結果」が出ない | 声が小さい/周囲が騒がしい。マイクに近づく |
| 「認識結果: …」が出るが履歴が「合言葉なし(無視)」 | 「ダメ計」が別の表記になっている。その表記を lib/wakeword.ts の WAKE_WORDS に追加 |
そのままデプロイ可。環境変数は上記の Supabase 用(任意)のみ。