Симулятор заточки і корейського рандому
Заточка у старих хроніках часів генератора «випадкових чисел» 2003 року: генератор видає число, і якщо воно менше за шанс, заточка успішна — ні, тримай кристали. Колесо показує, куди лягло число, а графік поруч — саму послідовність, з якої воно взяте.
Усі кроки
| Крок | Шанс успіху | Шанс провалу | Дійти з +0 | Що при провалі |
|---|
Як це працювало
Формула з Visual Studio
Під заточкою лежала звичайна функція rand() з бібліотеки Microsoft (2003–2005), якою гру й збирали:
state = state × 214013 + 2531011 roll = (state >> 16) & 32767 → 0…32767 шанс = roll ÷ 32767 × 100 → 0…100 %
Сіль — кількість тактів з моменту старту машини. Та сама сіль дає той самий ланцюжок від першого числа до останнього: «корейський рандом» написали не корейці, а розробники Windows.
Зброя мага дорожча вдвічі
Фізична і магічна зброя точаться за різними таблицями: з +3 до +14 у фізичної 70 % за спробу, у магічної — 40 %. Броня влаштована інакше: рівної полиці немає зовсім, кожен наступний плюс важчий за попередній — 66,67 %, 33,33 %, 25 %, 20 %, 16,67 % і далі вниз до 7,69 % на +14.
А на +15 у всіх трьох стається те саме: шанс ділиться навпіл. У фізичної зброї 70 % перетворюються на 35, у магічної 40 на 20, у броні 7,69 % — на 3,57 і далі до 2,78 % на +19. Вище +20 не піднімає вже ніщо: там нуль. У суцільної броні драбина зсунута на щабель (до +4 безпечно), але її половинки після +15 свої, тому це не просто зсунутий ряд броні.
Міф про рівні 66 %
«Броня точиться з шансом 66 % на кожен плюс» — найживучіше твердження про заточку, і народилося воно не в грі, а в емуляторах. У сирцях aCis (Interlude) шанс кроку рахується як 0,66поточний − 2
за налаштування EnchantChanceArmor = 0.66: 66 % на +3, 43,6 на +4, 28,7 на +5. Інші збірки йдуть ще далі й беруть одне рівне число на всі щаблі.
Але 0,66n — це не шанс кроку, це накопичувальний
шанс дійти до щабля, якщо кожен крок коштує 66 %. Тобто емулятор підставив у роль покрокового шансу криву «дійти з +0». Кумедно, що в коментарі над цим самим кодом описано правильну роздрібну драбину — «2/3 на +4, 1/3 на +5, 1/4 на +6…», рівно ту, що в таблиці вище.
Відрізнити ці дві моделі легко за колонкою «Дійти з +0»: у справжньої драбини вона падає швидше, ніж степінь двох третин, бо важчає сам крок, а не лише їхня кількість.
Один генератор на весь світ
Числа не кидаються заново під кожну дію: сервер іде однією послідовністю, і кожна подія — удар, розрахунок криту, спойл, заточка — забирає з неї наступне значення. Тому число, яке «ваше», міг витягти будь-хто: поки ви наводите мишу на сувій, чужі удари рухають чергу. На графіку це фон, який біжить сам по собі.
Звідки беруться хвилі
До попереднього значення щоразу додається одне й те саме — приблизно два з половиною мільйони, — і обрізається хвіст. Такий генератор дешевий, але нерівномірний: числа йдуть хвилями, і після кількох високих значень поспіль наступне частіше виявляється низьким. Звідси обидві відомі тактики: набити поспіль провалів (високі числа) і точити на спаді — або стежити за критами, яким, навпаки, потрібні низькі числа, і точити, поки йде смуга.
Жодна не дає гарантії: черга спільна, і «дно хвилі» дістається тому, хто натиснув першим.
Чому сьогодні так не роблять
Сучасні ігри беруть генератори, у яких передбачуваних хвиль немає зовсім: PCG, Xoshiro, а там, де на кону гроші, — криптостійкі (ChaCha20, AES-CTR) із сіллю від ентропії системи. Сусідні кидки незалежні, і «ловити хвилю» немає в чому. Перемкніть генератор угорі, щоб побачити різницю: графік перестає бути лінією і стає шумом, а тактики «набити провалів» і «спіймати спад» перестають працювати зовсім.
Гарантій це не додає: заточка і там, і там лишається одним кидком, а страховка в Lineage 2 завжди була іншою — безпечні щаблі та благословенні сувої, які не ламають річ.
Шанси взяті не на око і не з емулятора: це
script/itemenchant.txt з екстендера MyExt64, яким патчиться роздрібний l2server (Gracia Final) — там чотири групи: фізична зброя, магічна, звичайна броня і суцільна. Біжутерія йде за групою броні — намиста, сережки й каблучки точаться за її драбиною, тому й кнопка на них одна. Подієві сувої — окрема група з рівними 80 % аж до +23, тут їх немає. У датапаку l2j (High Five) та сама драбина записана без ділення навпіл після +15 — тобто емулятор на верхніх плюсах удвічі щедріший за роздріб; ми показуємо роздріб.