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

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

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

Страницы: 1 2 3 48 Следующая »
#15
(Правка: 23:31) 22:40, 18 дек. 2018

ud1
> С такой сложной формой метод dan_to_arena для каждого объекта в 100 микротиков
> будет наверно не быстро считаться.
у меня получилось что-то типа:
0.059ms за один tick()  // это в среднем за 64*1000 вызовов
или
100.79ns за один collide_with_arena() // это в среднем за 64*1000000 вызовов.

но это на старте, как там будет в углах/воротах/замесах - хз

итого: хорошо если 5 траекторий(64 tick`а) по честному за кадр(20ms) успеешь проверить.

#16
0:23, 19 дек. 2018

radius_change_speed не передают они. Вычислять что-ли придется.

#17
0:43, 19 дек. 2018

ud1
на десятой странице в доках написано что он каждый кадр перезаписывается:

robot.radius_change_speed = robot.action.jump_speed
и если я правильно понял, то походу им вообще можно управлять хоть каждый кадр.
#18
(Правка: 2:58) 2:48, 19 дек. 2018

Adler
> под win10 и i3-7100U всё норм
У меня linux, i7-6700K и Mesa 18.0.5
Но уже не актуально, я свой вьюер запилил:

+ картинка

> итого: хорошо если 5 траекторий(64 tick`а) по честному за кадр(20ms) успеешь проверить.
Я уже думаю на тему приблизительного расчета траекторий и системы управления, которая будет целиться в финальную позицию, компенсируя ошибки на каждом шаге.

> и если я правильно понял, то походу им вообще можно управлять хоть каждый кадр.
Как я понял, это что-то типа "поверхностной скорости", которая дает отскок даже от неподвижного робота.
Можно представить как вибрацию поверхности.

Кстати, еще один прикол их физики: первый микротик выполняется со старым радиусом, и только для остальных 99 он обновляется.
Пойду наваяю им issue на github, пока еще идет бета-тест, мож пофиксят.

#19
3:16, 19 дек. 2018

}:+()___ [Smile]
> Но уже не актуально, я свой вьюер запилил:
Какие-то скругления по краям. Это сумма минковского с мячом чтоль?

#20
13:27, 19 дек. 2018

MrShoor
> Какие-то скругления по краям. Это сумма минковского с мячом чтоль?
В смысле? Там у арены везде углы скругленные, я чисто по их чертежу делал.

#21
14:11, 19 дек. 2018

на 4 ядрах всё упёрлось в одно ядро:
step_by_step | Russian AI Cup 2018: CodeBall 3D

#22
19:04, 19 дек. 2018

надо сохранить где-нить, едва ли такое ещё случится :D

Изображение
#23
20:05, 19 дек. 2018

}:+()___ [Smile]
Ну ты крутой. Треугольниками закругления рисовал? Я рейтресить пытался, но надоело.

#24
(Правка: 22:50) 21:14, 19 дек. 2018

ud1
> Я рейтресить пытался, но надоело.
наверно можно в фрагментный шейдер dan_to_arena засунуть, а потом бинарным поиском искать пересечение луча со сценой.

added:
теперь можно просто экспортировать модель:

codeball2018.exe --export-arena scene.obj

#25
(Правка: 22:18) 22:16, 19 дек. 2018

}:+()___ [Smile]
> В смысле? Там у арены везде углы скругленные, я чисто по их чертежу делал.
Я думал, что не все. Сюда смотрел:

+ Показать

а это оказывается вьюер от ud1
#26
22:43, 19 дек. 2018

ud1
> Треугольниками закругления рисовал? Я рейтресить пытался, но надоело.
Ага, убил один вечер чтобы восстановить навык моделлинга и нарисовать эту шнягу.
А визуализатор с поддержкой моделек у меня уже был к этому времени.
И шарики тоже модельками рисую, кстати.

#27
(Правка: 17:02) 0:50, 22 дек. 2018

они иногда даже json без потерь скопировать не могут:
https://github.com/MailRuChamps/raic/issues/57

upd:

upd2:
пример json`а уже подчинили

upd3:
beta_forever | Russian AI Cup 2018: CodeBall 3D

upd4:
померил cpu usage у топов: почти у всех(кроме ykaland(298с) и T1024(92с)) где-то от 15 до 30 секунд на игру.

#28
(Правка: 18:51) 15:58, 23 дек. 2018

сделал очень точный симулятор...
Изображение

это на старте

upd: нашёл этот баг/опечатку.
было:

    a.v+=imp*ka;
    b.v+=imp*kb;
стало:
    a.v+=imp*ka;
    b.v-=imp*kb;
оригинал из доков:
a.velocity += impulse * k_a
b.velocity -= impulse * k_b
#29
16:24, 23 дек. 2018

Adler
Это ты круто придумал, замерять время противника. Сразу понятно, кто смог перебор написать. Tonyk сейчас очень круто играет.

Страницы: 1 2 3 48 Следующая »
ФлеймФорумПрограммирование