Войти
ФлеймФорумПрограммирование

Russian AI Cup 2018: CodeBall 3D (7 стр)

Advanced: Тема повышенной сложности или важная.

Страницы: 13 4 5 6 7 8 Следующая »
#90
(Правка: 23:11) 23:10, 16 янв. 2019

}:+()___ [Smile]
А к чему вообще можно применить нитро? Он не позволяет разогнаться быстрее чем без него и прыгнуть выше тоже.

> надо учитывать два микротика прилипания с абсолютно кривой формулой для
> изменения скорости за это время.
Разве два микротика какое то значение имеют?


#91
23:38, 16 янв. 2019

PlayerDark
> Он не позволяет разогнаться быстрее чем без него и прыгнуть выше тоже.
Он позволяет и то и то.

> Разве два микротика какое то значение имеют?
Кому как.

#92
1:10, 17 янв. 2019

}:+()___ [Smile]
> Кому как.
На самом деле, мне реально интересно, есть ли какая-то ощутимая разница от двух микротиков. Здесь ведь даже при ударе по мячу применяется достаточно сильный рандом, и предсказать тракторию с точностью до флоата принципиально невозможно. И допустим, если разница все таки есть, то к каким отличиям может привести.

#93
10:21, 17 янв. 2019

PlayerDark
> И допустим, если разница все таки есть, то к каким отличиям может привести.
Вот именно для того, чтобы не тратить время на решение этого вопроса, и нужно точное моделирование.

#94
19:23, 17 янв. 2019

У меня вот например вообще не получается сделать точное перемещение из точки в точку, так как все команды высчитываются в тиках, и из за округления до интов теряется точность.

#95
(Правка: 23:51) 23:47, 17 янв. 2019

Похоже этот раик не для меня, вообще не понимаю как в него играть. Обычно все просто, пишешь перебор движения в разные стороны, и потом играешься с функцией оценки позиции. А тут такое не подходит, тут похоже думать надо. Точнее как, смайл в самом первом раике показал как надо играть, а именно перебирать движение вперед/назад, вправо/лево, и смотреть на результат, типа какой урон получен. И я этим пользовался все эти годы. А тут это не сработает, да и оценку позиции непонятно как считать.

#96
23:50, 17 янв. 2019

ud1
Так ты же почти в топе?

#97
(Правка: 23:53) 23:53, 17 янв. 2019

В топе только потому, что людей мало участвует. А так отрыв 600 очков от первого места и отсутствие идей как применять нитро и играть в три игрока топом не назовешь.

#98
17:45, 18 янв. 2019

мне кажется тут бы подошла нейросеть, либо предсказывающая следующее действие, либо оценивающая позицию

#99
(Правка: 22:54) 22:54, 19 янв. 2019

Для поворота робота пытаюсь делать slerp вектора скорости из одного положения в другое. Это в общем работает, но похоже из за того, что у тика достаточно большая дельта, постепенно накапливается ошибка, и поворот происходит не точно по сфере. В результате бот выходит на точку с достаточно большой погрешностью.

#100
17:47, 21 янв. 2019

Смайл, не подскажешь, как это вообще правильно делается?

#101
19:02, 21 янв. 2019

PlayerDark
> Смайл, не подскажешь, как это вообще правильно делается?
Что конкретно? Выход на нужную точку? Или поворот вектора скорости?

В общем, для всего этого помогает работа в пространстве скоростей.
Надо полностью забыть про координаты и работать только со скоростями.

Движение с постоянной скоростью — это одна точка.
Движение с максимальным ускорением один тик — отрезок фиксированной длины.
Надо из этих отрезков и точек собрать траекторию с центром масс в нужном месте.

Вообще, я уже подумываю уйти от максимального ускорения и написать обобщенную решалку.

#102
(Правка: 22 янв. 2019, 12:43) 23:24, 21 янв. 2019


upd:
похоже codeball2018.exe на каждом кадре создаёт/уничтожает поток o_O

upd2:

upd3:


#103
(Правка: 22 янв. 2019, 9:04) 23:27, 21 янв. 2019

}:+()___ [Smile]
> Или поворот вектора скорости?
В большей степени именно это.

#104
11:54, 22 янв. 2019

PlayerDark
> В большей степени именно это.
Я этого у себя не делал, но схема та же: шагаешь отрезком максимального ускорения по дуге окружности.
Проблема только с переходами на границах дуги. Ну и выдержать нужную среднюю скорость будет сложно.

Страницы: 13 4 5 6 7 8 Следующая »
ФлеймФорумПрограммирование