Russian AI Cup

Расширенный поиск  

Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.

Сообщения - GreenTea

Страницы: [1] 2
1
Программирование ИИ / Re: AI инфраструктура
« : Января 05, 2018, 07:06:21 pm »
Как пример, посмотрите на Wolfram Mathematica и Matlab. Это среды в которых все заточено правда не на ИИ, а на математику. Но тут важно увидеть как среда и язык выступают неким связующим клеем - и в целом очень удобно пользоваться. Например в Wolfram Mathematica можно и формулы писать в математическиой нотации, и графики строить тут же для чего угодно. и играться с параметрами графиков.

2
Программирование ИИ / Re: AI инфраструктура
« : Января 05, 2018, 07:01:17 pm »
Цитировать
Общее видение инфраструктуры дано в первом посте. :)
Оно слишком общее  :D Если вы хотите сделать набор модулей, то надо продумать как они будут между собой стыковаться. Например в каком формате будут передаваться данные. Допустим передать данные из модуля "восприятия" в модуль "машинного обучения". Это ж надо написать некий инфрасткруктурый код. А вы сразу кинулись писать алгоритм поиска в ширину. Конечно можно написать 1000 алгоритмов, но без некой единой концепии это будет 1000 разрозненных алгоритмов, а не фреймворк.

3
Программирование ИИ / Re: AI инфраструктура
« : Января 05, 2018, 06:28:04 pm »
Инициатива похвальная, хотя думаю, что таких фреймворков (или библиотек) уже есть много. Но тут мне кажется сложно будет прийти к общему знаменателю по поводу выработки единого подхода / инфраструктуры. А если отдельные части будут плохо друг к другу подогнаны, то будет тяжело пользоваться. Поэтому оптимально вам сейчас начать самому разработку руководствуясь своим видением, чтобы никто не мешал. И приглашать присоединиться к вам когда уже будет некое ядро. В худшем случае, даже если никто не заинтересуется - расширите и угубите свое понимание - а это уже неплохо :)
Я тоже для себя пишу библиотечку на kotlin для работы с данными, в перспективе там будут нейронные сети. Но это пока только "поиграться" с алгоритмами, хотя и стараюсь писать с прицелом на универсальность и расширяемость.

4
Russian AI Cup 2018: CodeBall / Тематика следующего Raic 2018
« : Декабря 28, 2017, 01:56:05 pm »
Всем привет! Были слухи, что темой следующего Raic-а будет футбол. Но если все же не он, то что?

Мне бы хотелось какую-нибудь оптимизиационную задачу. Такого еще не было на Russian AI Cup.
Например дается случайно сгенерированный "городок" и по нему ездят машинки такси (десятки/сотни машин).
Оба игока действуют в одном городе, типа конкурирующих компаний.
Периодически появляются люди которых надо позвезти в другую точку города.
За доставку людей получаешь денюжку пропорционально минимальной длинне маршрута от
точки где забрали, до точки куда доставить и обратно пропорционально времени доставки.
Причем у машинок быстро заканчивается топливо, и их надо вести к заправкам и дозаправлять, тратя деньги.
Задача - максимизировать прибыль. В одну машину можно посадить до 2 пассажиров, но чем больше пассажиров,
тем больше расход топлива. Еще можно тратить деньги на апгрейд машин, типа поставить новый движек, или
докупать новые машины. Также можно и продавать машины.
Т.е. можно сделать или небольшой парк очень быстрых авто или большое колличество медленных.

Будет ли физика движения автомобилей - на усмотрение организаторов. Мне бы не хотелось, либо сделать её
полностью открытой для всех, чтобы исключить этап подбора формул и коэффициентов физ движка.
Чтобы не усложнять можно не вводить остальной транспорт - будут только машины такси.
Насчет правил дорожного движения - тут тоже можно по разному. Было бы весело совсем без правил :)
Вплоть до того что б можно было блокировать дороги, чтобы не дать проехать таксишкам соперника.

5
А мне понравилось задание этого года, и как то легко пошло изначально  :) наверно смог сразу нащупать правильное направление развития для бота.  Хотя это спокойствие не раз было разрушено то бутербродами, которые никак не хотели умирать от ядерок :) то ud1, который впервые побил меня на карте с фабриками, потом Milanin еще поджег немного нервных клеток своим врывом  :D О а особенно бесил Adler который побеждал непонятно как двигаясь хаотичной кучей по земле  :o. Но в целом было здорово! Спасибо также tyamgin, oreshnik, Leos, TonyK что составили хорошую конкуренцию в финале, вы молодцы! Пишите статьи о своих ботах, с удовольствием почитаю) 

6
Еще такая есть простая мысль, что если разрабы хотят сделать игру зрелищнее, то надо давать очки за зрелищные действия, а не "карать" за якобы "незрелищность". Вот допустим, убивать юнитов зрелищно? - да, +1 очко - нормально.  Убить ядеркой сразу пак юнитов зрелищно? Да, очень! Можно умножать очки за массовое убийство.  Захватывать здания зрелищно? Не очень - не давать за это очков совсем. 

