miniaicups
miniaicups copied to clipboard
time_left + visio fix
- Добавлен time_left (#265)
- В visio direction теперь сохраняется не предыдущая, а текущая команда
В visio direction теперь сохраняется не предыдущая, а текущая команда
Это означает, что теперь в тике N будет храниться direction, т.е. команда отправленная в тик N, а не до него? Сервак разве так делает и может ли? Если роботу приходит тик, там же не может быть информации о ходах других роботов в этот самый тик. Или я что-то не так понял?
Это означает, что теперь в тике N будет храниться direction, т.е. команда отправленная в тик N, а не до него?
В visio.gz - да (для последнего тика жизни игрока в текущем visio команду узнать нельзя). В стратегию конечно по прежнему будет приходить предыдущая команда.
В end_game же пишется?
{"type": "end_game", "events": [{"tick_num": 648, "event": "line crossed by other player", "player": {"id": 3, "direction": "up", "lines_length": 18, "position": [645, 695]}, "other": {"id": 6, "direction": "right", "lines_length": 0, "position": [675, 645]}}]}
А предложенные изменения получается делают бесполезным visio для тестов, т.к. там уже не те тики, что получает робот.
Может ломать пользовательские решения на статически-типизированных языках (unmarshal в go). + к этому, нам бы не хотелось увеличивать объём хранимых логов на серверах.
нам бы не хотелось увеличивать объём хранимых логов на серверах
Размер логов не меняется:
- time_left в логи не попадает, только в стратегии отправляется
- direction в логи и сейчас добавляется, только сейчас добавляется не текущий, а предыдущий direction, что нелогично и не позволяет нормально сделать replay visio
Может ломать пользовательские решения на статически-типизированных языках (unmarshal в go)
Звучит крайне сомнительно. Unmarshal в go без проблем десериализует json с дополнительными полями не описанными в структуре. Любая адекватная json-библиотека должна по-умолчанию игнорировать неизвестные поля. Ладно, хрен с ним с time_limit, примите хотя бы 990c6d83ef46b78c43adeea570973c9288626351 и 570294100b72fe1bceed9e2fae424c2e1dbb3a0b, чтобы починить реплей который вы оставили в localrunner.