
Гайды / Idle-игры
Почему в idle-играх огромные числа: K, M, aa и e308
Что значат K, M, B, T, aa и 1.5e45 в idle-играх, почему числа взрываются, почему 1e308 - магический предел и как код работает с числами больше, чем может вместить компьютер, плюс история нашего собственного бага.
В idle-играх огромные числа, потому что всё в них растёт экспоненциально: каждое улучшение умножает доход, так что через несколько часов счёт идёт на миллионы, а через несколько недель уходит за пределы всего, у чего есть название. Чтобы числа оставались читаемыми, игры их сокращают: K - тысяча, M - миллион, B - миллиард (billion по-английски), T - триллион, дальше буквы вроде aa, ab, ac или научная запись вроде 1.5e45, то есть 1,5, за которым идут ещё 45 цифр.
Шпаргалка: K = 10^3, M = 10^6, B = 10^9, T = 10^12, дальше каждый шаг букв в 1 000 раз больше. В научной записи число после e показывает, сколько цифр идёт после первой: 1e6 - это миллион, 1e12 - триллион.
Три распространённые записи
| Значение | Английское сокращение | Буквы | Научная запись |
|---|---|---|---|
| 1 000 | 1K | 1K или 1a | 1e3 |
| 1 000 000 | 1M | 1M или 1b | 1e6 |
| 1 000 000 000 | 1B | 1B или 1c | 1e9 |
| 10^12 | 1T | 1T или 1d | 1e12 |
| 10^15 | 1Qa (квадриллион) | 1aa | 1e15 |
| 10^18 | 1Qi (квинтиллион) | 1ab | 1e18 |
| 10^33 | 1Dc (дециллион) | 1ag | 1e33 |
Каждая игра выбирает свою систему, и это сбивает с толку, но расшифровать её легко, если знать правило: каждый шаг в тысячу раз больше предыдущего.
Реальные примеры из наших игр
Даже две игры одной студии могут отличаться. В Idle AI Factory числа идут K, M, B, T, а затем начинаются пары букв: aa для 10^15, ab для 10^18, ac для 10^21 и так далее, всего 120 суффиксов. В Idle Ronin буквы начинаются сразу: 1a - тысяча, 1b - миллион, 1c - миллиард, и так до z, а дальше aa, bb, cc. В таблице 1 743 суффикса, и если когда-нибудь выйти за последний, игра покажет «A Lot!». Ещё Idle Ronin позволяет переключиться на научную запись в настройках, и многие опытные игроки так и делают.
Почему числа взрываются
Цены и награды в idle-играх растут на определённый процент с каждым шагом, то есть экспоненциально. В Idle Ronin здоровье врагов в начале растёт на 55–57 % за этап. После 140 этапов этот накопленный эффект достигает примерно 10^28, числа из 29 цифр. Наш гид как устроен прогресс в idle-играх показывает кривые.

Почему 1e308 - магическое число
Большинство игр хранят числа в 64-битном формате с плавающей точкой, который называют double. Самое большое число, которое помещается в double, - около 1,8 x 10^308. Дальше компьютер возвращает бесконечность. Этот предел так известен среди любителей инкрементальных игр, что Antimatter Dimensions сделала его частью игры: дойти до Бесконечности, примерно 1.8e308, - её первая большая цель.
Более компактный формат, 32-битный float, заканчивается гораздо раньше, примерно на 3,4 x 10^38. Это важно, в чём мы убедились на собственном опыте.
Наш баг: когда здоровье врага стало бесконечным
Idle Ronin вырос из более старой idle-игры, и в том коде здоровье врагов считалось во float 32 бита. После этапа 140 здоровье врагов поднимается к 10^28, а примерно с этапа 316 float переполнялся до бесконечности. На следующих этапах у врагов вообще не оставалось здоровья, а примерно к этапу 1000 расчёт выдавал NaN (not a number, «не число»), который полностью останавливал прогресс.
Решение было таким: считать всю кривую в double, а всё, что после этапа 1000, передавать собственному типу больших чисел игры. Он хранит обычное число плюс отдельный счётчик дополнительных нулей, поэтому может уходить далеко за предел double. Поэтому же в игре есть таблица из 1 743 суффиксов.
Как игры работают с числами за бесконечностью
Браузерные инкрементальные игры упёрлись в ту же стену, и их сообщество создало для этого инструменты. Самый известный - break_infinity.js от Patashu, посвящённый создателю Antimatter Dimensions и «all the CPUs that struggled to run» эту игру. Он хранит цифры и показатель степени как два отдельных числа и доходит примерно до 10^(9 x 10^15). Его преемник, break_eternity.js, заходит так далеко, что для описания его предела нужна башня степеней.
Цена за это - точность. Когда числа становятся такими большими, игра хранит лишь примерно первые 15 цифр. Никто этого не замечает: когда доход доходит до 1.52e1204, цифры после первых уже ничего не решают.
Как быстро читать большие числа
- Считай буквы, а не цифры. Каждый шаг (с K на M, с aa на ab) в 1 000 раз больше.
- В научной записи сравнивай показатели. 3e45 в тысячу раз больше, чем 3e42.
- Переключи запись, если игра позволяет. Научную запись проще сравнивать, когда числа уходят дальше тех, у которых есть названия.
- Думай множителями. Улучшение x2 прибавляет к показателю 0,3, а x10 - 1.
Частые вопросы
Что идёт после T в idle-играх?
Qa - квадриллион, Qi - квинтиллион, затем секстиллион, септиллион и так далее, или в буквенной записи aa, ab, ac. Каждый шаг в 1 000 раз больше предыдущего.
Что значит e в idle-играх?
Это научная запись: 1e6 означает 1 и 6 нулей, то есть миллион. 2.5e20 означает 2,5, за которым идут 20 цифр.
Что значит aa в idle-играх?
В большинстве игр с буквами aa - первый шаг после T, то есть 10^15. Некоторые игры, например Idle Ronin, начинают буквы раньше, так что проверь шкалу своей игры.
Почему idle-игры останавливаются на 1e308?
Потому что стандартное 64-битное число не может быть больше. Игры, которые идут дальше, используют собственные типы чисел.
Источники
- Код игр ONI Games: Idle Ronin (double_evrac.cs, PlayerDatabase.CalculateEnemyHP) и Idle AI Factory (NiceCurrencyFormat.cs), сентябрь 2026 года.
- break_infinity.js и break_eternity.js, Patashu, GitHub.