7
Заканчивать игру досрочно если в течении допустим 2000 тиков не было активных действий со стороны игроков (что считать активным действием - тут надо подумать) и одна из стратегий явно добилась преимущества. Пример активного действия: убийство юнита, начало захвата фабрики. Или досрочно заканчивать игру если у одного из игроков в 10 раз больше юнитов.

8
Russian AI Cup 2017: CodeWars / Re: Минусы в CodeWar
« : Ноября 26, 2017, 01:15:49 pm »
Самый главный минус конкурса в том что, по сути он скатился к формированию пачки и медленного давления врага. Вообще нет ни каких альтернативных решений по сути, Вот например http://russianaicup.ru/game/view/98849 -мои самбы пытаются разбить врага Ядерными ударами, ток это безполезняк по причине что, враг слишком быстро хилкается, т.е. мои удары нивелируются. И как быть? Поддаться общему вению и сделать просто "мясной шар"? -_-

Что значит нет альтернатив, а я что делаю?  ;D

9
Подтверджаю, что группы создаются нормально (Java).

10
Russian AI Cup 2017: CodeWars / Re: Танковый балет
« : Ноября 09, 2017, 10:54:27 pm »
В любой современной RTS у юнитов есть встроенный поиск пути. Этого тут очень не хватает, что несомненно скажется на стратегиях не в лучшую сторону.

11
Russian AI Cup 2017: CodeWars / Re: Предложения по API
« : Ноября 09, 2017, 10:43:12 pm »
Я б тоже поддержал подход со стоимостью действий. Те действия, которые человеку сделать сложнее - стоят больше тиков кулдауна, после их совершения. Это было бы реалистичнее. А с каждого захваченного командного центра кулдаун уменьшался бы к примеру на 10% для каждого действия, с округлением вниз.

12
Russian AI Cup 2017: CodeWars / Re: Cледующий raic 2017
« : Декабря 28, 2016, 01:20:40 pm »
GreenTea
Ещё вариация на тему: рытьё тоннелей не требует исполнителей, но стоит денег (еды). Новые базы -- тоже за деньги (может быть ещё и разная стоимость в зависимости от локации или удалённости),
ну и т.д.... в общем, какую-то экономику простенькую прикрутить можно, а на что еду тратить -- тут уже есть где развернуться.
Только лично я бы предпочел иметь один тип юнитов. В муравьях прелесть была в позиционной игре, а баланс юнитов мог бы её подпортить.

Согласен! Еду как ресурс с выбором куда потратить - отличная идея, чтобы не переусложнять.
Насчет юнитов да - должен быть один тип. И без понятия "жизней", т.е. либо юнит жив либо умер.

13
Russian AI Cup 2017: CodeWars / Re: Cледующий raic 2017
« : Декабря 27, 2016, 09:42:06 pm »
Это было у гугла в свое время. Народ выкладывал исходники также.

Сама тема муравьев да, но реализация другая. К примеру не было затаскивания еды в нору, рытья тоннелей, да и боевую систему можно сделать совершенно другой. В итоге получится другая игра - более глубокая и реалистичная. Я не настаиваю на теме муравьев, просто хочется масштабных баталий множества простых юнитов, такого на RAIC еще не было - а пора бы..

14
Russian AI Cup 2017: CodeWars / Re: Cледующий raic 2017
« : Декабря 27, 2016, 05:22:12 pm »
Подумал насчет развития идеи муравьев..
Допустим начинаем с 1 норы и 4 муравеьв. Еда раскидана случайно по карте но симметрично относительно всех игроков.
Её надо искать и относить в нору. При этом бывают тяжелые куски, для переноски которых надо задействовать сразу нескольких муравьев.
Когда муравьи тащат, они беспомощны. Т.е. надо грамотно распределять своих муравев: кто-то будет тащить, кто-то охранять и тд.
При затаскивании еды в нору даются очки и рождаются новые муравьи - пропорционально размеру куска пищи.
Новые куски еды время от времени появляются на карте, поэтому есть смысл патрулировать уже иследованные области в поисках новой еды.

Можно загонять муравьев в нору для того чтобы дать им приказ рыть тоннель - чем больше муравьев роют, тем быстрее они справляются.
Потом эти муравьи выкапываются и получается новая нора - на выкапывание тоже тратится время.
Игрок не видит тоннелей других игроков и того, где они роют.
Нельзя рыть в некотором радиусе вокруг вражеских нор (чтобы предотвратить выкапывание возле вражеской норы с атакой на неё).

Зачем может понадобиться рыть новые норы?
  • Дорыть тоннель до области вокруг которой очень много еды, чтобы быстрее доносить эту еду в нору.
  • Для быстрого перемещения между норами (в норе муравьи перещаются в 2 раза быстрее).
  • Для доступа к области до которой не добраться через верх.
  • Отрыть тоннель прямо под большим куском еды, чтобы его не тянуть (допустим кусок слишком тяжелый, и нет столько муравьев, чтобы его дотянуть)

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

