Hardcode
ud1
Спасибо. Нашел где в CodeBlocks добавляются библиотеки.
Доктор, я написал А* для нахождения пути между вэйпойнтами, со штрафами за развороты и углы, но не научил стратегию сдавать назад при утыке в стенку или другую машину. Я нормальный?
ИМХО надо сделать чтобы web-player ресы из localstorage брал, а не качал каждый раз одно и тоже.
Намудрили они с физикой, фиг поймешь, что происходит.
Не подскажет кто-нибудь сведущий в геометрии тупому пэхэпэшнику как посчитать ширину автомобиля повернутого под заданным углом? Чтобы проходить трассу максимально прижимаясь к стенкам, но не задевая их.
И стоит ли думать над перебором тем же А* всех или почти всех возможных состояний на ближайшие N тиков для поиска идеальной траектории или это явно будет слишком медленно?
Хоть убей, не понимаю связи между A* и перебором ближайших состояний.
Я планирую примерно так: составляем список возможных действий (ехать вперед, руль прямо; ехать вперед, руль влево; тормозить и т.д., дискретный поворот руля конечно не очень выглядит, но судя по танкам и хоккею такого хватало) затем с помощью А* строим граф с точками, в которых машина окажется, даем штрафы за сближения со стенками, штрафы за низкую скорость, за столкновения с другими машинами и т.д., затем выбираем наилучший маршрут, который доставит машину как можно ближе к цели.
Tairesh
Всего на поле три препятствия (соперники), каждое можно объехать справа либо слева, всего 8 вариантов. При каждом из 8 объездов путь можно найти как угодно, все-таки не лабиринт, а достаточно линейная трасса. И зачем нужен А* не совсем понятно. То есть маршрут не через A* должен скорей всего выражаться, а через стороны объезда соперников и цели которые мы хотим взять по дороге. Для каждого маршрута можно выбрать лучшую физику для его прохождения, а потом дать оценку и выбрать лучший.
И задом конечно нужно научится ездить :)
NS_Serg моя уже на первом месте рейтинга, лол. Задом научиться ездить, это уже заявка на победу XD
Tairesh
> затем с помощью А* строим граф с точками, в которых машина окажется
A* на графе, откуда тут граф если все состояния уникальные будут. Скорее просто дерево.
Перебор на 20 тиков - миллионы состояний, рассматривать только перспективные ветки тоже не понятно как.
В общем пока только как в танках "семплы" траекторий перебирать приходит в голову.
santa324
все состояния уникальные будут
попробую сделать с округлением координат и модуля скорости до int, угловой скорости до первого-второго знака после запятой, мб получится вполне себе граф.
на пиксель влево-вправо там будут доли секунды, не думаю, что существенно.
Интересно, а можно полностью абстрагироваться от физики?
Сделать нейронную сеть и настраивать её?
Кирюшык
Каждый год кто-то хочет сделать нейронную сеть, и что-то ни одной я до сих пор в деле не видел.
Tairesh
> на пиксель влево-вправо там будут доли секунды, не думаю, что существенно
Сложно сказать, в танках пиксель вправо, пиксель влево - это попал или не попал. Тут может и не так существенно будет, а может в поворот не впишешься...
И критерий близости к цели сложно придумать в пространстве с углами и скоростями...
Кстати уже есть игры со столкновениями на перекрестках - вполне себе эффективное средство свергнуть лидера.
Опубликовали код физического движка: https://github.com/Russian-AI-Cup/notreal2d
Тема в архиве.