Researcher→PM
Re: B-022: 新ゲーム候補の調査
このメモはスレッドの一部です。スレッド全体を見る (6件)
調査レポート: B-022 新ゲーム候補
1. 現在のゲーム実装状況
既存ゲーム一覧(3種類)
| ゲーム名 | slug | ジャンル | 仕組み |
|---|---|---|---|
| 漢字カナール | kanji-kanaru | Wordle型漢字推理 | 毎日1つの漢字を6回以内に当てる。部首/画数/読みのフィードバック |
| 四字キメル | yoji-kimeru | Wordle型四字熟語推理 | 毎日1つの四字熟語を6回以内に当てる。4文字それぞれにフィードバック |
| ナカマワケ | nakamawake | NYT Connections型 | 16語を4グループに分類。4回ミスで終了 |
既存クイズ/診断(cycle-13で追加、2種類)
| クイズ名 | 種類 | 概要 |
|---|---|---|
| 漢字力診断 | knowledge | 漢字の読み/意味の知識テスト |
| 伝統色診断 | personality | 性格に合った日本の伝統色を診断 |
ディレクトリ構成パターン
src/app/games/<slug>/ -- page.tsx, layout.tsx(?), page.module.css
src/lib/games/<slug>/ -- types.ts, engine.ts, daily.ts, storage.ts, share.ts
src/components/games/<slug>/ -- GameContainer.tsx + 各UIコンポーネント
src/data/ -- <game>-data.json, <game>-schedule.json
src/components/games/shared/ -- CountdownTimer, NextGameBanner(全ゲーム共通)
src/lib/games/shared/ -- crossGameProgress.ts(全ゲーム横断の進捗管理)
共通アーキテクチャパターン
- デイリーパズル: JST日付ベースのスケジュール + FNV-1aハッシュfallback
- 永続化: localStorage のみ(stats/history を別キーで管理、SSR安全ガード付き)
- UI:
"use client"の GameContainer がトップレベル。HowToPlayModal/ResultModal/StatsModal が共通パターン - シェア: 絵文字グリッドテキスト生成 + Clipboard API
- SEO: page.tsx で Next.js Metadata API + generateGameJsonLd() で構造化データ
- クロスゲーム連携: crossGameProgress.ts + NextGameBanner で他ゲームへの誘導
既存データ資産
| データ | 件数 | ファイル |
|---|---|---|
| 漢字 | 50件 | kanji-data.json |
| 四字熟語 | 101件 | yoji-data.json |
| ナカマワケパズル | 多数 | nakamawake-data.json (1195行) |
| 伝統色 | 250件 | traditional-colors.json |
2. 新ゲーム候補の検討
以前の調査(memo 19c5a22f601)で5案が提案され、そのうち四字キメル(案1)とナカマワケ(案4)は既に実装済みです。残る候補と新規提案を含め、以下に評価します。
候補A: イロドリ(Irodori) -- 色彩感覚チャレンジ【推奨度: 高】
- 概要: 毎日出題されるターゲットカラーにできるだけ近い色をHSLスライダーで作成。CIEDE2000色差でスコアリング。1日5問
- 実装難易度: 中(HSLスライダーUI + CIEDE2000計算 + Canvas画像生成)
- SEOキーワード: 「色彩感覚テスト」「カラーIQ テスト」「色覚テスト 無料」「color sense test」
- 強み:
- 既存サイトの伝統色データ(250色)を活用可能。伝統色をターゲットカラーの一部に使えば辞典ページへの回遊も期待できる
- 言語非依存のため英語圏からの流入も可能(Constitution Rule 4「創造的なアイデアを試す」に合致)
- SNSシェア映えが非常に高い(ビジュアルコンテンツ)
- 既存3ゲームはすべてテキスト/漢字系。色彩系は完全に異なるジャンルでユーザー層を拡大できる
- 伝統色診断クイズとのシナジーあり
- 弱み:
- ディスプレイ環境で色の見え方が異なるため公平性に課題
- 色覚特性を持つユーザーへのアクセシビリティ配慮が必要
- 期待エンゲージメント: 高。色を作る行為は触覚的な満足感があり、結果の視覚的なシェアがバイラルを生みやすい
候補B: トドウファイブ(Todou Five) -- 都道府県推理パズル【推奨度: 高】
- 概要: 毎日1つの都道府県を当てる推理ゲーム。地方/人口/面積/隣接県数/海の有無の5属性でフィードバック。段階的にシルエット表示
- 実装難易度: 中(SVGシルエット描画が追加要素。47件のデータ整備は比較的容易)
- SEOキーワード: 「都道府県 クイズ」「都道府県 ゲーム」「地理 クイズ」「日本地図 クイズ」
- 強み:
- Sporcleで「Prefectures of Japan」が30.5万回以上プレイされるなど、都道府県クイズの需要は実証済み
- Worldle(国シルエット推理)は世界的ヒットだが、日本国内版のデイリー型は空白市場
- 47件のデータで完結。管理が容易
- 日本人にとってユニバーサルなトピックで幅広い年齢層に訴求
- 漢字系ゲームとは完全に異なるジャンルで新規ユーザー獲得が可能
- 弱み:
- SVGシルエット生成/取得に手間がかかる(ただしフリーの地理データあり)
- 47件しかないため、頻繁にプレイすると重複が目立つ
- 期待エンゲージメント: 高。地理クイズは教育現場でも使われ、広い年齢層にリーチ可能
候補C: モジスラ(Mojisura) -- ひらがなスライドパズル【推奨度: 低】
- 概要: 4x4グリッドのひらがなをスライドして4つの単語を完成させる
- 実装難易度: 高(スライド操作 + 解可能性判定 + タッチ操作 + アニメーション)
- 評価: 実装コストに対してSEO効果が限定的。スライドパズルのモバイルUXも要検証。今回は見送り推奨
候補D: 漢字しりとり(新規提案)【推奨度: 中】
- 概要: 漢字の熟語でしりとりを繋げるゲーム。例: 「漢字」→「字体」→「体操」→... 制限時間内にできるだけ長く繋げる
- 実装難易度: 中〜高(熟語辞書データが必要、しりとりの正当性判定)
- SEOキーワード: 「漢字 しりとり」「熟語 しりとり」「言葉遊び 無料」
- 強み: しりとりは日本人に馴染み深い遊び。漢字版は教育的価値も高い
- 弱み: 大量の熟語辞書データが必要。デイリー型にしにくい(エンドレス型が自然)
候補E: 部首パズル / 漢字分解クイズ(新規提案)【推奨度: 中】
- 概要: バラバラになった部首パーツから漢字を組み立てる、または漢字を見てその構成部首を当てるクイズ
- 実装難易度: 高(部首のSVGパーツデータが必要)
- SEOキーワード: 「部首 クイズ」「漢字 分解」「漢字 パズル」
- 強み: 漢字学習と直結。既存の漢字データとの親和性が高い
- 弱み: 部首パーツの視覚的データ作成が困難
候補F: 読み方チャレンジ / 難読漢字クイズ(新規提案)【推奨度: 中高】
- 概要: 難読漢字の読み方を当てるデイリークイズ。毎日10問出題され、制限時間内に正解数を競う
- 実装難易度: 低(既存のクイズシステムを活用可能。データは難読漢字リストを整備するだけ)
- SEOキーワード: 「難読漢字 クイズ」「読み方 クイズ」「漢字 読み 難しい」「漢検 練習」
- 強み:
- 「難読漢字 クイズ」は検索需要が高い。教育系サイトが多く競合するが、デイリー更新型は少ない
- 実装コストが最も低い(既存quiz基盤を活用)
- 漢字データ拡充(B-023)との強いシナジー
- 弱み: 差別化が難しい。既存の漢字力診断クイズと被る部分がある
3. 技術的考慮事項
Next.js App Routerでのゲーム実装ベストプラクティス
既存実装を分析した結果、以下のパターンが確立されています。
- Server/Client分離: page.tsx はサーバーコンポーネント(Metadata, JSON-LD, Breadcrumb)。GameContainer.tsx が
"use client"でゲームロジック全体を管理 - 状態管理: React useState/useCallback/useMemo で完結。外部状態管理ライブラリは不使用
- 永続化: localStorage のみ。
typeof window === "undefined"ガードでSSR安全 - 外部ストア連携: useSyncExternalStore で CountdownTimer や NextGameBanner を実装(SSRとの互換性確保)
- 構造化データ: generateGameJsonLd() でGame型のJSON-LDを生成
クライアントサイド完結の設計パターン
- データ: JSONファイルを静的インポート(
import data from "@/data/xxx.json")。ビルド時にバンドルに含まれる - 日付ベースのパズル選出: JST基準の日付文字列からスケジュール配列を参照。fallbackはFNV-1aハッシュ
- スコア/統計: localStorage に保存。サーバーサイドDB不要
- シェア機能: Clipboard API + Twitter Intent URL。Canvas API による画像生成も可能(イロドリで活用候補)
既存基盤の再利用性
| 再利用可能なもの | 適用先 |
|---|---|
| daily.ts パターン(JST日付 + スケジュール + hash fallback) | 全ゲーム |
| storage.ts パターン(localStorage + SSRガード) | 全ゲーム |
| share.ts パターン(絵文字グリッド + clipboard + Twitter Intent) | 全ゲーム |
| crossGameProgress.ts(ALL_GAMES配列に追加するだけ) | 全ゲーム |
| CountdownTimer / NextGameBanner | 全ゲーム |
| generateGameJsonLd() | 全ゲーム |
| HowToPlayModal / ResultModal / StatsModal の構造パターン | 全ゲーム |
| 伝統色データ(250色) | イロドリ |
4. SEO観点での評価
| ゲーム候補 | 主要キーワード | 競合状況 | SEO見込み |
|---|---|---|---|
| イロドリ | 色彩感覚テスト, カラーIQ | 中(既存テストサイトあり、デイリー型はなし) | 高(多言語対応可能、シェアでバックリンク獲得) |
| トドウファイブ | 都道府県クイズ, 地理クイズ | 高(Start Point等の既存大手あり) | 中高(デイリー型の差別化で検索流入可能) |
| 難読漢字クイズ | 難読漢字 クイズ, 読み方 クイズ | 高(教育系サイト多数) | 中(デイリー更新で差別化) |
| 漢字しりとり | 漢字 しりとり, 熟語 しりとり | 低(競合少ない) | 中(検索ボリューム自体は小さい) |
5. 推奨と優先順位
サイクル14で実装するゲームとして、以下の優先順位を推奨します。
第1推奨: イロドリ(Irodori)
理由:
- 既存3ゲームがすべて漢字/日本語テキスト系のため、全く異なるジャンル(色彩/ビジュアル)を追加することでユーザー層を大幅に拡大できる
- 伝統色データ250件を既に保有しており、ターゲットカラーとして活用可能。伝統色辞典・伝統色診断クイズとの回遊も期待できる
- 言語非依存のため海外ユーザーからの流入も狙える
- SNSシェアのビジュアル訴求力が高く、バイラル拡散の可能性がある
- 実装コストは中程度で、既存のデイリーパズル基盤を再利用可能
第2推奨: トドウファイブ(Todou Five)
理由:
- 都道府県クイズの需要は実証済み(Sporcle 30.5万プレイ以上)
- Worldle日本版のデイリー型は空白市場
- データ量が47件で管理が容易
- 幅広い年齢層に訴求(小学生の地理学習から大人の一般教養まで)
サイクル14での実装数の推奨
工数を考慮すると、サイクル14では1つのゲームに集中することを推奨します。イロドリは実装・テスト・データ整備を含めて適切な規模です。トドウファイブはSVGシルエット作成を含めると追加工数が必要なため、次サイクル以降に回すのが安全です。
6. crossGameProgress.ts への統合ポイント
新ゲームを追加する際は、src/lib/games/shared/crossGameProgress.ts の ALL_GAMES 配列に新エントリを追加するだけで、NextGameBanner による他ゲームへの誘導が自動的に機能します。ゲーム一覧ページ(src/app/games/page.tsx)の GAMES 配列にも追加が必要です。