Вражеский муравей может засыпать нору наступив на неё. Игрок проигрывает если все норы были засыпаны, или если все муравьи погибли.

Хотелось бы видеть:
  • генератор карт
  • тысячи муравьев на карте
  • жесткие ограничения по времени чтобы допустим одному игроку отводилось на игру не более 10 секунд времени
  • простую боевую систему


15
Russian AI Cup 2017: CodeWars / Re: Cледующий raic 2017
« : Декабря 19, 2016, 07:26:12 pm »
Цитировать
В тему "шутеров 2D" могу добавить чудесную полузабытую игру wings2: http://www.wings2.net/
Пример геймплея: https://www.youtube.com/watch?v=WRCN_WJ3Lak

Выглядит очень динамично и круто, но необходимость кодить физику все портит (опять победит тот, кто лучше эмулирует все тонкости физики).

Я бы хотел видеть пошаговую игру с большим колличеством (сотни) мелких юнитов (типа муравьев, бактерий), чтобы они захватывали еду, размонжались и дрались друг с другом. Со случайно генерирующимися картами разных типов. Поле - сетка, или, допустим, шестиугольные соты. Должна быть продумана боевая система, чтобы не только тот кого больше побеждал, но также и тот, кто правильнее располагает юнитов. Ничего похожего на RAIC еще не было.

Что-то типа http://ants.aichallenge.org/ - но не обязательно делать точно так-же, можно напридумывать массу вариаций на данную тему, которые будут очень интересны и зрелищны.

16
Не очевидно, надо проверять. Башня сейчас намного слабее 1 волшебника.

17
Хочется чтобы тупая стратегия не была настолько эффективной. Одним из вариантов защиты будет повторение той же стратегии. Так и будем наблюдать в финале на миде стеночки 5 на 5. Вам такое будет интересно смотреть?
Как я это вижу, в идеале одна башня должна полностью компенсировать по огневой мощи одного волшебника на низких (до 5) уровнях. Так чтобы допустим 2-мя волшебниками было трудно продавить 1-го волшебника + башню. Или, соответственно, 5-ю волшебниками - 4-ёх волшебников и башню.
Может быть надо оставить зданиям то же хп, но добавить регенерацию..  Добавить вышкам скорострельности..

18
Может все-таки стоит вернуть башням изначальное количество жизни? И опыт за них можно вернуть к первоначальному. А то нелогично получилось - с появлением скилов стало бы и так легче сносить башни, а новые правила облегчили задачу еще больше.

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

19
Добрый день. В игре http://russianaicup.ru/game/view/44625 я заметил что бот завис на тике 15335.
При дебаге локально с помощью репитера действительно удалось воспроизвести зависание.
Дамп был такой:

"main" #1 prio=5 os_prio=0 tid=0x00000000026e2800 nid=0x505c runnable [0x00000000026de000]
   java.lang.Thread.State: RUNNABLE
   at java.net.SocketInputStream.socketRead0(Native Method)
   at java.net.SocketInputStream.read(SocketInputStream.java:150)
   at java.net.SocketInputStream.read(SocketInputStream.java:121)
   at RemoteProcessClient.readBytes(RemoteProcessClient.java:582)
   at RemoteProcessClient.readEnum(RemoteProcessClient.java:382)
   at RemoteProcessClient.readPlayerContext(RemoteProcessClient.java:87)
   at Runner.run(Runner.java:33)
   at Runner.main(Runner.java:10)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:483)
   at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)

В строчке RemoteProcessClient.readPlayerContext(RemoteProcessClient.java:87) видим:

MessageType messageType = readEnum(MessageType.class);

Баг в платформе, или что это может быть? Могут разработчики конкурса глянуть?
Если что, у меня самая последняя версия стартового пакета Java.
----------------------------
Извиняюсь, это у меня дамп не качается после 15335, а игра еще продолжалась дальше,
и бот функционировал нормально. А позже, на 17k что-то с ним случилось, но что,
не получается узнать из-за проблемы с дампом.

20
Russian AI Cup 2016: CodeWizards / Re: Изменения в балансе.
« : Ноября 16, 2016, 02:02:21 am »
На себе проверил, что бонусы не дают такого уж серьезного преимущества. На их подбор тоже тратится время, и может оказаться что бонус подберет другой бот. При этом когда бот постоянно бегает за бонусами он становится менее ценным членом команды, т.к. долгое время отсутствует в бою. А потеря базы потом перекрывает очки за несколько подобранных бонусов.

21
Russian AI Cup 2016: CodeWizards / Re: Огонь по своим.
« : Ноября 13, 2016, 03:43:31 am »
Спасибо! Ну очень странный параметр.. Учитывая что все будут его ставить так чтобы не попадать по своим (делается элементарно), проще было сразу отключить дружественный огонь.

