0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

「天才にしか面白くないゲーム」をClaude Codeと作った話——エントロピーと素数で設計するパズルゲーム

0
Last updated at Posted at 2026-08-06

きっかけ

テレビで、いわゆる「天才」と呼ばれる人の特集を観ていた。画家だったか、音楽家だったか、正直そこはもう曖昧なのだけれど、ひとつだけ強く残った感覚がある。

「この人たち、たぶん俺らとは見えてる世界が違うんやろうな」

同じものを見ていても、そこから拾い上げる情報の量や質がまるで違う。だから常人には理解できない発想が出てくるし、常人には見えないパターンが見える。

そこからふと思いついた。

「天才」だけに刺さるパズルゲームって、作れないだろうか?

普通のパズルゲームは、誰でも楽しめるように設計されている。難易度の調整も「頑張れば解ける」が前提だ。でも逆に、凡人には何が面白いのかすらわからない——天才だけがそこに美しさや快感を見出せるゲーム。そんなものが成立するのか、試してみたくなった。

Claude Codeに相談してみた

「天才にだけ刺さるパズルゲームって作れる?」

そこからエントロピーや情報理論の概念を軸にしたパズルの方向性が出てきて、形になったのが EntropyLock というアプリだ。

ゲームの仕組み

一見するとただのグリッドパズルに見える。プレイヤーを動かして、コア(鍵)をゴールまで運べばクリア。しかし、このゲームには「普通のパズルゲーム」にはないルールが仕込まれている。

1. 色の状態が毎歩変わる

プレイヤーは1歩動くごとに色が変わる。赤→青→黄→赤→……の3色サイクル。

public void RegisterMove()
{
    moveCount++;
    currentColor = (ColorState)(moveCount % 3);
}

ゲートは特定の色でないと通過できない。つまり、何歩目にゲートに到達するかを逆算して動く必要がある。

2. 素数歩目に特殊ルールが発動する

hasPrimeMoveRule が有効なステージでは、移動回数が素数のとき(2歩目、3歩目、5歩目、7歩目……)に特殊な挙動が発生する。

public static bool IsPrime(int n)
{
    if (n < 2) return false;
    if (n == 2) return true;
    if (n % 2 == 0) return false;
    for (int i = 3; i * i <= n; i += 2)
        if (n % i == 0) return false;
    return true;
}

色のサイクルと素数の出現パターンは周期が噛み合わない。3歩周期の色と不規則に現れる素数。この2つを同時に頭の中で管理しながらルートを組み立てる必要がある。

3. 影(シャドウプレイヤー)が鏡像で動く

一部のステージでは、プレイヤーの点対称の位置にシャドウが出現する。プレイヤーが右に動けばシャドウは左に動く。

public static Vector2Int CalcShadowPos(Vector2Int playerPos, int gridW, int gridH)
{
    return new Vector2Int(gridW - 1 - playerPos.x, gridH - 1 - playerPos.y);
}

自分の動きが鏡像にどう影響するかを同時に考えなければならない。

4. 操作反転と壁反転

isControlInverted で操作が反転し、hasWallInversion で壁と通路が入れ替わるステージもある。反転時にはプレイヤーの色もネガ(補色)になる。

if (state.isControlInverted)
{
    c = new Color(1f - c.r, 1f - c.g, 1f - c.b);
}

5. 調和経路(Harmonious Path)

直近3歩の色が赤→青→黄の順に揃うと「調和経路」が成立する。これが特定のゲート解放条件になっている。

public bool IsOnHarmoniousPath()
{
    if (recentColors.Count < 3) return false;
    var arr = recentColors.ToArray();
    return arr[0] == ColorState.Red && arr[1] == ColorState.Blue && arr[2] == ColorState.Yellow;
}

なぜ「天才向け」なのか

これらのルールは、個別に見れば理解できる。色は3歩周期、素数は不規則、シャドウは点対称。

しかし、これらが全部同時に動く

  • 今何歩目か(色の状態)
  • 次の素数は何歩目か(特殊ルールの発動タイミング)
  • シャドウが今どこにいて、次どこに行くか
  • どの色でどのゲートに到達すべきか
  • 調和経路を作るには何歩前からルートを仕込むか

普通の人は、この複数の状態を同時に脳内で管理できない。「天才にしか面白くない」というのは、このレイヤーの重なりにパターンを見出せるかどうかだ。

開発環境

  • Unity 6 (6000.3.7f1)
  • Claude Code(設計・実装の相談相手)
  • 全コード手元で管理(約30ファイル)

正直に言う

自分でプレイしても、面白さがいまいちわからない。

作った本人がこんなことを言うのもどうかと思うけれど、それでいいのだと思っている。だって「天才に刺さるゲーム」を目指したのだから、凡人の自分にピンとこないのはむしろ正しい。逆にもし自分が「これ最高に面白い!」と思ってしまったら、コンセプトが失敗していることになる。

だからこのアプリは、ある意味で 「自分には評価できない作品」 だ。面白いかどうかを判断できるのは、天才だけ。

もしあなたがプレイして「これ、めちゃくちゃ面白い」と感じたなら——

おめでとうございます。たぶん、あなたは天才です。

ダウンロード

EntropyLock - Google Play

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?