攻略ガイド / 放置ゲーム

放置ゲームの数字はなぜ巨大? K、M、aa、e308の意味

放置ゲームのK、M、B、T、aa、1.5e45が何を意味するのか、数字が爆発的に増える理由、1e308が魔法の限界になる理由、コンピューターが扱える以上の数をコードがどう扱うのかを、私たち自身のバグの話とともに解説します。

放置ゲームの数字が巨大になるのは、すべてが指数関数的に増えるからです。アップグレードのたびに収入が掛け算で増えるので、数時間で数百万、数週間で名前のあるどんな数も超えてしまいます。読みやすくするため、ゲームは数字を省略します。Kは千、Mは百万、Bは10億(英語のbillion)、Tは1兆(英語のtrillion)。その先はaa、ab、acといったアルファベットや、1.5e45のような指数表記です。1.5e45は、1.5のあとに45桁続くという意味です。

早見表:K = 10^3、M = 10^6、B = 10^9、T = 10^12。その先はアルファベットが1段進むごとに1,000倍です。指数表記では、eのあとの数字が最初の桁より後ろの桁数を表します。1e6は100万、1e12は1兆です。

よく使われる3つの表記

値英語の略号アルファベット指数表記
1,0001K1Kまたは1a1e3
1,000,0001M1Mまたは1b1e6
1,000,000,0001B1Bまたは1c1e9
10^121T1Tまたは1d1e12
10^151Qa(1000兆)1aa1e15
10^181Qi(100京)1ab1e18
10^331Dc(10溝)1ag1e33

ゲームごとに表記は違うのでややこしいですが、ルールさえ知れば簡単に読めます。1段ごとに前の千倍です。

私たちのゲームの実例

同じスタジオのゲームでも表記は違います。『Idle AI Factory』では、K、M、B、Tのあと2文字のグループが始まり、aaが10^15、abが10^18、acが10^21……と120個の接尾辞が続きます。『Idle Ronin』ではすぐにアルファベットが始まり、1aが千、1bが100万、1cが10億、そのままzまで進んだあと、aa、bb、ccと続きます。表には1,743個の接尾辞があり、万一最後を超えると「A Lot!」と表示されます。『Idle Ronin』は設定で指数表記に切り替えることもでき、古参プレイヤーの多くはそちらを好みます。

数字が爆発的に増える理由

放置ゲームのコストや報酬は、1段階ごとに一定の割合で増えます。つまり指数関数的です。『Idle Ronin』では、序盤の敵のHPはステージごとに55〜57%増えます。140ステージ進むと、この積み重ねは約10^28、つまり29桁の数になります。曲線はガイド放置ゲームの成長の仕組みで見られます。

『Idle Ronin』のステージごとの敵HP(桁数)
『Idle Ronin』のステージごとの敵HP(桁数)

1e308が魔法の数字である理由

ほとんどのゲームは、数値をdoubleと呼ばれる64ビット浮動小数点数で保存します。doubleが保持できる最大の数は約1.8 x 10^308で、それを超えるとコンピューターは無限大を返します。この限界はインクリメンタルゲームのファンの間でとても有名で、『Antimatter Dimensions』はこれをゲームの一部にしました。約1.8e308のInfinity(無限)に到達することが、最初の大きな目標です。

より小さい32ビットのfloatは、もっと早く約3.4 x 10^38で限界を迎えます。私たちが身をもって知ったように、これは重要です。

私たちのバグ:敵のHPが無限大になったとき

『Idle Ronin』は古い放置ゲームから生まれました。そのコードでは、敵のHPを32ビットのfloatで計算していました。ステージ140を過ぎると敵のHPは10^28に近づき、ステージ316あたりからfloatがあふれて無限大になっていました。その先のステージではHPのまったくない敵が出るようになり、ステージ1000前後では計算結果がNaN(not a number、「数ではない」)になって、進行が完全に止まっていました。

解決策は、曲線全体をdoubleで計算し、ステージ1000を超える部分はゲーム独自の大きな数の型に任せることでした。この型は通常の数に加えて、追加のゼロの数を別のカウンターで持つので、doubleの限界をはるかに超えられます。ゲームに1,743個もの接尾辞の表があるのはそのためです。

無限大の先の数をゲームはどう扱うか