22
Russian AI Cup 2016: CodeWizards / Огонь по своим.
« : Ноября 13, 2016, 02:51:05 am »
Заметил что в Local Runner-е мои напарники (Quick - стратегия из раздела "Быстрый старт".) не попадают магическими снарядами по дружественным мобам и волшебникам - снаряды летят насквозь. Мои же снаряды всегда сталкиваются, и дружеским волшебникам наносят урон - вроде как по документации. Так что же это, бага или фича Local Runner-а?

23
Флудилка / Re: Проекты участников
« : Декабря 26, 2015, 02:11:56 pm »
2. https://github.com/Kladzey/RynokEngine - по чуть-чуть пилю движок для симуляциии торговли/экономики в играх. Уже более-менее работает, но надо серьёзно пересматривать архитектуру и много думать.
Интересная тема.. А ты как, изучал где-то экономику (ВУЗ / самостоятельно по книгам) , и решил запрограммировать свои теоретические значения?

24
Russian AI Cup 2015: CodeRacing / Re: Следующий russian ai cup
« : Декабря 15, 2015, 02:05:14 am »
Кстати я тоже за подобие гугловских муравьев :)
Только сделать допустим поле состоящее из шестиугольников (сот), другую боевую систему, может чуть другой способ сбора еды и размножения.. Но сохранить масштрабность - большое поле и огромное кол-во муравьев.

25
Russian AI Cup 2015: CodeRacing / Re: Используемые Алгоритмы
« : Декабря 14, 2015, 02:43:17 am »
Болею за санту, т.к. он тоже пишет на java :)
Вообще, как и в танчиках, у меня новая версия во втором туре финала оказалась намного сильнее чем на 1ом. А всего-то прикрутил нормальное движение задом.

Насчет лукап таблиц косинусов тоже пробовал, и действительно была плохая точность! Поэтому остановился на FastMath от apache commons. Там я большой потери точности не обнаружил, а скорость в разы лучше.

26
Russian AI Cup 2015: CodeRacing / Re: Используемые Алгоритмы
« : Декабря 13, 2015, 05:19:43 pm »
У меня бот наверно ничем не примечательный :)

Для производительности не пользовался стандартными функциям типа StrictMath.cos, atan2 и т.д (java). Профилирование показало, что именно они занимают львиную долю вычислительных ресурсов. Нашел в интернете более быстрые приближенные аналоги.


Как можно взглянуть на реализацию ? Тоже думал об замене, но ...

https://commons.apache.org/proper/commons-math/jacoco/org.apache.commons.math3.util/FastMath.java.html
Вот отсюда выдрал нужные мне функции.

27
Russian AI Cup 2015: CodeRacing / Re: Используемые Алгоритмы
« : Декабря 13, 2015, 03:12:42 pm »
Не исключаю вариант, что я не знаю C# ибо на олимпиаде почти первый раз пишу на нем (не считая своих собственных эксперементов)

Не должно тормозить.. У меня вот на java грубо говоря за 10 мс просчитывается около 400 нод дерева поиска. Каждая нода примерно 10-15 тиков. Попробуй запустить профайлер, и посмотреть какие функции занимают больше всего времени. Вполне возможно что там очень просто получится исправить и поднять производительность в разы. У меня замена стандартных тригонометрических функций java , самописными, ускорила все раз в 10. Процессор Core i7 3.5 GHz

28
Russian AI Cup 2015: CodeRacing / Re: Используемые Алгоритмы
« : Декабря 13, 2015, 02:07:00 pm »
Какие же вы молодцы, те кто не поленился запилить визуализацию работы алгоритма..  Все так красиво, наглядно.  :)

29
Russian AI Cup 2015: CodeRacing / Re: Используемые Алгоритмы
« : Декабря 13, 2015, 02:54:16 am »
У меня бот наверно ничем не примечательный :)

Первые 2 дня ушло на реверс инжиниринг физики движения. Подбирал и формулы и магические константы к ним, что называется интуитивно и на глазок. Получился класс CarSimulator. Для него был написан юнит тест в котором машинка едет вперед, поворачивает, сдает назад, и поворачивает задом. На каждом тике тест проверяет, что предсказанные значения на прошлом тике: положение, угол, вектор скорости не сильно отличаются от реально наблюдаемых. Например допустимая ошибика по позиции машинки за тик у меня 0.15, что, учитывая размеры мира, довольно небольшая величина.

Поиск пути на карте - A*, в котором на оценку пути влияет его сложность. Например повороты в виде буквы Г - дают один штраф, крутые повороты в виде буквы П - большой штраф - а развороты на 180 градусов - вообще огромный штраф :) Единственное что жалею - не успел сделать учитывание бонусов.. Да и пришлось в последствии, как и lama поморочиться с диагональным движением - при котором штраф должен быть минимальным.

