Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

game_start сообщение содержит не все игровые константы. #262

Open
mortido opened this issue Jul 20, 2019 · 3 comments

Comments

@mortido
Copy link
Contributor

mortido commented Jul 20, 2019

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

@Pro100AlexHell
Copy link

Сомневаюсь что большое кол-во участников будут писать рандомные стратегии, причем это еще и дебажить, с одинаковым Seed для random, так видимо и разработчики посчитали.
В том числе и бонусы, с другим Seed, могут на этот же random действовать в плане исхода действий бота (если он учитывает их).

@mortido
Copy link
Contributor Author

mortido commented Jul 22, 2019

Проблему с seed можно обойти, согласен. Хотя аргумент "большинство участников" странный, так можно и поддержку языков выпилить всех кроме 2-3х.

@Pro100AlexHell
Copy link

Pro100AlexHell commented Jul 24, 2019

Как вариант кому нужно дебажить рандомных ботов, создавайте из своего кода свой рандомизатор со своим Seed, не вижу проблемы так уж

вот пример на C#
выдает идентичную последовательность

var commands = new string[4] { "left", "right", "up", "down" };
Random random = new Random(12345); // todo seed для отладки
while (true)
{
InputParamsForTick inputParamsForTick = ReadInputParamsForTick();
int index = random.Next(0, commands.Length); // todo для теста - рандомизатор
Console.WriteLine("{{"command": "{0}"}}", commands[index]);
}

А вот передавать seed из python в C# - это уже извращение, я даже не знаю как.. какой опцией они бы сделали это для всех?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants