Size: a a a

AI Cups Official

2021 January 15

AS

Alexey Slotin in AI Cups Official
elsid
Можно статистику собирать и печатать только результат для каждого тика в компактном варианте. Замерять места которые в профиле локального запуска занимают больше всего времени. Например: [802] 3495538 26 492 93.762µs 71.216465ms 264 13332.
Ну нечто похожее сделал, но это помогает только для тех случаев, когда время утекает "плавно", а не внезапно все время сгорает за один тик
источник

D

Dmitriy in AI Cups Official
и каждый тик тоже отдельно время выводил и сумму
источник

D

Dmitriy in AI Cups Official
и отдельные блоки кода тоже так смотрел
источник

e

elsid in AI Cups Official
Alexey Slotin
Ну нечто похожее сделал, но это помогает только для тех случаев, когда время утекает "плавно", а не внезапно все время сгорает за один тик
Я как раз таким образом один тик разбирал. Идея в том, что каждый раз выводится информация тика с максимальным временем и текущим. В клиенте для раста такое падение обычно так выглядит:
stdout:
[751] 265152 0 373 10893 1.126439224s 1.126439224s 10893 16 16 680 0 345
stderr:
+ cd /output
+ ./aicup2020 gameserver 31004 8fb9585956d9ee6175b2d7d6d28cee3eca90c5ec_3
Error: Custom { kind: UnexpectedEof, error: "failed to fill whole buffer" }
Exit code:1
В данном случае вывод условно в деструкторе делается (Drop trait). Видно, что 1 секунда, что перебор по правилам.
источник
2021 January 16

AS

Alexander Sanburn in AI Cups Official
https://youtu.be/OLNNsPbLjTQ будущее симуляции в раике и как положено немного багов )
источник

S

SilentNox in AI Cups Official
Улучшаю игру в 1х1 - ухудшается игра в 4х1...
источник

D

Dmitriy in AI Cups Official
норм 👀
источник

AM

Aleksey Murushkin in AI Cups Official
SilentNox
Улучшаю игру в 1х1 - ухудшается игра в 4х1...
самое время заифать
источник

S

SilentNox in AI Cups Official
Aleksey Murushkin
самое время заифать
Надо только понять что именно
источник

AM

Aleksey Murushkin in AI Cups Official
ну старое поведение для 4 и новое для 1.
источник

S

SilentNox in AI Cups Official
Это сложно, потому что по сути целые модули написаны заново
источник

ST

Sergio Tulentsev in AI Cups Official
SilentNox
Это сложно, потому что по сути целые модули написаны заново
Ну так старую версию скопипасть в отдельное место. Будет у тебя  MyStrategy и MyStrategyV1.

Я так каждый раз делаю :)
источник

e

elsid in AI Cups Official
Sergio Tulentsev
Ну так старую версию скопипасть в отдельное место. Будет у тебя  MyStrategy и MyStrategyV1.

Я так каждый раз делаю :)
Это сработает только если почти вся логика внутри этого типа. Иначе нужно копировать все дерево зависимостей, либо копировать частично, а что не копируешь, туда тип игры пробрасывать и делать ветвления по нему. Ну и системы контроля версий есть, если одновременно все версии не нужны.
источник

P

POCCOMAXA in AI Cups Official
elsid
Это сработает только если почти вся логика внутри этого типа. Иначе нужно копировать все дерево зависимостей, либо копировать частично, а что не копируешь, туда тип игры пробрасывать и делать ветвления по нему. Ну и системы контроля версий есть, если одновременно все версии не нужны.
Есть же паттерн "стратегия", он легко решает эту проблему
источник

ST

Sergio Tulentsev in AI Cups Official
elsid
Это сработает только если почти вся логика внутри этого типа. Иначе нужно копировать все дерево зависимостей, либо копировать частично, а что не копируешь, туда тип игры пробрасывать и делать ветвления по нему. Ну и системы контроля версий есть, если одновременно все версии не нужны.
Ну понятное дело. что все зависимости копировать. Мне просто, у меня практически весь код в my_strategy находится 🙂
источник

e

elsid in AI Cups Official
POCCOMAXA
Есть же паттерн "стратегия", он легко решает эту проблему
Все равно это ветвление, и где-то надо принять решение, что выбрать.
источник

P

POCCOMAXA in AI Cups Official
elsid
Все равно это ветвление, и где-то надо принять решение, что выбрать.
На первом тике у меня детект всех неизменяемых параметров и после создание стратегии
источник

P

POCCOMAXA in AI Cups Official
После первого тика просто сменить функцию обработки на более простую версию
источник

D

Dmitriy in AI Cups Official
класс с виртуальными функциями и всё
источник

P

POCCOMAXA in AI Cups Official
Dmitriy
класс с виртуальными функциями и всё
Ну в некоторых языках этого тупо нет))
источник