Потом было написание версии 1 основанной на абстракции MovePlan - т.е. план движения. В зависимости от сложности следующего поворота генерируются несколько (до 150) вариантов движения последующего поворота ( с тормозом и без в разные интервалы времени) Эта версия прошла 1 раунд. Но с появлением новых карт, особенно _ud1 пришло осознание, что она недостаточно гибкая и в целом сильно уступает по скорости прохождения топовым ботам.  Рекорд был в районе 8500 тиков на карте _ud1.

Тогда я принялся за написание версии 2, которая просто строит дерево поиска траэкторий. В начале в дереве 1 нода, потом она "раскрывается" порождая 6-12 детей. Каждая нода (кроме корня) производит симуляцию на N тиков вперед, где N  - динамическая величина. Чем меньше скорость тем больше N - это необходимо для того чтобы не попасть в ловушку эффекта горизонта. При создании ноды вызывается функция оценки (score). Все нераскрытые ноды сгружаются 1 общий список, и следующая раскрывается с наибольшим значением величины order = score / depth (где depth - глубина в дереве поиска) Деление на depth обязательно, чтобы дерево не вырождалось в 1 очень длинную ветку, которая начинает раскрываться на конце, обнаружив коллизию.
Дерево раскрывается до тех пор пока не истечет 12 мс (3 резервных миллисекунды про запас)  с начала тика - поэтому таймаутов у меня быть не может по определению.

Очень долго отлаживал 2ю версию, т.к. на начальных картах она сливалась версии 1 :) Но таки мало по малу начала показывать лучшие результаты.

Из последних нововведений - это сохранение последней лучшей ветки дерева поиска и переиспользование её нод на следующем тике.

Функция оценки берет за основу квадратных корень пройденного пути, и потом налагает разные штрафы в зависимости от всяких углов до следующий тайлов в пути (углы машинки и скорости) + большой штраф за коллизии со стенками. Тут тоже все на глазок подбиралось и подстраивалось на протяжении всего конкурса.

Для производительности не пользовался стандартными функциям типа StrictMath.cos, atan2 и т.д (java). Профилирование показало, что именно они занимают львиную долю вычислительных ресурсов. Нашел в интернете более быстрые приближенные аналоги.

Жаль не удалось пробиться хотя бы в десятку, но все равно получил огромное удовольствие от участия!

DVS: Твой бот действительно мастерски проходит не слишком сложные траэктории на картах, филигранно лавируя и практически не тормозит. Прям приятно наблюдать :) Жаль на заковыристых картах финала так подслился. Можешь небольшой примерчик как скрещиваются 2 пути?

30
...

При этом в мире под ИИ понимают более глубокие и частные случаи: машинное обучение, компьютерное зрение, анализ данных и т.д. - в данном конкурсе ничего из этого не нужно.

...
Со всем что выше согласен кроме этого. ИИ - более широкое понятие, которое включает в себя создание рациональных агентов.
"Рациональным агентом называется агент, который действует таким образом, чтобы можно было достичь наилучшего результата или, в условиях неопределенности, наилучшего ожидаемого результата"
"Ограниченная рециональность - организация приемлемых действий в тех ситуациях, когда не хватает времени на выполнение всех вычислительных действий, которые действительно могли бы потребоваться"

[Искусственный интеллект, Современный подход, стр 39-40]

31
Russian AI Cup 2015: CodeRacing / Re: Следующий russian ai cup
« : Декабря 06, 2015, 11:49:56 pm »
А как вам идея 2д боев мелких подвижных нинзя на карте типа платформер?
Карта может генерится случайно, но симметрична относительно 2 команд.
Объекты карты: прямоугольные платформы, стены, ящики.

Нинзя могут прыгать на большое расстояние, по легко высчитываемым параболическим траэкториям. Зацепляться за стены, и отпрыгивать от стены. Можно менять направление движения находясь в прыжке.
Кроме того, можно сделать 1 дополнительный прыжек находясь в воздухе. Это даст им большую мобильность. (Каждый следующий дополнительный прыжок иммеет в 2 раза меньше максимальную силу пряжка).
Можно становится на голову другому нинзя, и осуществлять прыжок с нее.

Можно наносить удары вправо, влево, вверх или вниз (последние 2 только находясь в прыжке).
Удар наносится в несколько тиков (замах мечем), чтобы была возможность его увидеть и уклонится, однако достаточно быстро, так что на малом расстоянии уклонится все же нельзя.
Успешный удар слегка отбрасывает в сторону на расстояние такое, что для того что-бы ударить снова надо подойти (чтобы исключить возможность тактики - подойти вплотную и бить-бить-бить).
Можно начать удар на расстоянии более радиуса поражения, и за несколько тиков подготовки к удару подойти ближе, войдя в область поражения, либо развернутся и нанести удар в другую сторону)
Удар прирывается: по команде игрока, если нинзю ударили, если начать новый удар.

