Актуальные вопросы.
1) vampire survivors: По какому принципу появляются враги и по какой логике ищут путь ?
Закрытые вопросы.
рез
рез
рез
В vampire survivors заранее задано время появления каждой волны (и количество врагов), в текстовом формате и можно просто открыть файл и посмотреть.
Двигаются по прямой к игроку, появляются вокруг игрока, на широком экране эти появления даже видно.
Из-за того, что Герой быстро умирает, сложно тестировать.
Storm54
> В vampire survivors заранее задано время появления каждой волны
Волна это что в этой игре ? Первая минута - это одна волна ? или в ней несколько волн (когда только летучии мыши появляются) ?
На экране будет появляться больше врагов, чем определённого количество ? т.е. там какой цикл и условие ? Например: каждые десять секунд появляется от 3 до 5 врагов. Или если на экране больше 20, то новые враги не будет появляться (с прогрессом это значение увеличивается) ?.
... тут на самом деле много вопросов.
> Двигаются по прямой к игроку
Это понятно. Но не очень понятно их поведение относительно друг друга.
Они движутся очень плавно и самое главное - они не пытаются агрессивно конкурировать друг с другом при поиске пути. Там по любому какие-то ограничения установлены на их движение и поиск.
> появляются вокруг игрока,
А вот как именно, не очень понятно.
Я как пробовал:
1) По прямоугольнику. То враги выходят одновременно, и это некрасиво смотрится.
2) По радиусу. Тогда они появляются на экране в разное время.

> в текстовом формате и можно просто открыть файл и посмотреть.
Я не знаю как. И я в версию в браузере играю.
711
Там все спавны по таймеру. И у тебя в демонстрации камера слишком близко к герою поэтому и появляется в разное время
711
> Они движутся очень плавно и самое главное - они не пытаются агрессивно конкурировать друг с другом при поиске пути. Там по любому какие-то ограничения установлены на их движение и поиск.
Надо переиграть, кстати. Поглядеть, как там сделано. Когда играл, особо не следил - мясо и мясо набегает. Подозреваю, что там движение юнитов реализовано не в тупую через какую-то "процесс" функцию, которая каждый кадр чекает, а через микротаймеры. И возможно с интерполяцией по смещению, а не про прямому вектору к игроку.
Ну и возможно они просто утыкаются в колижен впереди идющего юнита, чуть меньший, чем сам юнит. Тогда они так кучкой и поползут поидее.
711
> они не пытаются агрессивно конкурировать друг с другом при поиске пути
Алгоритмов поиска пути для группы целая куча, ты хоть бы загуглил. Например, Суурбалле.
посмотрел видео vampire survivor, по моему там юниты просто всё время смещаются на доступную единицу скорости в сторону пользователя с небольшим collision что бы не слипались Если отсортировать их список по близости к пользователю то можно избежать глитчей связанных с проверкой баундов.
elcar
> ты хоть бы загуглил
За наводочку спасибо. Но я думаю, и так понятно, что алгоритмов бесчисленное множество.
Меня больше интересует не то, какая математическая формула была использована, а то, на что она была нацелена. На какие конкретно свойства и с какой силой.
Тут дело больше в визуале, в ритме, в последовательностях геймплея. И как потом этот внешний вид и поведение игры будут восприниматься игроком.
Поведение врагов - это целая наука. Но в этой теме больше не математика, а то как это должно “выглядеть” и за счёт чего. И только уже потом то, как этого добиться математикой.
Понятно дело, что без математики никуда, и мы здесь будем по-любому её обсуждать. И очень много.
п.с.
Не будем забывать, что 70% восприятия у людей на подсознательном уровне. Игрок, играя в игру, может получать ощущения, но совершенно не понимать от чего именно. А мы, геймдизайнеры, должны прекрасно это понимать и уметь контролировать.
711
В Вампирах все работает на ощущении, что ты вот-вот помрешь, но у тебя есть шанс вывезти. Казиныч, короче. В какой-то момент Вампиры тебе дают ощущение непобедимости минут на 5, но потом тебя опять накрывает.
PeeKay
> по моему там юниты просто всё время смещаются
Я сейчас ещё раз посмотрел и может быть я просто себе немного накручиваю. И всё дело только в том, что сама игра очень, очень медленная. Визуальные эффекты (атаки) супер быстрые, а сама то игра супер медленная.
Я прям наверное этот вариант и опробую на практике.
Seneca
> что ты вот-вот помрешь, но у тебя есть шанс
Согласен. Надо будет сейчас на эту тему немного голову поломать.
711
> Волна это что в этой игре ? Первая минута - это одна волна ? или в ней несколько волн (когда только летучии мыши появляются) ?
> На экране будет появляться больше врагов, чем определённого количество ? т.е. там какой цикл и условие ? Например: каждые десять секунд появляется от 3 до 5 врагов. Или если на экране больше 20, то новые враги не будет появляться (с прогрессом это значение увеличивается) ?.
> ... тут на самом деле много вопросов.
Там просто заданы параметры, условно говоря, в виде таблицы:
Время, Юнит, Количество
0:30, Скелет, 20
0:40, Оборотень, 25
711
> Это понятно. Но не очень понятно их поведение относительно друг друга.
> Они движутся очень плавно и самое главное - они не пытаются агрессивно конкурировать друг с другом при поиске пути. Там по любому какие-то ограничения установлены на их движение и поиск.
Согласен, даже не обратил внимания во время игры.
Алгоритм там примитивный:
Каждый юнит отталкивает соседнего в направлении от себя, если они пересекаются.