Побегав ботом некоторое время по метро, меня начала мучать мысля "пипец как я палюсь!"
До вчера я "свято верил" в возможность реализации ряда моих "хотелок", которые помогли бы мне сделать игру Комботсом максимально похожей на игру руками. Такие планы были как для в общих черт поведения перса (количество походов в метро; периоды онлайна), так и в мелочах (выполнение двух перемещений в метро за одно обновление окна IE; сложные комбинации по последовательности применения приёмов).
Все мы знаем, что () - () рук ().
короче говоря!
Есть идея заменить класический линейный маршрут (когда чар каждый раз проходит одни и те же одинаковым количеством запросов на сервер БК) путешествием по метро с использованием разных маршрутов (скажем, проход 3 этажа грибницы по часовой стрелке или против) и/или разных способов (двигаемся по метро не "атаковать мобов - идти m1", о спиной/боком/спиралькой).
Например, в простейшем случае это может быть реализовано наличием нескольких фалов-маршрутов для прохождения 2 этажа ПТП:
1) делим () однофайловый маршрут по этажам (например, ()).
2) загрузку маршрута вместо
e268fb4940f0327edef0e26f1a235da0 : external.DungeonLoadPath("Бездна - 2 этаж");
делаем как
e268fb4940f0327edef0e26f1a235da0 : if (11*Math.floor(Math.random()) < 5) external.DungeonLoadPath("Бездна - 2 этаж ver.A"); else external.DungeonLoadPath("Бездна - 2 этаж ver.B");
3) наслаждаемся...
Для придания этому более случайного вида:
1) каждый этаж разбивается на точки;
2) пишется набор маршрутов для прохождения частей этажа (от точки к точке несколькими способами).
3) собираем маршрут при помощи external.DungeonLoadPath...
Ещё развиваем:
Создание некоторых случайных участков подчиняем рационализму:
1) с 1й клетки на первом этаже ПТП большинство делают "шаг вперёд" (а не "два поворота вправо+шаг спиной назад");
2) в катах идя верхом делать два круга по центру второго этажа (вокруг статуй) не обязательно;
...
Добавляем маловероятные ошибки (или привязываем их появление к ночному времени, когда человек вероятнее всего играет уставшим):
if (101*Math.floor(Math.random()) < 5) external.DungeonLoadPath(случайный шаг вперёд - прыжок в портал на 4м этаже ПТП для того, что б пройти один из коридоров ещё раз)...
Один я курю траву по пятницам? Делитесь, пожалуйста, соображениями о вышеизложенном