MailRuChamps / raic-2018

Russian AI Cup — artificial intelligence programming contest. Official website: http://russianaicup.ru
43 stars 32 forks source link

Дебаг в localrunner #14

Closed deniskolsanov closed 5 years ago

deniskolsanov commented 5 years ago

Хотелось бы возможность рисовать отрезки и сферы. А так же выводить логи, но вместе с выводом в консоль на сайте.

freeraisor commented 5 years ago

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

ViktorcArmius commented 5 years ago

а еще лучше - не отрезки, а сразу ломаные

kuviman commented 5 years ago

Еще бы неплохо было добавить возможность пошагового исполнения

Потиковое перематывание есть в обновленном раннере

kuviman commented 5 years ago

Хотелось бы возможность рисовать отрезки и сферы

Как вы представляете себе API? Не хочется плодить модели в пакетах

MyStrategy::custom_rendering() -> json_string;

Библиотеки для работы с json уже подключены. Устроил бы такой вариант?

kuviman commented 5 years ago

с выводом в консоль на сайте

stdout вашей стратегии сейчас можно видеть при клике на иконку языка на странице игры

deniskolsanov commented 5 years ago

MyStrategy::custom_rendering() -> json_string;

Думаю вполне устроит большинство участников.

stdout вашей стратегии сейчас можно видеть при клике на иконку языка на странице игры

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

mikheevnickita commented 5 years ago

Хотелось бы возможность рисовать отрезки и сферы

Как вы представляете себе API? Не хочется плодить модели в пакетах

Визуальных меток очень не хватает. Очень не хочется пилить свой визуализатор только ради этого.

Самое простое расширить класс Action добавив метки. Сфер должно быть достаточно, отрезки и ломоные не особо нужны. я не думаю что даже тысяча шаров хоть сколько-нибудь заметно скажется на времени отрисовки. При тестировании и отрисовке статегий эти метки можно просто игнорировать.

    class Action
    {
        double target_velocity_x;
        double target_velocity_y;
        double target_velocity_z;
        double jump_speed;
        bool use_nitro;
        Mark[] marks;
    }

    class Mark
    {
        double x;
        double y;
        double z;
        double r;
        ulong rgba;
    }
kuviman commented 5 years ago

Done