Поржал :)
Евгений, приходите к нам геймдизом монетизации
С бросками есть трабла, это верно... на сколько понимаю, это непростая задача для многих файтингов. У меня все еще подгорает от того, что в МК боты почти всегда бросают раньше.
Мы сделали несколько доработок, чтобы сгладить негативные ощущения:
- задержка в принятии решений (она распространяется и на броски тоже);
- сокращенная дистанция броска для бота;
- кулдауны на броски у бота.
1) На счет атак на опережение: ИИ учитывает статистику ударов игрока и предполагает какие из его собственных ударов скорее всего будут успешными и наносит их. При этом если игрок просто блокирует, то ИИ не получит какого-то преимущества, а вот если игрок будет отвечать своим типичным ударом, ИИ скорее всего прервет его атаку.
2) Градация по степени сложности: соперники в дуэлях подбираются по рейтингу. Есть игроки с высоким рейтингом и слабыми предметами — это означает, что они скилованные. Если матчмейкинг подбирает такого игрока, за него играет сложный бот, чтобы сбалансировать его просадку по предметам и передать правильный опыт — игрок сражается против скилованного соперника со слабыми шмотками.
Рандом, о котором вы говорите тоже есть в настройках ИИ: с некоторым шансом бот принимает идеальное решение — контратака по таблицам коллизии, с некоторым шансом — случайная атака, просто мы сделали несколько уровней сложности ботов, в которых меняется шанс оптимального и неоптимального решения.
3) На счет связи прокачки и ИИ: её нет, т.е. если игрок покупает новые доспехи и оружие он побеждает потому что стал сильнее бить, а не потому что бот стал тупее. Если вы это имели ввиду, конечно :)
Перед очередным примером указать, что будут спойлеры, чтобы читатель пропустил этот участок статьи.
Вероятно, упоминание про сбор статистики на игрока в статье ввело в заблуждение.
Давайте сперва определимся о каких боях идет речь. У нас есть:
- кампания (бои против противников с заданной силой);
- дуэли (бои против персонажей других игроков под контролем ботов);
Рассмотрим среднего игрока — DESTROER_228, у него 1000 рейтинга, сила 100
1. Кампания. Наш DESTROER всегда знает с кем будет сражаться. Например, застрял на боссе, за которого играет БОТ#3. Не важно выиграл или проиграл игрок, купил он предмет или нет, каждый раз игрок будет идти в бой против соперника той же силы, с тем же БОТОМ#3.
Просто если игрок меняет тактику, бот будет тоже немного менять тактику, но его сложность остается постоянной. Это значит, что DESTROER пройдет дальше только если у него вырастет скилл или сила со 100 поднимется до 120, например.
Скилл бота при этом остается прежним.
2. Дуэли. Тут заранее не знаешь кого тебе подберет матчмейкинг.
Решил наш DESTROER_228 поиграть в дуэли, чисто сундучков пофармить.
Ему подбирают противника — 1010 рейтинга, сила 80 (так получилось, были другие противники, но рандом выпал именно на этого). Это значит, что есть какой-то скилованный игрок, который со своими 80-ю единицами силы дошел до 1010 рейтинга. В этом случае, мы говорим: окей, это крутой противник, значит за него будет играть крутой БОТ#6.
Начинается бой, наш DESTROER проигрывает. Злится, идет покупает шмотку, становится 120 силы. Идет снова в дуэли, а там подбирают игрока 990 рейтинга, 120 силы. Мы говорим — это вполне стандартный игрок, может даже чуть ниже среднего, значит за него будет играть БОТ#2.
DESTROER его выигрывает на скилле.
Значит ли это, что мы подстроили что-то? Значит ли, что тут есть pay2win? Думаю нет, потому что точно также ему мог снова попасться скилованный противник и снова победить игрока.
Такие дела :)