CodeTanks
С 29 октября открылась песочница чемпионата Russian AI Cup — соревнования по программированию искусственного интеллекта.
Начнется сие действо 10 ноября. За всеми подробностями на официальный сайт: http://russianaicup.ru/
Песочница
Место | Участник | Рейтинг | Δ |
155 | weirdlos | 2705 | 28 |
342 | Raziel | 2565 | 24 |
618 | Kozinaka | 2419 | 39 |
1388 | 4mlr | 2119 | 2 |
1576 | Randomize | 2031 | 6 |
Раунд 1
Место | Участник | Рейтинг | Δ |
309 | weirdlos | 825 | 464 |
379 | Raziel | 783 | 397 |
498 | Kozinaka | 708 | 369 |
Раунд 2
Место | Участник | Рейтинг | Δ |
58 | weirdlos | 484 | 484 |
- 02 ноября 2012, 01:58
Честно, если бы понравился ваш сайт, то поставил бы плюсик.
Я ни к конкурсу, ни к сайту ни малейшего отношения не имею )
Ну что поделать. ) собственные инициативы это круто, это уважаю )
Я уже день третий наверно собираюсь написать хоть что-нибудь и все ленюсь =/
Жаль, не пишу ни на одном из этих языков.
"Одноклассники" улыбнули.
А на каком языке ты пишешь? Ну, кроме GML.
Кстати, раз пошла такая пьянка — как насчёт всем участвующим гаминцам отписаться здесь со ссылками на профили? А в теле поста можно вести этакую локальную турнирную таблицу.
Ссылка.
Таблицу буду обновлять раз в сутки, скорее всего.
А где вообще можно почитать про АИ для танков? Вроде была раньше около игра на эту тему...
Robocode называется, но там немножко по-другому.
О, нас уже четверо? ;) Прогресс...
О, вот и 4mlr объявился! Жаль, что на Гамин он совсем забил, да и игр я что-то давно от него не видел. А его "Ми" была забавной. Такая экспериментальная штукенция с необычным геймплеем, а вот флешку по мотивам потом, конечно, испортили, оказуалили. И она потеряла весь шарм.
http://russianaicup.ru/profile/Kozinaka - не удержался.
Успехи пока ниже среднего, но всё равно весело! :)
Добавлю при обновлении таблицы. Заодно поднимешься в рейтинге пока ;)
Хе-хе, подняться поднялся, но тебя не смог обогнать. Клёвый у тебя там график роста - постоянный подъём, без плато. Ты постоянно апдейтишься?
Последние два дня — нет, раньше мог десять версий в день выложить с изменением одной константы :)
А плато у меня было, посередине между 4 и 5 ноября. Я тогда почти полностью переписал стратегию.
Ну что ж, поздравляю нас с попаданием в первый раунд! :)
Таки да. После первой части, возможно, опять сяду за доработку. Но моя цель в этом конкурсе — футболка :)
Аналогичный случай в нашем колхозе!
Я не успел долить пару правок ошибок. Но по крайней мере заметил за час до начала, что попутал радиус с диаметром в обсчете препятствий выстрелу и что при дохлом экипаже ищу броню, а при дырявом танке охочусь за аптечками. :)
Я вообще очень вовремя заметил, что перепутал где-то там ширину и высоту. И в другом месте поставил целочисленный тип вместо вещественного, сижу голову ломаю: как оно работало-то?
:) Удивительно насколько некоторые фишки, которые долго пилил и кажутся тебе важными иногда оказываются незначительными на фоне дубовых правил типа "бери больше, кидай дальше, бей лежачего, жри аптечки".
Начались первые бои первого раунда! Приятно расслабиться и просто наблюдать за своим питомцем.
Эти некоторые фишки отвоёвывают чуть-чуть очков или чуть-чуть здоровья, так что могут оказаться решающими :)
А тем временем мой первый бой приносит мне 10 очков! Йуху!
Хренасе! Класс! А у меня два балла за первый бой. Причём два раза убили - сначала в первой трети вынесли, потом натолкнули на аптеку и снова убили: http://russianaicup.ru/game/view/158150
Судя по всему, одна волна ~ 10-15 минут, то есть за половину раунда пройдёт 70-140 боёв. Можно рассчитывать на адекватность рейтинга.
Не больше 100 боёв, они так в правилах написали. Видимо хотят отстреляться пораньше. :) Профайлы у тех, кто в первом раунде периодически клинит, серваки у них ща дымятся наверное. :D
Не вижу про "не более 100 боёв". Там про "не менее 10 волн" есть.
http://russianaicup.ru/post/21
О. Тут-то я и не смотрел. Ну, судя по всему, их будет ровно сто.
Хоть выводы делать и рано, рейтинг меня определённо радует. После заморозки обновлю таблицу.
Чорт. Чуть-чуть не хватает до футболки :)
А мне до неё, заветной, вовсе и не чуть-чуть не хватает. :(
Здорово, что они придумали середине раунда делать паузу для доделок. Только на то и надежда, что мои поправки сделают меня лучше: сделал какой-никакой уход форсажем от снарядов, ускорил снычивание в угол во время начала раунда, подкрутил приоритет выбора целевого танка и целевого бонуса, отключаю доворот башни корпусом в тяжелых ситуациях, когда стрельба не самое главное.
Кстати, незначительная фишка в виде уклонения от пуль нехило мне помогла в третьем бою. Так что не стоит их недооценивать ;)
Супер! Я не успел ничего такого, но твой подход мне нравится: рикошеты, это точно баловство, а вот форсаж по прямой, если можешь избежать снаряда, это отличное правило! Попробую успеть зарядить что-нибудь подобное во время переменки. :D
У многих топеров это явно есть, так что тут никаких инноваций :)
Делюсь идеей: потенциальные поля.
Забыли...
Очень интересно наблюдать за происходящим. Мне, к сожалению, не хватило ни времени, ни желания, чтобы поучаствовать – надеюсь, удастся на следующий год. Спасибо, Raziel, за поддержку движухи.
Уоу. Постыдили меня. Уделил своему танку не более 4х часов. Удивительно, что он даже побеждает иногда.
Что ж, обидно. Отсюда мораль - надо меньше спать на конкурсе. Получасовое исправление багов в перерыве первого раунда подняло меня в рейтинге на 40+ мест.
А если бы я потратил эти же полчаса в пятницу - прошел бы на второй. :(
Если кому интересно, стратегия:
Движение:
1. Если в нас что-нибудь летит - уклоняемся, иначе:
2. Если неподалеку от нас есть нужный бонус - едем его есть (понятие "неподалеку" меняется по ходу боя), иначе:
3. Едем либо в ближайший "дом", либо, если мы уже в доме - переезжаем в соседний. Дома - углы, соседние - два, кроме противоположного. Дом выбирается по удаленности с учетом разворота, насыщенности врагами и бонусами.
Пробовал варианты с шестью домами (+2 по центру длинных сторон) и восемью домами. Отсиживаться по углам - выгоднее.
Поворот башни:
Подсчитываем, в кого мы успеем попасть до окончания перезарядки (с учетом скоростей и угловых скоростей).
Из претендентов выбираем либо ближайшего, либо, если есть, ваншотного.
Стрельба:
Ну тут все просто, если ничего не мешает (препятствия) - стреляем.
У меня стратегия почти в точности такая же :)
1. В первую очередь пытаемся отбить летящую в танк пулю (если угол мал и пуля точно летит на танк)
2. Выбор претендента - фитнесс-функция от четырёх параметров: угол от башни до противника, расстояние до него (т.о. вероятность попасть), угол от башни противника до танка (если кто-то в нас целится, надо его удрать) и сколько очков принесёт попадание.
Движение:
1. Уклонение (полный вперёд/назад).
2. Бонус берём также по фитнесс-функции, правда, немного другой уже.
3. Ныкаемся в угол или посреди длинной стороны (там места для манёвра больше).
Двойственная штука, да.
Как и что? там вобще происходит? как происходят бои?!
Ну, в общем-то, мы дружно вылетели в первом раунде (см. таблицу). Поэтому лично у меня там больше ничего не происходит :)
а как это игралось? )
Программируешь ИИ танка: как ему двигаться, когда и в кого стрелять, какие бонусы собирать. Отсылаешь на конкурс. Там устраивается множество боёв между танками с ИИ от разных людей. Таким образом выясняется рейтинг участника. В общих чертах так.
Хм, круто, было-бы видео )
Есть видео. Заходишь, например, в профиль Raziel'я (все ссылки в посте). Опускаешься чуть ниже – там таблица "Все бои" – это все бои с участием танка(ов) Raziel'я. К каждому бою есть кнопочка "Смотреть" – жмёшь – смотришь в открывшемся окошке. Закрывается оно на Esc.
Потрясающе, вот это круто ) Спасибо за Хэлп )
Нихрена себе.
Уже 82. Пора браться за дело.
Та-да!
Нифига не понимаю. Стратегию не трогал с выходных, даже не заглядывал.
Я - 28-й.
Похоже ближайшие сутки придется посветить допиливанию под 2-й раунд.
Ну, буду надеяться, что за сутки поднимусь в рейтинге достаточно, чтобы заполучить заветный кусок ткани.
Тем временем я научился не гоняться вдвоем за одним бонусом :)
Разиэль, а ты чего так упал? Ты ж вроде по рейтингу где-то близко был...
Да без понятия. Зато после минорной правки вон как взлетел. (Я там между обновлениями таблицы ниже 100 падал)
И опять рухнул. Печаль.
12-й. А ведь по-сути ничего не поменял, просто аккуратно переписал расчет угловых размеров объектов и чуть-чуть поменял алгоритм движения к точке.