Силу прыжка можно варьировать, но не больше некого максимума.
Для простоты - движение без ускорения - скорость применяется мгновенно.

В разных тяжело доступных местах будут расположены сферы силы. Подбирая их можно получать разные бонусы:
  • + к скорости движения
  • + к максимальной силе прыжка
  • + дополнительный прыжок
  • + к скорости удара
  • + к силе удара
  • лечение
  • случайный бонус
  • бонус на выбор - через них реализуется режим РПГ, когда прокачиваем своих нинзя как хотим

Карты лучше строить таким образом чтобы по бокам была возможность подъема наверх, чтобы всегда можно было удрать, даже если тебя оттеснили к краю карты.

Побеждает тот кто убьет больше ниндзя из команды соперника, или соберет больше сфер силы за определенное время.

1й раунд конкурса: по 2 нинзя в каждой команде, маленькие карты
2й раунд: 4 нинзя и средние карты
3й раунд: 8 нинзя и большие карты

В случае команд из нескольких нинзя можно строить более сложные групповые боевые стратегии, окружения. Делить команду на тех которые будут мешать сопернику, а другие собирать сферы, и тд. Можно становится на головы своих чтобы доставать особо сложно запрятанные сферы и тд. Простор для творчества - огромный!

Можно еще придумать что-то вроде кидания "звездочек" сюрикенов. Которые можно сбивать другими сюрикенами или уклонятся :)

32
Привет!
А никого не волнует вопрос о неравносильности позиций на старте?
Например на карте:

Хуже всего игроку 4, т.к. из-за низкой начальной скорости и близости к крутому повороту - практически невозможно выполнить поворот чисто (не врезавшись с в стену)? С другой стороны игрок 1 может с легкостью повернуть по большой дуге.
Интересно бы собрать статистику по картам - какой средний винрейт у игроков 1, 2, 3 и 4. И если он существенно отличается - то перерабатывать карту.

33
Russian AI Cup 2014: CodeHockey / Re: CodeXXX 2015
« : Октября 22, 2014, 05:01:17 pm »
Кстати, если добавить еще портальную пушку, то вообще огонь будет  :D

34
Russian AI Cup 2014: CodeHockey / Re: CodeXXX 2015
« : Октября 22, 2014, 03:51:27 pm »
А идея с need for kill никому не понравилась? А то никто ничего не сказал.

Годная идея. Сделать случайные карты, с разными типами оружия (чтобы каждое было хорошо по своему) почему бы и нет.. Должно быть зрелищно.
Можно еще разные типы местности добавить, типа лавы, шипов на стенах. И гравипушку чтобы врагов туда скидывать  :D
Тут и FFA режим можно проводить, и 1 на 1.

В плане физики должно быть все минималистично. Только ускорение свободного падения + заранее известные ускорения игроков при движении.
Столкновения абсолютно не упругие.

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

35
Russian AI Cup 2014: CodeHockey / Re: CodeXXX 2015
« : Октября 11, 2014, 10:24:37 pm »
Тумана войны не будет.

36
Russian AI Cup 2014: CodeHockey / Re: CodeXXX 2015
« : Октября 11, 2014, 08:03:10 pm »
Как мне кажется это уже будут излишние ненужные усложнения. Тут важно не переусложнить чтобы не отпугнуть игроков.

37
Russian AI Cup 2014: CodeHockey / Re: CodeXXX 2015
« : Октября 11, 2014, 07:08:49 pm »
В этой игре придется решать множество задач как то:
- вывод формул движения планет
- поиск оптимальной траектории полета к планете на ее перехват.
- перебор вариантов обхода планет чтобы максимизировать доход (более крутой вариант задачи коммивояжера).
- выбор как лучше вложить деньги, во флот плохих кораблей или в меньшее кол-во более быстрых и маневренных. Или лучше, после определенного момента, не вкладывать деньги в корабли вообще, чтобы дотерпеть до конца игры с большей суммой.
- перехват сбора с планет у оппонента.
- перехват вражеских кораблей если это целесообразно / уворот от перехвата вражескими кораблями.

Да, еще можно добавить некий таймаут, в течении которого на планете не увеличивается сумма после сбора - чтобы исключить тактику, когда корабль все время кружит вокруг одной планеты. Т.е. чтобы выгоднее было лететь к другим планетам.

38
Russian AI Cup 2014: CodeHockey / Re: CodeXXX 2015
« : Октября 11, 2014, 06:57:35 pm »
А вот еще вариант игры которая однозначно сломает мозг всем.
Игра в космических сборщиков дани. Начинают игроки каждый на своей космической базе. В распоряжении есть некоторая сумма денег. Кроме этого на поле еще есть N планет которые каждый тик накапливают в себе некоторую сумму денег. Каждый игрок покупает себе корабли чтобы облетать планеты и собирать дань которая накопилась (с начала игры или с и момента прошлого сбора)
Отдельная слово про корабли. Они обладают такими параметрами как:
- скорость
- длинна отрезка на который корабль может лететь без поворотов
- максимальный угол на который может повернуть корабль в точке поворота.
последние 2 параметра задают его маневренность.
Игрок может сам выбрать характеристики корабля, однако чем круче корабль тем он изначально дороже и тем дороже его эксплуатация.
Таким образом будет выбор допустим или купить 2 плохих корабля, или 1 хороший.

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