ブラウザのインクリメンタルゲームも同じ壁にぶつかり、コミュニティはそのためのツールを作りました。最も有名なのはPatashuによるbreak_infinity.jsで、『Antimatter Dimensions』の作者と、このゲームの実行に苦労した「all the CPUs that struggled to run」に捧げられています。桁と指数を2つの別々の数として保存し、約10^(9 x 10^15)まで扱えます。後継のbreak_eternity.jsはさらに先まで扱え、その限界を表すにはべき乗の塔が必要なほどです。

その代わりに失われるのが精度です。数がここまで大きくなると、ゲームが保持するのは最初の15桁ほどだけ。でも誰も気づきません。収入が1.52e1204に達したら、最初の数桁より後ろはもう関係ないからです。

大きな数をすばやく読むコツ

  • 桁ではなくアルファベットを数える。1段(KからM、aaからab)ごとに1,000倍です。
  • 指数表記では指数を比べる。3e45は3e42の千倍です。
  • ゲームで切り替えられるなら表記を変える。名前のある数を超えたら、指数表記のほうが比べやすくなります。
  • 倍率で考える。x2のアップグレードは指数に0.3を足し、x10は1を足します。

よくある質問

放置ゲームでTの次は何?

Qa(quadrillion、1000兆)、Qi(quintillion、100京)、そしてsextillion、septillionと続きます。アルファベット表記ならaa、ab、acです。1段ごとに前の1,000倍です。

放置ゲームのeは何の意味?

指数表記です。1e6は1のあとに0が6個、つまり100万です。2.5e20は2.5のあとに20桁続くという意味です。

放置ゲームのaaは何の意味?

アルファベットを使うほとんどのゲームでは、aaはTの次の段、つまり10^15です。『Idle Ronin』のように早い段階からアルファベットを使うゲームもあるので、そのゲームの単位を確認しましょう。

放置ゲームはなぜ1e308で止まるの?

標準的な64ビットの数ではそれ以上を表せないからです。その先まで進むゲームは、独自の数値型を使っています。

出典

  • ONI Gamesのゲームコード:『Idle Ronin』(double_evrac.cs、PlayerDatabase.CalculateEnemyHP)、『Idle AI Factory』(NiceCurrencyFormat.cs)、2026年9月。
  • break_infinity.js、break_eternity.js、Patashu、GitHub。

ほかのガイド

すべてのガイド

◆ ONI Games のほかのゲーム

ほかのゲーム

スワイプしてもっと見る

ONI Snakes: Armored Arena
配信中 · Google Play

ONI Snakes: Armored Arena

ライバルスネークの装甲を撃ち落とし、巨大化してネオンのアリーナを制覇。11種類のモードで、オンライン対戦もフレンド対戦も楽しめます。

詳しく見る →
Idle Ronin: Cyber RPG
配信中 · Google Play

Idle Ronin: Cyber RPG

最後のサイバー・ロニンとなり、ネオンに輝く未来へ。押し寄せるメックを斬り、サイボーグ軍団を編成して、ネオンタワーを登ろう。オフラインの間も、その刃は止まらない。

詳しく見る →
Idle Summoner: Pixel RPG
配信中 · Google Play

Idle Summoner: Pixel RPG

魔獣の軍勢を召喚し、冥界の城に攻め込もう。成長が鈍るたびに転生して、さらに強くなれる。

詳しく見る →
Block Brain: Block Puzzle Game
配信中 · Google Play

Block Brain: Block Puzzle Game

カラフルなブロックを置いて列を消し、コンボをつなげよう。相棒の「ブレイン」が、小さな「わかば」から王冠をかぶった「天才」へと育っていく。

詳しく見る →
Idle AI Factory: Robot Tycoon
配信中 · Google Play

Idle AI Factory: Robot Tycoon

陽気なロボットたちが働く工場を経営し、すべての生産ラインを自動化。小さな AI ラボから月面基地まで発展させよう。

詳しく見る →
Idle Restaurant: Miami
配信中 · Google Play

Idle Restaurant: Miami

ビーチの小さなピザ屋を、マイアミのネオン輝くレストラン帝国へ。マネージャーを雇い、本物のレシピを20品集めて、オフラインでも稼ごう。

詳しく見る →