mailruchamps / miniaicups Goto Github PK
View Code? Open in Web Editor NEWПравила, исходники и прочее для aicups.ru
License: GNU General Public License v3.0
Правила, исходники и прочее для aicups.ru
License: GNU General Public License v3.0
http://aicups.ru/session/85652/
у себя в отладочном вызове что GAME_WIDTH не нашелся в первом конфиге и либа кинула exception.
У двух других игроков судя по всему была похожая проблема, а у одного все ок.
Exception in thread "main" org.json.JSONException: JSONObject["GAME_WIDTH"] not found.
at org.json.JSONObject.get(JSONObject.java:520)
at org.json.JSONObject.getInt(JSONObject.java:694)
at Game.<init>(Game.java:24)
at Game.from(Game.java:39)
at Main.main(Main.java:33)
app.bundle.js?v=1.3.4:45494 Tick[3] Ожидание ответа превышено!
app.bundle.js?v=1.3.4:45494 Tick[4] Решение отключилось от механики до окончания!
Добавьте пожалуйста для C# accord-net framework .
Аргументы за:
Аргументы против:
Предложение:
Добавить набор пакетов касающихся Scientific Computing и из зависимости (общим весом менее 6mb):
Установка через Nuget:
Install-Package Accord.Neuro
Install-Package Accord.MachineLearning
Install-Package Accord.Statistics
Install-Package Accord.Math
Необходимо для последующего локального конверта одного в другое
Похоже, что большая, толстая амеба не будет видна, пока ее центр не попадет в поле зрения.
Таким, образом, маленькая амеба никогда не сможет увидеть достаточно большую.
Было бы неплохо кнопку play/pause сделать единым целым. А освободившуюся кнопку занять рандомизацией сида.
Хотелось бы понять баги это или фичи:
miniaicups/agario/local_runner/constants.h
Lines 113 to 114 in 449863d
miniaicups/agario/local_runner/constants.h
Lines 110 to 111 in 449863d
Не указано, в каких пределах может меняться размер игрового поля, а это важнейший параметр.
Не сказано, что происходит при пересечении границы поля.
Непонятно, можно ли проскочить еду/другой объект за один тик, если двигаться очень быстро, или коллизии буду расчитаны в непрерывной модели.
В правилах не озвучено получение очков за съедание выброса. Хотя судя по локалранеру очки за это начисляются.
Проясните этот момент.
в правилах FOOD_MASS - масса еды (float) (меняется от 1.0 до 4.0); json идет {... ,"FOOD_MASS":1, ...} и я получаю ошибку когда делаю каст config["FOOD_MASS"] as Float ... тоесть без точки оно воспринемается как инт... я конечно могу сделать проверку, но ... =)
это в локал ранере такое.
При ручном управлении по нажатию space происходит эмуляция нажатия кнопки "Старт". Деления не происходит
localruner (win) не сохраняет путь к исполняемому файлу бота. После закрытия программы путь снова /usr/local/bin
В классе Circle масса целочисленная, при этом getter возвращает её в double. Все операции над массой работают с ней, как с числом с плавающей точкой. Это ошибка или фича?)
class Circle {
public:
explicit Circle(..., double _mass)...
double getM() const {
return mass;
}
protected:
int mass;
}
На текущий момент на сайте можно скачать visio_[ID].log
внутри он выглядит так
#O=Options, A=Add, +=Change K=Kill, C=Command, T=Tick, W=World, F=Food, P=Player, V=Virus, E=Ejection
OD T16 G1835 B50
OW W990 H990 S959462412
OF R2.5 M3.16843
OV R16.0735 M40
OP R8 M40
OE R4 M15
OFog S10
AF5 X182 Y203
AF6 X808 Y203
AF7 X808 Y787
AF8 X182 Y787
AF9 X455 Y423
AF10 X535 Y423
AF11 X535 Y567
AF12 X455 Y567
AF13 X155 Y322
AF14 X835 Y322
AF15 X835 Y668
AF16 X155 Y668
AF17 X5 Y254
AF18 X985 Y254
В целом понятно, что это за объекты, и как их читать, но...
Было бы очень неплохо иметь тул, который мог бы из этого сделать конвертацию в ровно те же данные, которые умеет обрабатывать стратегия.
Отдельной очень полезной фичей могла бы быть одновременная обрезка невидимых объектов в соответствии с правилами, т.о. получили бы готовый репитер для локального дебага игр, прошедших на сайте.
Опционально можно добавлять в неё другие элементы состояния игры
Было бы очень удобно, если бы в "История решений" показывался не только ID решения, но и имя файла скрипта. Иначе сложно разобраться с версионностью собственного скрипта.
Ну или просто пользовательский комментарий к каждому своему решению.
split приводит к большему числу кусков, чем позволено в настройках
http://aicups.ru/session/86875/
тик 2031 +
в игре параметр MAX_FRAGS_CNT=4
Я, к сожалению, в создании pull requests не силен, поэтому прошу добавить докер для FreePascal:
FROM ubuntu:16.04
MAINTAINER Igor Kuznetsov [email protected]
RUN apt-get install fp-compiler
ENV COMPILED_FILE_PATH=/opt/client/main
ENV SOLUTION_CODE_PATH=/opt/client/solution
ENV SOLUTION_CODE_ENTRYPOINT=main.pp
ENV COMPILATION_COMMAND='fpc -Cs67107839 -Mobjfpc -XS $SOLUTION_CODE_PATH/$SOLUTION_CODE_ENTRYPOINT -o$COMPILED_FILE_PATH 2>&1 > /dev/null'
ENV RUN_COMMAND='$COMPILED_FILE_PATH'
Описание: Репа пустая.
Шаги воспроизведения:
1.Открыть любо браузер
2. Перейти по урлу: https://github.com/MailRuChamps/miniaicups
Ожидания: Много файликов.
Фактический результат: Почти пустой ридми, лицензия и ... пустота :(
В начале игры в конструкторе Player::Player(...) fuse_timer не инициализируется. Как минимум на первом тике в json'е приходит мусор, например, "TTF":3473457.
P.S. Если замечу еще какие-то мелкие проблемы в runner'e, как их лучше оформить, PR или issue?
Стратегия на Go, в локал-раннере (Windows7 x64) играет нормально. На сервере стратегия неожиданно падает (пример - игра №85802, жёлтый игрок), в консоли браузера следующее:
Tick[910] Ожидание ответа превышено!
app.bundle.js:45494 Tick[911] Ожидание ответа превышено!
app.bundle.js:45494 Tick[912] Ожидание ответа превышено!
. . . . .
app.bundle.js:45494 Tick[938] Ожидание ответа превышено!
app.bundle.js:45494 Tick[939] Суммарное ожидание клиента превышено. Клиент будет отключён!
При этом судя по отладочным сообщениям бота он съел за все ходы суммарно 20.9 секунд, из которых 20 секунд - это время "разогрева" до начала раунда.
Помогите разобраться, откуда взялся тайм-аут? В правилих написано 5 секунд на ход, 150 секунд на игру, а тут даже не близко.
В правилах говорится, о том, что вязкость (VISCOSITY) замедляет объекты, есть информация, что он приходит как входной параметр, но в формуле скорости он не учитывается (да и ни в одной другой формуле в правилах не фигурирует).
В отладочном веб интерфейсе у жирных агентов частично не видно направление движения.
А как без этого?
под ubu/deb oтсутствует
Полезно было бы добавить в профиль на сайте "OS", чтобы понимать востребованность сборок LR под разные платформы.
Ещё можно добавить выбор удобного способа взаимодействия с LR: tcp или stdio с менее удобной отладкой (для новых соревнований)
Пишу на C#.
Похоже на то, что locarunner (win) не отдает в консоль данные. На вызове Console.ReadLine() бот блокируется, а localrunner сообщает о таймауте.
В играх на сервере масштабирование поля колесом очень медленное
Сделайте отображение версии решения в интерфейсе игры на сервере.
Если играют несколько решений от одного автора, то совершенно не понятно где какая версия.
Должны начисляться очки лишь за съедание чужих eject-ов
В данный момент есть решение №5537 и оно участвует в битвах.
Поскольку у выброса есть Id игрока, его породившего, и он влияет на очки, хотелось бы его получать от сервера в JSON состояния игры.
Пусть мы разрабатываем в VS2017, C#. Логично желание поставить точку остановки и спокойно почитать что происходит в ходе выполнения стратегии. Насильный таймаут в 5 секунд лишает нас такой возможности. Пример:
Просьба добавить в local_runer опцию выставления времени таймаута хотя бы в 5 минут - это сильно упростит жизнь=)
Пропадает область видимости для юнитов
http://aicups.ru/session_debug/85894/
тики 399-435
потиковая отрисовка нужна, непонятна область
Хотелось бы, чтобы при передаче параметров в начале раунда стратегия получала в том числе и SEED - уникальное для каждой игры большое число.
Это позволит при воспроизведении лога ввода получаемого стратегией от runner'а получать всегда одно и то же поведение, при использовании ГПСЧ.
Было бы не плохо пересобирать бинарники раннера при измененни исходного кода.
localrunner (win) не воспринимает относительные пути к исполняемому файлу.
У еды (Food) есть id, но он не передается в стратегию.
Для хранения своего состояния в стратегии приходится сравнивать координаты, чтобы убедиться, что это тот же самый объект Food.
http://aicups.ru/session/85548/
767 тик.
Масса желтого - 49
Масса красного - 45
Один кушает второго.
Беспредел!
Куда смотрит коэф. MASS_EAT_FACTOR ?
Пишу вот так:
{"X":44.271887242357316,"Y":44.271887242357316,"Debug":"No food","Sprite":{"Id":"1","S":"dir 0"}}
В localrunner не видно ничего.
Не передается ( передается по умолчанию ) переменная окружения, что не позволяет использовать ничего кроме main.go
solution/main.go:7:2: cannot find package "" in any of:
/usr/lib/go-1.10/src/ (from $GOROOT)
/root/go/src/*** (from $GOPATH)
Добавьте GOPATH который смотрит в solution
ENV COMPILATION_COMMAND='GOPATH=$SOLUTION_CODE_PATH go build -linkshared $SOLUTION_CODE_PATH/main.go 2>&1 > /dev/null'
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.