ПроектыФорумКонкурсы

Проект конкурса "AI Tank Arena". (4 стр)

Страницы: 13 4 5 610 Следующая »
#45
18:02, 2 мар 2023

Incvisitor
по-моему самое простое будет - если конкурсанты будут писать консольные приложения.


Сейчас сделал тест - консольное приложение "клиент" читает из консоли строку, пишет в консоль ее длину (эмулируем ии. логично что команда клиента короткая а инфа с сервера длинная).
Сервер запускает двух клиентов, отправляет им строки по 10000 символов, считывает ответы, снова отправляет и т.д. 1000 обменов занимает 50мс. Итого - проблемы с производительностью нет.

#46
18:17, 2 мар 2023

kipar
> консольные приложения
пайпы это тема, и по вводу/выводу отлаживаться легко, если std::cout не улетит на хост-приложение конечно
std::cerr тогда оставить хотя бы

#47
18:19, 2 мар 2023

#!
да, STDERR оставить (точнее направить в STDOUT сервера) и в него клиенты смогут отладочные сообщения писать.

#48
18:31, 2 мар 2023

kipar
а сервер просто общее состояние мира каждый кадр шлёт? или оно индивидуально для каждого клиента?
или клиент должен запрашивать?

в общем так недалеко и до http GET/POST скатиться)

#49
18:48, 2 мар 2023

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

> до http GET/POST скатиться
http тоже вариант, но консольный ввод\вывод, по-моему, делает порог входа минимальным - любой язык (от пролога до баша), любой уровень знания языка (достаточно знать gets и puts, ну и уметь работать со строками).

#50
9:07, 3 мар 2023

Могу для конкурса железку выделить у меня все равно 24/7 сервера крутятся,
а так видеться что должен быть сервер на websocket и сессионные подключения к нему, сервер выдаёт все изменения мира а на каждой стороне свой ИИ обрабатывает как хочет информацию о мире и возвращает обратно
а с get/post будет пошаговая стратегия))

#51
9:25, 3 мар 2023

nordron01
> websocket
я так понимаю, это чтоб и правда в реалтайме игры крутить, не по 10 матчей за секунду а со скоростью 60 тиков в секунду?

#52
9:44, 3 мар 2023

kipar
Верно, а в идеале чтобы можно было снять ограничение скорости в Debug режиме для отладки клиентов. То есть сервер должен быть локальный, написан заранее и роздан участникам.

#53
10:30, 3 мар 2023

Я думаю лучше сделать через использование DLL (COM-dll). Для клиентов которые по той или иной причине не могут работать с DLL или им неудобно, сделать прокси DLL которая будет реализовывать тот или иной протокол для обмена в удобном для клиента формате. Сервер, как написал Майкл - локальный.

#54
11:56, 3 мар 2023

Я тут думал у меня будет другой проект, но у него шансы как то не очень, так что возвращаюсь.

Mikle
У меня в общем то есть прототоип, который пишу. Примерно в рамках описанных правил.
Думаю за недельку что-то смогу предъявить показываемое. Ориентироваться буду на первых порах на C интерфейс dll,
на который можно будет прикрутить враппер нужного вида. Но что то я вижу, необходимости может и не быть.

Пишу прежде всего графическое приложение, в котором будет удобно отлаживать, я надеюсь.
Писать сейчас сервер, играющий 100 сессий одновременно считаю пока преждевременным. Но при работающей концепции конвертировать будет несложно.

#55
0:04, 4 мар 2023

Делаю проект про танки. Сейчас как раз дошли до управления ботами-танками. В текущем ЛУ как раз учим ботов патрулированию территории. Ежели сообщество согласится провести конкурс АИ-танков под наш проект, то со своей стороны мну внесёт в призовой фонд, скажем 15килорублей.

#56
11:36, 4 мар 2023

Ren, у вас там поди очень сложно? Тут же хотели минимум сделать, вода, препятствие и равнина... Потянет ли народ сходу ваши правила?

#57
12:06, 4 мар 2023

Ren
Не могу говорить от лица сообщества, а только от своего. Я слабо понял твоё предложение.
Нет, любой приз - это прекрасно, но по мне твоя тема больше подходит в вакансии что-ли.
И при условии что ты её сформулируешь чётко.

Вот конкретно эту тему я создал чтобы максимально уйти от проЭктов.
А для этого суть должна быть: a) простой для понимания, б) по макс. независимой от среды исполнения,
в) чтобы был фан завалить AI другого участника. г) судейство было строго формальным.

#58
12:23, 4 мар 2023

Der FlugSimulator
Свойство же супер простое - запускаем игру с ботами, и смотрим, кто победил в серии матчей. Допустим 15 матчей. Пилится пруф-видос с матчами и все, дело в шляпе.

#59
12:38, 4 мар 2023

stratego
Дело в том что все окружение уже сделано. Есть карта 1,2х1,2 (пока одна, в перспективе генерируется на основе открытых источников). На карте сложный городской ландшафт. Выделены здания, дороги, водные препятствия, зоны с растительностью. Написаны алгоритмы передвижения, видимости, стрельбы. Т.е. все это уже готово и в прошлом ЛУ можно было радостно пострелять по танкам противника и даже получить надпись «вин!». То есть танки игрока полностью функциональны. В текущем ЛУ мы учим танки боты патрулировать территорию по сложному (не очевидному) маршруту. Надо отметить что алгоритмы пишутся универсальные без привязки к конкретной карте. Следующим шагом будет научить бота отстреливаться, т.е. дать ему различные типы поведения (сближение, удаление, концентрация огня) и задать условия поведения.

Последняя фраза, как мне кажется, напрямую пересекается с данным конкурсом. Почему я и предложил.

Страницы: 13 4 5 610 Следующая »
ПроектыФорумКонкурсы

Тема в архиве.