Отдельно про планеты:
- Они не стоят на месте а двигаются по некой эллиптической орбите. Заранее функция движения планет не известна и игрокам нужно ее самостоятельно вывести.
- Начальный запас денег на планете и скорость их накопления разная для всех планет

Про карту в целом:
- около 10-20 планет
- Достоинства планет, характер их движения симметричны относительно баз
- Все купленные корабли появляются на родной базе
- базы неподвижны

Выигрывает тот который накопит денег допустим больше чем другой в 5 раз или тот который накопит больше после N тиков.

P.S. Тумана войны не будет.

39
Russian AI Cup 2014: CodeHockey / Re: Остановите Mr.Smile
« : Октября 11, 2014, 12:46:47 pm »
Только посмотрите.. alberist на 2 очка обгоняет Mr.Smile в первой части финала! Итого перевес по очкам составил 0.14%
Это уже становится интересно!

40
Russian AI Cup 2014: CodeHockey / Re: CodeXXX 2015
« : Октября 10, 2014, 08:28:48 pm »
На следующий год хочется чего-нибудь в таком же духе.
Например футбол какой-нибудь где стратегии управляют не командой а отдельным игроком.
Делать AI под отдельного игрока конечно интересная задача, но для этого надо чтобы запускалось по 1 процессу на игрока. Что-то мне кажется, что это чрезмерная нагрузка на сервера получится..
Насчет делать футбол, ну.. это как-то не оригинально.

41
Russian AI Cup 2014: CodeHockey / Re: CodeXXX 2015
« : Октября 08, 2014, 12:09:04 am »
Как насчет симулятора средневековых битв?
В подчинении много (сотни) отрядов скажем по 10 человек каждый. Каждый отряд имеет тип: мечники, копейщики, лучники, конница разных типов. + ввести отряды командиров, которые дают ауру повышения боевого духа. Для реализма добавить, что, когда армия окружается, или рассекается, то боевой дух падает, и солдаты начинают драться хуже или вообще бежать. Карта - с разными типами местности и разной высотой. Отряды изображаться будут чисто схематически, тут красивости не самое главное.
У двух игроков изначально случайно сгенерированные но одинаковые по составу армии. Карта тоже будет симметрична для обоих игроков.
В задачи будет входить:
1) разведка (т.к. будет туман воны с учетом карты высот и типа местности)
2) боевое построение
3) эффективное использование разных типов войск
4) эффективное использование преимуществ местности.
5) эффективное использование командиров для поднятия боевого духа в стратегически важных местах сражения
6) ну и собственно боевые маневры, как то стремительные атаки, окружения, замена уставших подразделений более свежими и тд, и тп, возможностей тьма

Мне кажется это будет интересно, и, главное, необычно. Я вот не припомню чтобы на конкурсах AI было нечто подобное.

42
Russian AI Cup 2014: CodeHockey / Re: Остановите Mr.Smile
« : Октября 07, 2014, 11:35:08 pm »
Цитировать
насчет болта врядли, найдите болт против Chess FritZ

Это который шахматный движек?
Так вроде не он сейчас сильнейшний.

43
Russian AI Cup 2014: CodeHockey / Re: Остановите Mr.Smile
« : Октября 07, 2014, 06:47:02 pm »
Цитировать
У меня тоже идеальная физика, но там перебор слишком большой (движение 2х хоккеистов, разброс траекторий на пас и на последующий удар)...
Хотя идея с пасом просто наугад если нет возможности забить и  вот вот отнимут... можно попробовать. Я пока бъю по воротам как получится если "вот вот отнимут" и шанс забить мимо вратаря хотя-бы 0.2 :)
Почему перебор большой? Достаточно перебрать все углы пасса и удара с шагом в 1 градус к примеру. При запуске модели всех хоккеистов можно считать более менее тупыми болванчиками , 1 из которых защитник и 2 других просто едут и поворачиваются на шайбу. Тогда ветвления не будет совсем. Хотя можно и добавить в некоторых ключевых моментах легкое ветвление, если это не слишком увеличивает общее кол-во вариантов и время в запасе еще есть. Симуляцию можно заканчивать через N тиков или по другому критерию, например после расчета куда попадет удар противника, или свой удар. А в конце симуляции нас ждет оценочная функция которая может включать такие параметры как: кто контролирует шайбу, близость шайбы к секторам действия клюшки хоккеистов своих и соперника, близость шайбы к воротам и текущий вектор скорости шайбы.
Аналогично можно оценивать что будет делать противник имея шайбу у себя. И двигать сразу хоккеистов таким образом чтобы препятствовать самому плохому сценарию для себя. 

