Skip to content

time_left + visio fix#326

Open
alex3d wants to merge 3 commits intoMailRuChamps:masterfrom
alex3d:fixes
Open

time_left + visio fix#326
alex3d wants to merge 3 commits intoMailRuChamps:masterfrom
alex3d:fixes

Conversation

@alex3d
Copy link
Copy Markdown
Contributor

@alex3d alex3d commented Aug 9, 2019

@0x0badc0de
Copy link
Copy Markdown

0x0badc0de commented Aug 9, 2019

В visio direction теперь сохраняется не предыдущая, а текущая команда

Это означает, что теперь в тике N будет храниться direction, т.е. команда отправленная в тик N, а не до него? Сервак разве так делает и может ли? Если роботу приходит тик, там же не может быть информации о ходах других роботов в этот самый тик. Или я что-то не так понял?

@alex3d
Copy link
Copy Markdown
Contributor Author

alex3d commented Aug 9, 2019

Это означает, что теперь в тике N будет храниться direction, т.е. команда отправленная в тик N, а не до него?

В visio.gz - да (для последнего тика жизни игрока в текущем visio команду узнать нельзя).
В стратегию конечно по прежнему будет приходить предыдущая команда.

@0x0badc0de
Copy link
Copy Markdown

В 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 для тестов, т.к. там уже не те тики, что получает робот.

@xammi xammi added the invalid This doesn't seem right label Aug 9, 2019
@xammi
Copy link
Copy Markdown
Contributor

xammi commented Aug 9, 2019

Может ломать пользовательские решения на статически-типизированных языках (unmarshal в go). + к этому, нам бы не хотелось увеличивать объём хранимых логов на серверах.

@alex3d
Copy link
Copy Markdown
Contributor Author

alex3d commented Aug 9, 2019

нам бы не хотелось увеличивать объём хранимых логов на серверах

Размер логов не меняется:

  1. time_left в логи не попадает, только в стратегии отправляется
  2. direction в логи и сейчас добавляется, только сейчас добавляется не текущий, а предыдущий direction, что нелогично и не позволяет нормально сделать replay visio

Может ломать пользовательские решения на статически-типизированных языках (unmarshal в go)

Звучит крайне сомнительно.
Unmarshal в go без проблем десериализует json с дополнительными полями не описанными в структуре. Любая адекватная json-библиотека должна по-умолчанию игнорировать неизвестные поля.
Ладно, хрен с ним с time_limit, примите хотя бы 990c6d8 и 5702941, чтобы починить реплей который вы оставили в localrunner.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

invalid This doesn't seem right

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants