ИИ считать не умеет

Ищем, что поломалось, и чиним
Ответить
Темный Лорд
Сообщения: 3524
Зарегистрирован: 15 дек 2014, 09:40
Имя героя: Темный Лорд

ИИ считать не умеет

Сообщение Темный Лорд » 30 авг 2026, 20:51

Повышение контактного урона:

Цена: 5, сумма: 0
Цена: 7, сумма: 5 \ 0+5=5 True
Цена: 8, сумма: 12 \ 5+7=12 True
Цена: 10, сумма: 20 \ 12+8=20 True
Цена: 13, сумма: 29 \ 20+10=29 False
Цена: 16, сумма: 42 \ 29+13=42 True
Цена: 20, сумма: 57 \ 42+16=57 False
Цена: 24, сумма: 76 \ 57+20=76 False


впечатление что прогнозируемая "Цена" учитывает формулу с округлением вверх, а последующий фактический подсчет который отображает "сумма" идет по формуле с округлением вниз, отсюда несоответствие

неважно куда, вверх или вниз, сделать бы одинаковые формулы для вычисления цены и суммы

Аватара пользователя
phdoc
Администратор
Сообщения: 29268
Зарегистрирован: 29 май 2010, 16:43

Re: ИИ считать не умеет

Сообщение phdoc » 30 авг 2026, 23:33

Это потому, что на самом деле там цены:
5
6.25
7.8125
9.765625
12.20703125
15.258789625

Ибо конкретный элемент геометрической прогрессии вычисляется по стандартной формуле:
basePrice * Math.pow(coefficient, points)
А сумма ряда элементов геометрической прогрессии вычисляется по другой стандартной формуле:
(basePrice * (Math.pow(coefficient, points) - 1)) / (coefficient - 1)

В каждом случае значение округляется вверх, поэтому сумма по формуле может быть меньше суммы ранее округлённых элементов.

Чуть подробней, пожалуйста про ситуацию
Темный Лорд писал(а):
30 авг 2026, 19:52
если снять один пункт, обратно его уже вернуть не получается, пишут недостаточно очков, хотя только что очков было достаточно
Делитесь и перемножайтесь

Темный Лорд
Сообщения: 3524
Зарегистрирован: 15 дек 2014, 09:40
Имя героя: Темный Лорд

Re: ИИ считать не умеет

Сообщение Темный Лорд » 31 авг 2026, 02:40

первая формула высчитывает и получает цифру 10
вторая формула высчитывает и получает цифру 9
раз обе формулы округляют вверх, тогда они разные цифры выходит считают

что высчитывает первая формула, она говорит игроку сколько надо потратить очков
что высчитывает вторая формула, она тратит эти очки
первая говорит надо потратить 10
вторая говорит пошла ты нафик, я потрачу 9
но если у игрока нету 10 очков, его не допустят ко второй формуле




возьмите ровно 29 очков и пробуйте взять на них 4 контактного урона, но не сразу все 4, а по одному, взяли 1, нажали галочку, взяли 2, нажали галочку, взяли 3, нажали галочку, 4 взять не получится

причина в этом:
Цена: 10, сумма: 20
Цена: 13, сумма: 29
после того как возьмете 3 пункта контакт, останется 9 свободных очков, а цена требует 10

Аватара пользователя
phdoc
Администратор
Сообщения: 29268
Зарегистрирован: 29 май 2010, 16:43

Re: ИИ считать не умеет

Сообщение phdoc » 31 авг 2026, 17:01

Темный Лорд писал(а):
31 авг 2026, 02:40
возьмите ровно 29 очков и пробуйте взять на них 4 контактного урона, но не сразу все 4, а по одному, взяли 1, нажали галочку, взяли 2, нажали галочку, взяли 3, нажали галочку, 4 взять не получится
Догадываюсь за причины, проверю. Пока можно брать навыки "пачками".


Так же замечу, что сейчас покупка умения "пачкой" позволяет получить значение бОольшее, чем реально положено.
Делитесь и перемножайтесь

Аватара пользователя
phdoc
Администратор
Сообщения: 29268
Зарегистрирован: 29 май 2010, 16:43

Re: ИИ считать не умеет

Сообщение phdoc » Вчера, 17:56

Собственно, подозрения подтвердились: всё это время у нас очки Умений (из-за использования стандартных формул для геометрической прогрессии вместо честного суммирования) расходовались в количестве меньшем, чем положено. Например, для Контактного урона вместо цен:
1. Цена: 5
2. Цена: 7
3. Цена: 8
4. Цена: 10
5. Цена: 13
6. Цена: 16
7. Цена: 20
8. Цена: 24
должно было быть:
1. 5
2. 7
3. 9
4. 12
5. 15
6. 19
7. 24
8. 30

Аналогично и в случае найма юнитов, но там погрешность кардинально меньше - единицы очков Харизматичности.

Теперь есть два варианта: а) не очень правильный - оставить всё как есть и б) правильный, но печальный - сделать всё как должно быть.
Я - за второй.
Делитесь и перемножайтесь

Темный Лорд
Сообщения: 3524
Зарегистрирован: 15 дек 2014, 09:40
Имя героя: Темный Лорд

Re: ИИ считать не умеет

Сообщение Темный Лорд » Сегодня, 01:04

phdoc писал(а):
Вчера, 17:56
должно было быть:
1. 5
2. 7
3. 9
4. 12
5. 15
6. 19
7. 24
8. 30
...
Теперь есть два варианта: а) не очень правильный - оставить всё как есть и б) правильный, но печальный - сделать всё как должно быть.
Я - за второй.
"должно"?)
мы же можем сделать как заходим, как оно сейчас разве слишком сильно выглядит?



Замечательно что нашлась неточность которую не искали, но как на счет вопроса по теме, неудобство при наборе очков пропадет если прогрессия изменится или так же останется?
Неудобство ведь не только в том, чтобы набирать очки сразу все или по одному, главное неудобство когда ты снимаешь один пункт, а вернуть обратно не можешь без танцев с бубном.
phdoc писал(а):
31 авг 2026, 17:01
Так же замечу, что сейчас покупка умения "пачкой" позволяет получить значение бОольшее, чем реально положено.
ага, ровно на одну единицу больше и то не всегда
речь же тут не идет про суммарную выгоду за все пункты

Темный Лорд
Сообщения: 3524
Зарегистрирован: 15 дек 2014, 09:40
Имя героя: Темный Лорд

Re: ИИ считать не умеет

Сообщение Темный Лорд » Сегодня, 04:00

Темный Лорд писал(а):
Сегодня, 01:04
phdoc писал(а):
31 авг 2026, 17:01
Так же замечу, что сейчас покупка умения "пачкой" позволяет получить значение бОольшее, чем реально положено.
ага, ровно на одну единицу больше и то не всегда
речь же тут не идет про суммарную выгоду за все пункты
тут я глупость сморозил, я имел в виду разница между "цена" и "сумма" иногда бывает одна единица, но это не экономит очки умений
а Док вообще про что-то другое видимо писал, может сравнивал с ценами которые задумывались, то как сейчас и как "должно быть"

Ответить