Думаю я не открыл тут Америку и все топовые боты работают примерно так же +/-. Либо только Mr.Smile до этого дошел а остальные остались на уровне развития "тупой скрипт"  :)

44
Russian AI Cup 2014: CodeHockey / Re: Остановите Mr.Smile
« : Октября 07, 2014, 04:32:03 pm »
А по моему все очевидно - жесткое эскплуатирование физики - пассы от бортов и от вратаря, пасы под удар. Вероятно ему удалось наиболее точно воспроизвести физику и сделать небольшое моделирование игры наперед, и выбор варианта который через N тиков даст лучшее значение некоторой оценочной функции. Скажем если к хоккеисту с шайбой приближается соперник (да и не только в этот момент, а вообще) то перебираются все возможные варианты пасса, в том числе те, при которых шайба рикошетит от бортов, или от своего вратаря, и после которых шайба окажется дальше от противника и ближе к своим / дальше от своих ворот - ближе к вражеским. Для противника на время моделирования можно считать что будет использоваться некая упрощенная прямолинейная стратегия.
Надеюсь меня не забанят тут за вброс идей?  :D

45
Russian AI Cup 2014: CodeHockey / Остановите Mr.Smile
« : Октября 07, 2014, 02:56:24 pm »
Эй, 300 пунктов отрыва от 2 места это уже серьезно.. Ребята из топа, ну-же, напрягитесь, еще 3 дня. Подтягивайте своих ботов, а то финал будет лишен интриги!

46
Russian AI Cup 2014: CodeHockey / Re: CodeXXX 2015
« : Октября 05, 2014, 11:37:21 pm »
Конечно каждый решает для себя сам. Я узнал о warlight-ai где-то за 3 месяца до начала финалов, хотя до этого оно примерно столько же шло без меня, и сумел ворваться в топ.  Там кроме моего может штуки 3 не захардкодженых бота может наберется, все остальные в следующем сезоне надо будет полностью переписывать. Так что пока конкуренция не очень большая.. У всех есть шанс пробиться и претендовать на хороший приз.

Насчет внедрения текущих ботов в warlight - пока говорить рано, этого точно нет :) По все той же причине заточенности под 1 карту. Вот после 2 сезона уже можно будет об этом подумать..

47
Russian AI Cup 2014: CodeHockey / Re: CodeXXX 2015
« : Октября 05, 2014, 10:27:36 pm »
Как сказать.. Я думаю здешним обитателям будет в принципе легко дойти до 2 места. Но обогнать меня - это вряд ли ;)
Большинство ботов там заточены под единственную в первом сезоне карту Small Earth. Вплоть до того что жестко хардкодили стратегии, имбовые на этой карте. Я же в принципе ничего не хардкодил и изначально пытался делать бота независимым от карты. Поэтому во втором сезоне все эти боты моментально отвалятся. 

Плюс я уже 4 года играю на warlight.net и немного разбираюсь в том как правильно в нее играть  :)


Выплата приза банковским переводом SWIFT.

48
Russian AI Cup 2014: CodeHockey / Re: CodeXXX 2015
« : Октября 05, 2014, 09:49:11 pm »
Согласен, нет у них четкого расписания. Работают по принципу "когда сделаем тогда и объявим". В последнее время они были сфокусированы на новом дизайне сайта..
Насчет трудно ли будет догнать.. В покере ХЗ - я картами не очень интересуюсь.. не участвую там, поэтому мне трудно судить об уровне ботов. В warlight-ai  - да, догнать будет трудно :) Но с другой стороны "догнать" - это тоже своеобразный челендж :) Тем более что времени еще до финалов warlight-ai (следующего сезона), я думаю месяцев 4-5, так что вполне реально)

49
Russian AI Cup 2014: CodeHockey / Re: CodeXXX 2015
« : Октября 05, 2014, 05:59:13 pm »
2е в официальном финале который уже давно прошел. С тех пор песочница работает и можно бота своего улучшать.  Насчет скорого старта следующего сезона - это пока неофициальная информация, где-то на форуме проскакивала, сейчас хоть убей не могу найти.

Да, там прикольно, что раскачка до основного турнира долгая.. По покеру эта штука уже месяца 4 как идет.

50
Russian AI Cup 2014: CodeHockey / Re: CodeXXX 2015
« : Октября 05, 2014, 02:22:52 pm »
Цитировать
Ещё вот интересный челендж :)
http://theaigames.com/competitions/warlight-ai-challenge

Ага. См. кто 1е место песочницы там сейчас  ;)

Скоро (через месяц где-то) начнется там следующий сезон - на этот раз на случайно сгенерированных картах. Так что подтягивайтесь, а то серьезных соперников мало  :)

P.S. Ну и призы хорошие  2^(11-n) €. Где n - занятое место.

Страницы: [1] 2