Shleps писал(а):с более-менее нормальным числом игроков. понял, что играл в основном сам с собой.
Вот
![Evil or Very Mad :evil:](./images/smilies/icon_evil.gif)
Они такие
По мотивам сходного рукалицо опыта, я дополнил диздок:
Боты как палка, чтобы заставить игроков осознать полный потенциал игрыИгра-вдохновитель страдала от некорректного описания в Стиме, отсутствия внятного мануала и неспособности большинства игроков осознать, в чём суть игры и как играть весело, используя все её возможности.
Самый большой провал игроков - не использовать возможности строительства, играя, как в обычный шутер со статическими картами, и не использовать возможности разрушения.
Наилучший выход, который я вижу - дополнять команды ботами до минимального числа 8 vs 8 и научить ботов использовать строительство и разрушение - криво, тупо и неэффективно, но достаточно, чтобы надрать задницу неопытному игроку, а главное - наглядно показать «а что, так можно было?».
Бот по любому должен обладать нетривиальными алгоритмами чтобы ориентироваться в том месиве, в какое способны превратить карту игроки.
Тупой комок рефлексовСам по себе бот способен лишь на растительное существование в двух режимах: бесцельно бродить и сражаться на рефлексах.
Бесцельно бродить - выбирает случайную путевую точку в радиусе 15 в конусе 120 градусов от предыдущего пути, ищет путь до неё. Три попытки, кулдаун четыре секунды. Если путь не найден - медленно ходит, обходя препятствия по правилу правой или левой руки. Если путь найден - бежит к той точке спринтом.
Сражаться на рефлексах - если не сражается, в случайные моменты времени проверяет видимость и достреливаемость случайно выбранной противницы, с вероятностью, пропорциональной запасу маны. Только базовое оружие, исключая специализированные средства разрушения карты (проруха, ядрён-тотем, осадный фаербол использованы не будут). При попадании агрится на атакующую. Правило случайного брожения при этом сохраняется, только стрейфится лицом к противнице и путевая точка выбирается та, где стоит противница (если внутри радиуса 15) или та, откуда та видна / не видна (в зависимости от преимущества оружий от дальности). При наличии летящих снарядов с переднего конуса 120 градусов - дополнительно стрейфится, пытаясь уклониться.
Сверхразум рояОсмысленные действия ботов заставляет совершать ИИ «Сверхразум», который один на обе команды и думает за каждую команду по очереди, и только за одного бота за раз. Причём, крутится он только в базовом слое реальности, чтобы не нагружать лагокомпенсацию, и команды ботам доходят с задержкой на лагокомпенсацию (секунда или меньше).
Приближённо, максимум 16 ботов думают с периодом в две секунды = 8 мыслей в секунду.
Сверхразум не имеет тумана войны, но даёт команды ботам делать что-то только в пределах их видимости (исключение - заход противнику в тыл). Ведает поиском пути дальше 15 блоков и обновлениями навигационного графа.
Голимое читерство: карта строится от обратного, определяются «стратегические высоты» и пути подхода, уже под них генерируется местность. Генератор подставляет скалы, перешейки, плавные подъёмы или мосты и лестницы из префабов согласно заранее утверждённому навигационному графу. Точно так же любые подкопы и тоннели, просверливаемые ботами, осуществляются по путям, проложенным до генерации карты, а генератор строит рельеф вокруг этого. Подкопы могут даже иметь мосты через ущелья - но всё это заранее срежиссировано, никакого разума за этими действиями не стоит. Точно то же самое с воздушными мостами для кемперства.
Цепочки феромонов: Сверхразум никаким разумом не обладает (на Rasperry Pi 2 -то, ога). Что игрок, что боты, успешно фрагнув кого-то оставляют там невидимый маркер, держащийся 4 минуты, а фрагнутый оставляет маркер «плохое место, меня тут фрагнули» - и эти маркеры связаны друг с другом. Самим ботам в автономном режиме эти маркеры глубоко до лампочки, но сверхразум по ним вычисляет приоритеты мест для кемпинга, учитывает гиблые места при поиске пути и принимает решения сносить структуры.
При перемещении все - и игроки и боты - тоже оставляют цепочки «хлебных крошек», держащиеся 4 минуты. Сверхразум использует среднюю концентрацию для оценки пригодности мест кемпинга и засад.
Осмысленная деятельностьСверхразум может давать ботам команды на конкретные виды деятельности.
1. Строить лестницу через препятствие:
Каждый игрок способен быстро построить лестницу, протянув линию из блоков (подошёл к обрыву, начал линию так высоко, как только дотягивается, отошёл назад, держа лкм зажатой, выровнял до земли так, что получилась ровная, проходимая лестница, отпустил. Но игроки, скотины тупые, чаще не догадываются так делать, прут, как лемминги и дохнут как они же.
Если сверхразум определяет, наличие высоты, дающей тактическое преимущество, но не имеющей удобного пути наверх, или построенного врагами препятствия, которое сделало ранее проходимое плечо графа непроходимым - может скомандовать боту построить лестницу. Включая многоэтапные лестницы до очень высоких скал: сначала короткая, забравшись на неё - более длинная, от докуда дотянется уже с той лестницы, на один блок левее или правее, чтобы не мешала чинить первую, и так повторять, пока не дотянется до верха. По завершении - добавить вертикальные линии между низом верхней лестницы и боком нижней, чтобы вся конструкция не рухнула от разрушения всего двух блоков.
2. Чинить:
Противницы способны быстро разломать что зону спавна, что возводимые игроками или ботами строения. Сверхразум может скомандовать боту защищать и чинить заданную зону - т. е. бродить в её пределах, ставить блоки на место снесённых противницами и сносить блоки, поставленные противницами. Включая, если есть кирка, выдалбливание сильно повреждённых блоков и замену их свежими. В качестве окучиваемой зоны может быть задан спавн лечилки, если особо хитрые игроки просвертели там глубокую яму, блокируя доступ.
3. Идти на указанную точку и кемпить оттуда в указанном предпочтительном направлении:
Сверхразум периодически проверяет стратегические высоты и созданные игроками структуры на пригодность к кемпингу (хорошо просматривается область, где часто тусит противник, или много фрагов сделано оттуда) и может попытаться дать ботам, имеющим дальние атаки, команду идти туда и кемпить. Если нет пути - попытается дать команду строить лестницу.
У Сверхразума нету понятия «атаковать», он оперирует только понятием «кемпить». Если противник сливает и боты дошли до их спавна - даст команду кемпить спавн. Соответственно, бот не может преследовать конкретную противницу, только идти на позицию, где противницы (скорее всего та, с которой дерётся сейчас, окажется ближайшей выбранной) будут в эффективном радиусе оружия, и бродить-кемпить оттуда.
4. Делать подкоп:
Только по заранее утверждённым линиям, например, на вершину стратегической высоты или в тыл вражеского спавна. Команда предпочтительно отдаётся боту - крушиле, но дикарка тоже сойдёт (хотя та будет копать в 6 раз медленнее, проделывая проход в те же 3 блока шириной). Ботам не нужно уметь делать подкопы эффективно, достаточно просто уметь делать их.
5. Ломать:
Сверхразум может дать команду ломать и крушить блоки в указанной зоне. Возможные цели: вражеский спавн, вражеские сооружения, у которых высокий показатель «отсюда фрагнули», вражеские сооружения, которые являются препятствиями, перерезающими линии навигационного графа или блокирующими доступ к спавну лечилок. Команда даётся только дикарке или крушиле - это единственная ситуация, в которой боты могут применять осадный фаербол, проруху и ядрён-тотем.
6: Строить воздушный мост для кемпинга:
Только по зщаранее утверждённым линиям и только, если игроки за 4 минуты от начала матча ничего массивного не построили дальше 15 блоков от спавна. Мост будет массивным, укреплённым (т. е. строится крайне медленно, по сравнению с молниеносными эрзацами, что способны высрать игроки), и эта команда отдаётся только ботанке.
7: Устроить засаду:
Крайне примитивное поведение. Обнаружив место, по которому часто ходят противницы - причём, преимущественно в одном направлении - Сверхразум может скомандовать крушиле, куноичи или ботанке устроить там засаду. Крушила выкопает себе нычку, так, чтобы противница появилась в поле зрения на малорй дистанции спиной к ней и засядет там, ожидидая противницу, чтобы выскочить и угостить веером искр в спину. Ботанка посадит цветок-турель так, чтобы на него выскочили из-за поворота на предпочтительной дистанции, желательно - спиной к нему, и пометит себя свободной для следующей задачи. Куноичи засядет рядом с тропой под невидимостью или маскировкой под блоки.
Таким образом, тупящие игроки будут нещадно биты тупыми ботами - и либо уйдут из игры в ярости, либо в мозгах у них просветлеет.