Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Спортивное программирование -
это не страшно!
Опыт участия в конкурсе
Russian AI Cup 2013
CodeTroopers
Russian AI Cup - соревнование по
программированию искусственного интеллекта
(AI).
Задача: написать AI, управляющий отрядом солдат
в пошаговой стратегии.
Стратегии соревнуются между собой в боях:
О конкурсе: постановка задачи
СЕРВЕР СТРАТЕГИЯ
СТРАТЕГИЯ
СТРАТЕГИЯ
Состояние игрового мира
Действие
О конкурсе: принцип боя
5 видов юнитов, 3 типа бонусов:
О конкурсе: правила игры
Юниты ходят по очереди, на ход дается 10-12 очков действия.
За нанесение урона / уничтожение юнитов противника начисляются очки.
Побеждает команда, набравшая больше очков (даже если все её бойцы
были уничтожены).
Лимит времени: 0.2 секунды на ход (в среднем).

Recommended for you

Открытые данные: Рычаг экономического развития или неэффективная растрата гос...
Открытые данные: Рычаг экономического развития или неэффективная растрата гос...Открытые данные: Рычаг экономического развития или неэффективная растрата гос...
Открытые данные: Рычаг экономического развития или неэффективная растрата гос...

Выступление Натальи Храмцовской об открытых данных на организованной еженедельником PCWeek конференции Russian Enterprise Content Summit 2013, прошедшей в Москве 12 сентября 2013 года. В выступлении сделан акцент на обычно замалчиваемые проблемы и риски, связанные с инициативами открытых данных, особенно с точки зрения конкретных государственных органов. Dr Natasha Khramtsovsky's presentation “Open data – Is it a driver of the economic development or a useless waste of the government resources?” at the conference Russian Enterprise Content Summit 2013 organized by PCWeek weekly in Moscow on September 12, 2013. The presentation is focused on ‘unpopular” topic of risks and issues associated with the open data (especially from a government agency’s point of view).

open datarussiaоткрытые данные
Sales for Startups
Sales for StartupsSales for Startups
Sales for Startups

The way consumers buy has changed. To maximize your sales--and profits--your salespeople must adopt. Here's how they should do it.

startupssalesb2bsales
Impact mapping - типичные проблемы
Impact mapping - типичные проблемыImpact mapping - типичные проблемы
Impact mapping - типичные проблемы

Презентация показывает типичные вопросы и

impact mapping
Видимость несимметрична:
A не видит B, но B видит A
“Физический смысл” видимости:
О конкурсе: видимость
вид сбоку
О конкурсе: формат соревнования
• языковой пакет - скелет стратегии
• Local Runner
• Repeater
Набор участника
CodeTroopers (2013)
• игра пошаговая
• четкие, однозначные
правила позволяют
точно предсказать
состояние игрового
мира
• игра с неполной
информацией
Отличия от CodeTanks
CodeTanks (2012)
● игра реального времени
● симуляция физики с
неизвестными
параметрами

Recommended for you

Development of the russian sea port infrastructure.
Development of the russian sea port infrastructure. Development of the russian sea port infrastructure.
Development of the russian sea port infrastructure.

This document discusses Russian port infrastructure and logistics. It provides an overview of cargo flows through major Russian ports in 2013. The largest cargo types by volume were oil and oil products (56.8% of total cargo). It also outlines key development projects aimed at expanding port capacity for containers and other cargo in major ports like St. Petersburg, Ust-Luga and Primorsk. Additionally, it reviews the modal split of cargo transportation to and from ports, with rail being the dominant mode.

sea portsportcentric logisticsrussian ports
Customer journey, пиратские метрики и лестница узнавания
Customer journey, пиратские метрики и лестница узнаванияCustomer journey, пиратские метрики и лестница узнавания
Customer journey, пиратские метрики и лестница узнавания

В слайдкасте рассказывается о воронке продаж, AARRR-метриках и проектировании приложений с использованием Customer Journey Map

awareness laddercustomer journey mappirate metrics
White Sales School - About Sales Management
White Sales School - About  Sales ManagementWhite Sales School - About  Sales Management
White Sales School - About Sales Management
salessales management
Отличия от “обычного” соревнования:
• продолжительность: не 4-5 часов, а 4-5 недель
• сравнительно большой обьем кода, итерационная разработка
• упор не на эффективность алгоритмов, а на способность к развитию
• поэтому архитектура, расширяемость и удобство отладки имеют большое
значение
Отличия от разработки AI для реальных игр:
• В реале обычно иная цель - чтобы AI играл интересно, развлекал игрока.
А не тупо выигрывал.
Отличительные особенности
• Нет смысла делать версию, которую потом придется
полностью переделывать. Эвристики - путь тупиковый,
поэтому нужно сразу писать перебор.
• Ключевые факторы - скорость развития и отсутствие
багов. Поэтому нужны хорошие средства отладки.
• Нюансы решают! Не усложнять!
• План развития: добавлять фичи, углублять перебор,
оптимизировать параметры (возможно генетическим
алгоритмом?)
Строим начальный план
Глобальный AI
Анализирует состояние игрового мира,
ставит глобальные цели,
меняет параметры локального AI для
достижения глобальных целей.
Архитектура базовой версии
Локальный AI
принимает решение по текущему ходу
Перебор всех возможных
действий
(с отсечением)
Оценочная функция
Базовая версия учитывает такие факторы:
• общее здоровье команды
• продвижение к глобальной цели
• “выгодность” занимаемых клеток (4x-3y)
• расстояние до остальных членов команды (особенно
для командира и медика
• стойку и возможность нанесения урона видимым
противникам
• невидимость для известных противников
• наличие бонусов
Оценочная функция

Recommended for you

Сергей Парамонов — Что наша жизнь — игра!
Сергей Парамонов — Что наша жизнь — игра!Сергей Парамонов — Что наша жизнь — игра!
Сергей Парамонов — Что наша жизнь — игра!
Моделирование продукта с использованием бумажного прототипирования. Agilecamp...
Моделирование продукта с использованием бумажного прототипирования. Agilecamp...Моделирование продукта с использованием бумажного прототипирования. Agilecamp...
Моделирование продукта с использованием бумажного прототипирования. Agilecamp...

Нередки ситуации, когда дизайнеров рядом нет, а проект уже нужно запускать в разработку. Или — собран исчерпывающий бэклог, но не получается узреть, что собой будет представлять будущий продукт. Как увидеть и пощупать продукт, не выныривая из процесса сбора требований? Рассмотрим дешёвую в применении и в то же время изящную и простую практику на основе бумажного прототипирование и подхода к моделированию «Wizard of Oz». Agilecamp, Новосибирск, ноябрь 2011

wozwizard of ozpaper prototyping
Как играть без игрока
Как играть без игрокаКак играть без игрока
Как играть без игрока

Презентация Анны Варламовой на SQA Days-16 14-15 ноября 2014, Санкт-Петербург, Россия www.sqadays.com

sqa dayssqa days 16
Отладчик-визуализатор
Логи перебора
При тестировании боя создается 200-400 Mb логов с описанием всех
перебираемых вариантов действий:
1. Протестировать очередной бой.
2. Что-то не так?
3. Выяснить причину неразумного поведения по логам
4. Проблема может быть решена оптимизацией
параметров?
5. Если нет - подумать над добавлением новой фичи.
Принцип доработки
Фичи, добавленные до 1-го раунда
• использование всех типов бонусов
• pathfinding для определения расстояния между
юнитами / целями
• сохранение позиций врагов в течение хода
• определение известных карт
• обнаружение скрытого урона
• стратегия “доения медика”
• стратегия избегания “доения”
• авиаразведка и стратегия добивания
Добавление фич

Recommended for you

UX дневник как инструмент тестирования игры / Мария Амирханян, Екатерина Лисо...
UX дневник как инструмент тестирования игры / Мария Амирханян, Екатерина Лисо...UX дневник как инструмент тестирования игры / Мария Амирханян, Екатерина Лисо...
UX дневник как инструмент тестирования игры / Мария Амирханян, Екатерина Лисо...

Чаще всего при тестировании игр мы сталкиваемся с UX плейтестами. Но что делать в ситуации, когда вам нужно посмотреть не первую сессию или первый час игры, а пронаблюдать за вовлечением и возможными проблемами в течение нескольких дней или на протяжении всей игры? В этом случае плейтесты одного дня не помогут решить эту задачу, в отличие от дневниковых UX-исследований. Мария Амирханян (Head of Games – UX Research) и Екатерина Лисовская (Senior UX Researcher) из Mail.ru Group рассказывают про то, как и где их применять, а также делятся несколькими кейсами.

devgammgame developmentvideo games
Алексей Тарасенко - Zeptolab
Алексей Тарасенко - ZeptolabАлексей Тарасенко - Zeptolab
Алексей Тарасенко - Zeptolab
Dota Science: Роль киберспорта в обучении анализу данных
Dota Science: Роль киберспорта в обучении анализу данныхDota Science: Роль киберспорта в обучении анализу данных
Dota Science: Роль киберспорта в обучении анализу данных

Доклад на конференции AIST-2016 про анализ данных матчей одной из наиболее популярных киберспортивных игр Dota 2.

kagglebig datadota 2
Оптимизация параметров редко позволяет добиться
принципиально иного поведения в бою. Уровень игры
стратегии упирается в потолок.
А добавление новых фич способно сломать слаженную
работу имеющихся параметров оценочной функции.
Фичи vs оптимизация
Чтение форумов позволяет узнать, над чем работают
другие.
Учиться лучше на чужих ошибках.
Наблюдение за соперниками
Общий рейтинг песочницы не дает хорошего
представления об уровне игры новых версий.
Можно создавать бои вручную на сервере:
Где мы находимся?
Ограничения Local Runner:
• доступна лишь одна карта
• ограниченность в выборе соперников
Что делать?
а) взломать и модифицировать Local Runner
б) написать свой аналог
Локальное тестирование

Recommended for you

Feedback collection proper way. How to avoid data garbling
Feedback collection proper way. How to avoid data garblingFeedback collection proper way. How to avoid data garbling
Feedback collection proper way. How to avoid data garbling

Alexander Dzyuba, CEO, Sense.Vision Evgeniy Tur, Sense.Vision How to collect user feedback for decision making by game designer and game producer. Rules of research methodology picking and questions formulation. Dramatic differences from colloquial language. Striking data garbling during data collection, caused by wrong actions – results of provocative experiments with innocent players.

conferencedevgammgame development
2.5D игры и особенности разработки многопользовательских игр (Глеб Полушкин)
2.5D игры и особенности разработки многопользовательских игр (Глеб Полушкин)2.5D игры и особенности разработки многопользовательских игр (Глеб Полушкин)
2.5D игры и особенности разработки многопользовательских игр (Глеб Полушкин)
highload 2011
Тестирование в изоляции: Играем в драконий покер
Тестирование в изоляции: Играем в драконий покерТестирование в изоляции: Играем в драконий покер
Тестирование в изоляции: Играем в драконий покер

Доклад Евгения Говако на конференции SQA Days-19, 20-21 мая 2016 г., Санкт-Петербург

sqa days 19
Проверка боем даёт самые достоверные сведения о
реальном положении дел!
1. Это уникальная возможность для сравнения версий.
2. Возможность проверки корреляции результатов
раунда с результатами локального тестирования.
1-й раунд!
Опираемся на результаты локального тестирования:
• масштабный тюнинг параметров
Новые фичи:
• Оценка вероятности гранатных атак
• Сохранение информации о врагах между ходами
• Базовое определение порядка ходов
• Определение возможных позиций невидимых врагов
при получении урона
• Возможность бросать гранаты в невидимые клетки
• Учёт уничтоженных врагов
• Waypoints
Дальнейшее развитие
Сумма линейных функций - линейна.
Максимум такой функции - всегда на краях диапазона.
Иногда это хорошо, но бывает так, что нужен
компромисс.
Проблема крайностей
Убегать Нападать
Риска практически нет, поэтому те же принципы, что и в
первом раунде:
• ручной сбор статистики
• сравнение версий между собой и с результатами
локального тестирования
2-й раунд!

Recommended for you

King's Bounty 2: Tools and tech for open world game
King's Bounty 2: Tools and tech for open world gameKing's Bounty 2: Tools and tech for open world game
King's Bounty 2: Tools and tech for open world game

This talk covers tools and technologies that have been developed by the team to achieve both desired visual quality and target performance for Kings Bounty 2 using Unreal Engine 4

devgammconferencegame development
How to organize game design department in a right way
How to organize game design department in a right wayHow to organize game design department in a right way
How to organize game design department in a right way

Managers complain about their game designers: they don’t grow target metrics, they don’t understand the project, they don’t do what they are asked… Usually there is problem not in game designers, but in the work process. Mikhail tells how BANZAI organizes the GD departments in order to release games, that have more than 250 mln downloads.

devgammconferencegame design
Tech Talks @NSU: Как сделать Dota-like игру
Tech Talks @NSU: Как сделать Dota-like игруTech Talks @NSU: Как сделать Dota-like игру
Tech Talks @NSU: Как сделать Dota-like игру

http://techtalks.nsu.ru 23 сентября 2013. Как сделать Dota-like игру (Семен Корзунов, Nival (Москва)) Лекция прочитана в рамках проекта Tech Talks @NSU – серии открытых лекций о разработке ПО и карьере в IT, проводимых в Новосибирском государственном университете. Подробности: http://techtalks.nsu.ru

Почему эволюционный алгоритм не годится:
• еще много нереализованных фич!
• слишком долго: выгоднее потратить время на фичи
• есть опасность, что “не сработает” в реальном бою из-
за нерепрезентативной / ограниченной популяции
• люди говорят, что именно так оно и выходит :(
Что делать?
Оптимизировать параметры путём “ручной эволюции”
(похоже на линейное программирование).
Эволюция
Углубление перебора - FAILED! (а ведь предупреждали!)
Почему так?
• Игра с неполной информацией - неопределённость
слишком велика.
• Большое количество нюансов делает задачу крайне
сложной как в реализации, так и в дебаге.
Итог: 3 дня (из 5) потрачено впустую :(
Дальнейшее развитие
Новые фичи:
• Поле вероятности врагов
• Динамическая карта выгодности/опасности
• Более точное определение порядка ходов
• Режимы: разведка, бой, отступление, суицид.
• Вейпоинты и параметры, зависящие от карты и типа
юнита.
• Учет промежуточных положений (разведка)
Дальнейшее развитие - 2
Причины (на мой взгляд) неудачи в финале:
• потеря времени на углубленный поиск
• отсюда: недоработанность фич, баги, недостаточная
оптимизация параметров
• локальное сравнение версий уже не дает хорошего
результата
А как надо было делать?
• Формат финала сильно отличается - начинать работу над
ним следовало еще задолго до 2-го раунда (а ведь так и
планировал!)
• Необходимо было оставить хотя бы 2 дня на подгонку
параметров и проверку работы стратегии на реальных
противниках.
ФИНАЛ

Recommended for you

Суперсилы Chrome DevTools — Роман Сальников, 2ГИС
Суперсилы Chrome DevTools — Роман Сальников, 2ГИССуперсилы Chrome DevTools — Роман Сальников, 2ГИС
Суперсилы Chrome DevTools — Роман Сальников, 2ГИС

В своей работе мы постоянно используем инструменты, призванные облегчить нам жизнь. Но как хорошо мы ими на самом деле владеем? И почему мы пренебрегаем их суперсилами? Например, Chrome DevTools — это не только отладчик и инспектор HTML. Но когда у нас в руках молоток, кругом мерещатся гвозди. Десятки мегабайт и процентов загрузки процессора на вкладку браузера — верный признак того, что пора учиться пользоваться микроскопом. Роман предложит освоить что-то посложнее молотка и расскажет о том, какую реальную пользу можно получить от профилирования, как найти в огромном отчёте проблему с кодом и что лучше — написать в коде десяток console.log или async debug.

Character creation pipeline for Age of Magic (3D mobile)
Character creation pipeline for Age of Magic (3D mobile)Character creation pipeline for Age of Magic (3D mobile)
Character creation pipeline for Age of Magic (3D mobile)

Daniil Kozlovsky, Art Lead, Playkot Anton Ivichev, Playkot Dmitry Lebedev, Playkot Step-by-step description of the process of creating characters for a 3D mobile game in the fantasy setting. Good and bad solutions that the Age of Magic team tried while solving the problem of building an efficient and scalable production pipeline. #MadeWithUnity

conferencedevgammgame development
Олександр Дзюба та Євгеній Тур "Майстер-клас “Вивчення гравців. DIY” Ми реаль...
Олександр Дзюба та Євгеній Тур "Майстер-клас “Вивчення гравців. DIY” Ми реаль...Олександр Дзюба та Євгеній Тур "Майстер-клас “Вивчення гравців. DIY” Ми реаль...
Олександр Дзюба та Євгеній Тур "Майстер-клас “Вивчення гравців. DIY” Ми реаль...

GameDev Conference 2018 Олександр Дзюба та Євгеній Тур "Майстер-клас “Вивчення гравців. DIY” Ми реально навчимо робити найкращі ігри в світі через аналіз гравців"

После завершения конкурса все любят рассказывать:
“Как я это сделал!”
Оказалось что:
• Большинство стратегий устроены и работают
примерно одинаково.
• Многие топы (но не slash!) делали визуализаторы.
• Реализация перебора у slash’а весьма оригинальна.
• Никто из участников финала, рассказавших о своих
стратегиях, не использовал перебор глубже чем на 1
ход (зато со свистелками!)
• Большинство финалистов не реализовали всё, что
хотели.
А что же другие?
Очень хороший уровень организации. Никаких накладок
и сбоев.
Интересная задача: достаточно глубокая, с
разнообразными подходами к решению.
Впечатления от конкурса
Вопросы?
Кстати, их можно задать и по почте: cooler@tut.by ;)
А рассказ победителя можно почитать тут:
http://habrahabr.ru/post/206680/
Спасибо за внимание!

More Related Content

Viewers also liked

Russian internet audience in 2010
Russian internet audience in 2010 Russian internet audience in 2010
Russian internet audience in 2010
Fedor Virin
 
Как перестать мотивировать персонал
Как перестать мотивировать персоналКак перестать мотивировать персонал
Как перестать мотивировать персонал
Daniil Kolesnikov
 
Обучение взрослых
Обучение взрослыхОбучение взрослых
Обучение взрослых
Daniil Kolesnikov
 
Открытые данные: Рычаг экономического развития или неэффективная растрата гос...
Открытые данные: Рычаг экономического развития или неэффективная растрата гос...Открытые данные: Рычаг экономического развития или неэффективная растрата гос...
Открытые данные: Рычаг экономического развития или неэффективная растрата гос...
Natasha Khramtsovsky
 
Sales for Startups
Sales for StartupsSales for Startups
Sales for Startups
Yesware
 
Impact mapping - типичные проблемы
Impact mapping - типичные проблемыImpact mapping - типичные проблемы
Impact mapping - типичные проблемы
Artem Serdyuk
 
Development of the russian sea port infrastructure.
Development of the russian sea port infrastructure. Development of the russian sea port infrastructure.
Development of the russian sea port infrastructure.
Александр Головизнин
 
Customer journey, пиратские метрики и лестница узнавания
Customer journey, пиратские метрики и лестница узнаванияCustomer journey, пиратские метрики и лестница узнавания
Customer journey, пиратские метрики и лестница узнавания
Artem Serdyuk
 
White Sales School - About Sales Management
White Sales School - About  Sales ManagementWhite Sales School - About  Sales Management
White Sales School - About Sales Management
Mark&Sales
 

Viewers also liked (9)

Russian internet audience in 2010
Russian internet audience in 2010 Russian internet audience in 2010
Russian internet audience in 2010
 
Как перестать мотивировать персонал
Как перестать мотивировать персоналКак перестать мотивировать персонал
Как перестать мотивировать персонал
 
Обучение взрослых
Обучение взрослыхОбучение взрослых
Обучение взрослых
 
Открытые данные: Рычаг экономического развития или неэффективная растрата гос...
Открытые данные: Рычаг экономического развития или неэффективная растрата гос...Открытые данные: Рычаг экономического развития или неэффективная растрата гос...
Открытые данные: Рычаг экономического развития или неэффективная растрата гос...
 
Sales for Startups
Sales for StartupsSales for Startups
Sales for Startups
 
Impact mapping - типичные проблемы
Impact mapping - типичные проблемыImpact mapping - типичные проблемы
Impact mapping - типичные проблемы
 
Development of the russian sea port infrastructure.
Development of the russian sea port infrastructure. Development of the russian sea port infrastructure.
Development of the russian sea port infrastructure.
 
Customer journey, пиратские метрики и лестница узнавания
Customer journey, пиратские метрики и лестница узнаванияCustomer journey, пиратские метрики и лестница узнавания
Customer journey, пиратские метрики и лестница узнавания
 
White Sales School - About Sales Management
White Sales School - About  Sales ManagementWhite Sales School - About  Sales Management
White Sales School - About Sales Management
 

Similar to Solit 2014, Опыт участия в конкурсе по спортивному программированию Russian Al Cup 2013, Поляков Иван

Сергей Парамонов — Что наша жизнь — игра!
Сергей Парамонов — Что наша жизнь — игра!Сергей Парамонов — Что наша жизнь — игра!
Сергей Парамонов — Что наша жизнь — игра!
Daria Oreshkina
 
Моделирование продукта с использованием бумажного прототипирования. Agilecamp...
Моделирование продукта с использованием бумажного прототипирования. Agilecamp...Моделирование продукта с использованием бумажного прототипирования. Agilecamp...
Моделирование продукта с использованием бумажного прототипирования. Agilecamp...
Andrew Shapiro
 
Как играть без игрока
Как играть без игрокаКак играть без игрока
Как играть без игрока
SQALab
 
UX дневник как инструмент тестирования игры / Мария Амирханян, Екатерина Лисо...
UX дневник как инструмент тестирования игры / Мария Амирханян, Екатерина Лисо...UX дневник как инструмент тестирования игры / Мария Амирханян, Екатерина Лисо...
UX дневник как инструмент тестирования игры / Мария Амирханян, Екатерина Лисо...
DevGAMM Conference
 
Алексей Тарасенко - Zeptolab
Алексей Тарасенко - ZeptolabАлексей Тарасенко - Zeptolab
Алексей Тарасенко - Zeptolab
.toster
 
Dota Science: Роль киберспорта в обучении анализу данных
Dota Science: Роль киберспорта в обучении анализу данныхDota Science: Роль киберспорта в обучении анализу данных
Dota Science: Роль киберспорта в обучении анализу данных
romovpa
 
Feedback collection proper way. How to avoid data garbling
Feedback collection proper way. How to avoid data garblingFeedback collection proper way. How to avoid data garbling
Feedback collection proper way. How to avoid data garbling
DevGAMM Conference
 
2.5D игры и особенности разработки многопользовательских игр (Глеб Полушкин)
2.5D игры и особенности разработки многопользовательских игр (Глеб Полушкин)2.5D игры и особенности разработки многопользовательских игр (Глеб Полушкин)
2.5D игры и особенности разработки многопользовательских игр (Глеб Полушкин)
Ontico
 
Тестирование в изоляции: Играем в драконий покер
Тестирование в изоляции: Играем в драконий покерТестирование в изоляции: Играем в драконий покер
Тестирование в изоляции: Играем в драконий покер
SQALab
 
King's Bounty 2: Tools and tech for open world game
King's Bounty 2: Tools and tech for open world gameKing's Bounty 2: Tools and tech for open world game
King's Bounty 2: Tools and tech for open world game
DevGAMM Conference
 
How to organize game design department in a right way
How to organize game design department in a right wayHow to organize game design department in a right way
How to organize game design department in a right way
DevGAMM Conference
 
Tech Talks @NSU: Как сделать Dota-like игру
Tech Talks @NSU: Как сделать Dota-like игруTech Talks @NSU: Как сделать Dota-like игру
Tech Talks @NSU: Как сделать Dota-like игру
Tech Talks @NSU
 
Суперсилы Chrome DevTools — Роман Сальников, 2ГИС
Суперсилы Chrome DevTools — Роман Сальников, 2ГИССуперсилы Chrome DevTools — Роман Сальников, 2ГИС
Суперсилы Chrome DevTools — Роман Сальников, 2ГИС
Yandex
 
Character creation pipeline for Age of Magic (3D mobile)
Character creation pipeline for Age of Magic (3D mobile)Character creation pipeline for Age of Magic (3D mobile)
Character creation pipeline for Age of Magic (3D mobile)
DevGAMM Conference
 
Олександр Дзюба та Євгеній Тур "Майстер-клас “Вивчення гравців. DIY” Ми реаль...
Олександр Дзюба та Євгеній Тур "Майстер-клас “Вивчення гравців. DIY” Ми реаль...Олександр Дзюба та Євгеній Тур "Майстер-клас “Вивчення гравців. DIY” Ми реаль...
Олександр Дзюба та Євгеній Тур "Майстер-клас “Вивчення гравців. DIY” Ми реаль...
Lviv Startup Club
 
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли UnitySECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON
 
Докладчик: Пётр Камышников, глава команды интерфейса на проекте «Аллоды Онлайн».
Докладчик: Пётр Камышников, глава команды интерфейса на проекте «Аллоды Онлайн».Докладчик: Пётр Камышников, глава команды интерфейса на проекте «Аллоды Онлайн».
Докладчик: Пётр Камышников, глава команды интерфейса на проекте «Аллоды Онлайн».
Андрей Бростовский
 
Game design analytics: case studies
Game design analytics: case studiesGame design analytics: case studies
Game design analytics: case studies
DevGAMM Conference
 
Wargaming.net: Архитектура современных 3D движков
Wargaming.net: Архитектура современных 3D движковWargaming.net: Архитектура современных 3D движков
Wargaming.net: Архитектура современных 3D движков
DevGAMM Conference
 
Многопользовательские браузерные игры нового типа
Многопользовательские браузерные игры нового типаМногопользовательские браузерные игры нового типа
Многопользовательские браузерные игры нового типа
Anton Volkov
 

Similar to Solit 2014, Опыт участия в конкурсе по спортивному программированию Russian Al Cup 2013, Поляков Иван (20)

Сергей Парамонов — Что наша жизнь — игра!
Сергей Парамонов — Что наша жизнь — игра!Сергей Парамонов — Что наша жизнь — игра!
Сергей Парамонов — Что наша жизнь — игра!
 
Моделирование продукта с использованием бумажного прототипирования. Agilecamp...
Моделирование продукта с использованием бумажного прототипирования. Agilecamp...Моделирование продукта с использованием бумажного прототипирования. Agilecamp...
Моделирование продукта с использованием бумажного прототипирования. Agilecamp...
 
Как играть без игрока
Как играть без игрокаКак играть без игрока
Как играть без игрока
 
UX дневник как инструмент тестирования игры / Мария Амирханян, Екатерина Лисо...
UX дневник как инструмент тестирования игры / Мария Амирханян, Екатерина Лисо...UX дневник как инструмент тестирования игры / Мария Амирханян, Екатерина Лисо...
UX дневник как инструмент тестирования игры / Мария Амирханян, Екатерина Лисо...
 
Алексей Тарасенко - Zeptolab
Алексей Тарасенко - ZeptolabАлексей Тарасенко - Zeptolab
Алексей Тарасенко - Zeptolab
 
Dota Science: Роль киберспорта в обучении анализу данных
Dota Science: Роль киберспорта в обучении анализу данныхDota Science: Роль киберспорта в обучении анализу данных
Dota Science: Роль киберспорта в обучении анализу данных
 
Feedback collection proper way. How to avoid data garbling
Feedback collection proper way. How to avoid data garblingFeedback collection proper way. How to avoid data garbling
Feedback collection proper way. How to avoid data garbling
 
2.5D игры и особенности разработки многопользовательских игр (Глеб Полушкин)
2.5D игры и особенности разработки многопользовательских игр (Глеб Полушкин)2.5D игры и особенности разработки многопользовательских игр (Глеб Полушкин)
2.5D игры и особенности разработки многопользовательских игр (Глеб Полушкин)
 
Тестирование в изоляции: Играем в драконий покер
Тестирование в изоляции: Играем в драконий покерТестирование в изоляции: Играем в драконий покер
Тестирование в изоляции: Играем в драконий покер
 
King's Bounty 2: Tools and tech for open world game
King's Bounty 2: Tools and tech for open world gameKing's Bounty 2: Tools and tech for open world game
King's Bounty 2: Tools and tech for open world game
 
How to organize game design department in a right way
How to organize game design department in a right wayHow to organize game design department in a right way
How to organize game design department in a right way
 
Tech Talks @NSU: Как сделать Dota-like игру
Tech Talks @NSU: Как сделать Dota-like игруTech Talks @NSU: Как сделать Dota-like игру
Tech Talks @NSU: Как сделать Dota-like игру
 
Суперсилы Chrome DevTools — Роман Сальников, 2ГИС
Суперсилы Chrome DevTools — Роман Сальников, 2ГИССуперсилы Chrome DevTools — Роман Сальников, 2ГИС
Суперсилы Chrome DevTools — Роман Сальников, 2ГИС
 
Character creation pipeline for Age of Magic (3D mobile)
Character creation pipeline for Age of Magic (3D mobile)Character creation pipeline for Age of Magic (3D mobile)
Character creation pipeline for Age of Magic (3D mobile)
 
Олександр Дзюба та Євгеній Тур "Майстер-клас “Вивчення гравців. DIY” Ми реаль...
Олександр Дзюба та Євгеній Тур "Майстер-клас “Вивчення гравців. DIY” Ми реаль...Олександр Дзюба та Євгеній Тур "Майстер-клас “Вивчення гравців. DIY” Ми реаль...
Олександр Дзюба та Євгеній Тур "Майстер-клас “Вивчення гравців. DIY” Ми реаль...
 
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли UnitySECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
 
Докладчик: Пётр Камышников, глава команды интерфейса на проекте «Аллоды Онлайн».
Докладчик: Пётр Камышников, глава команды интерфейса на проекте «Аллоды Онлайн».Докладчик: Пётр Камышников, глава команды интерфейса на проекте «Аллоды Онлайн».
Докладчик: Пётр Камышников, глава команды интерфейса на проекте «Аллоды Онлайн».
 
Game design analytics: case studies
Game design analytics: case studiesGame design analytics: case studies
Game design analytics: case studies
 
Wargaming.net: Архитектура современных 3D движков
Wargaming.net: Архитектура современных 3D движковWargaming.net: Архитектура современных 3D движков
Wargaming.net: Архитектура современных 3D движков
 
Многопользовательские браузерные игры нового типа
Многопользовательские браузерные игры нового типаМногопользовательские браузерные игры нового типа
Многопользовательские браузерные игры нового типа
 

More from solit

Jazz team cooperation roadmap
Jazz team cooperation roadmapJazz team cooperation roadmap
Jazz team cooperation roadmap
solit
 
JazzTeam company presentation
JazzTeam company presentationJazzTeam company presentation
JazzTeam company presentation
solit
 
Solit 2014, Agile ValueTeam, учимся понимать Scrum, Семенченко Антон
Solit 2014, Agile ValueTeam, учимся понимать Scrum, Семенченко АнтонSolit 2014, Agile ValueTeam, учимся понимать Scrum, Семенченко Антон
Solit 2014, Agile ValueTeam, учимся понимать Scrum, Семенченко Антон
solit
 
Solit 2014, Scrum guide 2013, Семенченко Антон
Solit 2014, Scrum guide 2013, Семенченко АнтонSolit 2014, Scrum guide 2013, Семенченко Антон
Solit 2014, Scrum guide 2013, Семенченко Антон
solit
 
Solit 2014, Подготовка специалистов в сфере It на факультетe информационных т...
Solit 2014, Подготовка специалистов в сфере It на факультетe информационных т...Solit 2014, Подготовка специалистов в сфере It на факультетe информационных т...
Solit 2014, Подготовка специалистов в сфере It на факультетe информационных т...
solit
 
Solit 2014, Адраджэнне Памяти аб продках пачынаецца з дзеянняу нашчадкау, Уру...
Solit 2014, Адраджэнне Памяти аб продках пачынаецца з дзеянняу нашчадкау, Уру...Solit 2014, Адраджэнне Памяти аб продках пачынаецца з дзеянняу нашчадкау, Уру...
Solit 2014, Адраджэнне Памяти аб продках пачынаецца з дзеянняу нашчадкау, Уру...
solit
 
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...
solit
 
Solit 2014, Инструменты автоматизации тестирования мобильных приложений. Срав...
Solit 2014, Инструменты автоматизации тестирования мобильных приложений. Срав...Solit 2014, Инструменты автоматизации тестирования мобильных приложений. Срав...
Solit 2014, Инструменты автоматизации тестирования мобильных приложений. Срав...
solit
 
Solit 2014, Cемантическое ядро сайта, Нагибович Юлия
Solit 2014, Cемантическое ядро сайта, Нагибович ЮлияSolit 2014, Cемантическое ядро сайта, Нагибович Юлия
Solit 2014, Cемантическое ядро сайта, Нагибович Юлия
solit
 
Solit 2014, Геоанамальные зоны и сейсмоакустика. Субъективный взгляд. Миснико...
Solit 2014, Геоанамальные зоны и сейсмоакустика. Субъективный взгляд. Миснико...Solit 2014, Геоанамальные зоны и сейсмоакустика. Субъективный взгляд. Миснико...
Solit 2014, Геоанамальные зоны и сейсмоакустика. Субъективный взгляд. Миснико...
solit
 
Solit 2014, Обзор белоруского интернет потребителя и рекламодателя. Что хочет...
Solit 2014, Обзор белоруского интернет потребителя и рекламодателя. Что хочет...Solit 2014, Обзор белоруского интернет потребителя и рекламодателя. Что хочет...
Solit 2014, Обзор белоруского интернет потребителя и рекламодателя. Что хочет...
solit
 
Solit 2014, Как эффективно организовать Автоматизацию, Семенченко Антон
Solit 2014, Как эффективно организовать Автоматизацию, Семенченко АнтонSolit 2014, Как эффективно организовать Автоматизацию, Семенченко Антон
Solit 2014, Как эффективно организовать Автоматизацию, Семенченко Антон
solit
 
Solit 2014, Freelance and Nearshoring from a Dutch Perspective, Peter Reitsma
Solit 2014, Freelance and Nearshoring from a Dutch Perspective, Peter ReitsmaSolit 2014, Freelance and Nearshoring from a Dutch Perspective, Peter Reitsma
Solit 2014, Freelance and Nearshoring from a Dutch Perspective, Peter Reitsma
solit
 
Solit 2014, Мифы и легенды SEO, Крылов Александр
Solit 2014, Мифы и легенды SEO, Крылов АлександрSolit 2014, Мифы и легенды SEO, Крылов Александр
Solit 2014, Мифы и легенды SEO, Крылов Александр
solit
 
Solit 2014, Измеряем производительность Webприложения на сторне клиента с пом...
Solit 2014, Измеряем производительность Webприложения на сторне клиента с пом...Solit 2014, Измеряем производительность Webприложения на сторне клиента с пом...
Solit 2014, Измеряем производительность Webприложения на сторне клиента с пом...
solit
 
Solit 2014, Непрерывная интеграция сложного проекта. Кто все сломал?, Русаков...
Solit 2014, Непрерывная интеграция сложного проекта. Кто все сломал?, Русаков...Solit 2014, Непрерывная интеграция сложного проекта. Кто все сломал?, Русаков...
Solit 2014, Непрерывная интеграция сложного проекта. Кто все сломал?, Русаков...
solit
 
Solit 2014, Реактивный Javascript. Победа над асинхронностью и вложенностью, ...
Solit 2014, Реактивный Javascript. Победа над асинхронностью и вложенностью, ...Solit 2014, Реактивный Javascript. Победа над асинхронностью и вложенностью, ...
Solit 2014, Реактивный Javascript. Победа над асинхронностью и вложенностью, ...
solit
 
Solit 2014, 3 этапа развития аналитики вашего бизнеса. Как правильно определи...
Solit 2014, 3 этапа развития аналитики вашего бизнеса. Как правильно определи...Solit 2014, 3 этапа развития аналитики вашего бизнеса. Как правильно определи...
Solit 2014, 3 этапа развития аналитики вашего бизнеса. Как правильно определи...
solit
 
Solit 2014, MapReduce и машинное обучение на hadoop и mahout, Слисенко Конста...
Solit 2014, MapReduce и машинное обучение на hadoop и mahout, Слисенко Конста...Solit 2014, MapReduce и машинное обучение на hadoop и mahout, Слисенко Конста...
Solit 2014, MapReduce и машинное обучение на hadoop и mahout, Слисенко Конста...
solit
 
Solit 2014, Зачем нужен филиал Creative Сommons в Беларуси?, Волчек Михаил
Solit 2014, Зачем нужен филиал Creative Сommons в Беларуси?, Волчек Михаил Solit 2014, Зачем нужен филиал Creative Сommons в Беларуси?, Волчек Михаил
Solit 2014, Зачем нужен филиал Creative Сommons в Беларуси?, Волчек Михаил
solit
 

More from solit (20)

Jazz team cooperation roadmap
Jazz team cooperation roadmapJazz team cooperation roadmap
Jazz team cooperation roadmap
 
JazzTeam company presentation
JazzTeam company presentationJazzTeam company presentation
JazzTeam company presentation
 
Solit 2014, Agile ValueTeam, учимся понимать Scrum, Семенченко Антон
Solit 2014, Agile ValueTeam, учимся понимать Scrum, Семенченко АнтонSolit 2014, Agile ValueTeam, учимся понимать Scrum, Семенченко Антон
Solit 2014, Agile ValueTeam, учимся понимать Scrum, Семенченко Антон
 
Solit 2014, Scrum guide 2013, Семенченко Антон
Solit 2014, Scrum guide 2013, Семенченко АнтонSolit 2014, Scrum guide 2013, Семенченко Антон
Solit 2014, Scrum guide 2013, Семенченко Антон
 
Solit 2014, Подготовка специалистов в сфере It на факультетe информационных т...
Solit 2014, Подготовка специалистов в сфере It на факультетe информационных т...Solit 2014, Подготовка специалистов в сфере It на факультетe информационных т...
Solit 2014, Подготовка специалистов в сфере It на факультетe информационных т...
 
Solit 2014, Адраджэнне Памяти аб продках пачынаецца з дзеянняу нашчадкау, Уру...
Solit 2014, Адраджэнне Памяти аб продках пачынаецца з дзеянняу нашчадкау, Уру...Solit 2014, Адраджэнне Памяти аб продках пачынаецца з дзеянняу нашчадкау, Уру...
Solit 2014, Адраджэнне Памяти аб продках пачынаецца з дзеянняу нашчадкау, Уру...
 
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...
 
Solit 2014, Инструменты автоматизации тестирования мобильных приложений. Срав...
Solit 2014, Инструменты автоматизации тестирования мобильных приложений. Срав...Solit 2014, Инструменты автоматизации тестирования мобильных приложений. Срав...
Solit 2014, Инструменты автоматизации тестирования мобильных приложений. Срав...
 
Solit 2014, Cемантическое ядро сайта, Нагибович Юлия
Solit 2014, Cемантическое ядро сайта, Нагибович ЮлияSolit 2014, Cемантическое ядро сайта, Нагибович Юлия
Solit 2014, Cемантическое ядро сайта, Нагибович Юлия
 
Solit 2014, Геоанамальные зоны и сейсмоакустика. Субъективный взгляд. Миснико...
Solit 2014, Геоанамальные зоны и сейсмоакустика. Субъективный взгляд. Миснико...Solit 2014, Геоанамальные зоны и сейсмоакустика. Субъективный взгляд. Миснико...
Solit 2014, Геоанамальные зоны и сейсмоакустика. Субъективный взгляд. Миснико...
 
Solit 2014, Обзор белоруского интернет потребителя и рекламодателя. Что хочет...
Solit 2014, Обзор белоруского интернет потребителя и рекламодателя. Что хочет...Solit 2014, Обзор белоруского интернет потребителя и рекламодателя. Что хочет...
Solit 2014, Обзор белоруского интернет потребителя и рекламодателя. Что хочет...
 
Solit 2014, Как эффективно организовать Автоматизацию, Семенченко Антон
Solit 2014, Как эффективно организовать Автоматизацию, Семенченко АнтонSolit 2014, Как эффективно организовать Автоматизацию, Семенченко Антон
Solit 2014, Как эффективно организовать Автоматизацию, Семенченко Антон
 
Solit 2014, Freelance and Nearshoring from a Dutch Perspective, Peter Reitsma
Solit 2014, Freelance and Nearshoring from a Dutch Perspective, Peter ReitsmaSolit 2014, Freelance and Nearshoring from a Dutch Perspective, Peter Reitsma
Solit 2014, Freelance and Nearshoring from a Dutch Perspective, Peter Reitsma
 
Solit 2014, Мифы и легенды SEO, Крылов Александр
Solit 2014, Мифы и легенды SEO, Крылов АлександрSolit 2014, Мифы и легенды SEO, Крылов Александр
Solit 2014, Мифы и легенды SEO, Крылов Александр
 
Solit 2014, Измеряем производительность Webприложения на сторне клиента с пом...
Solit 2014, Измеряем производительность Webприложения на сторне клиента с пом...Solit 2014, Измеряем производительность Webприложения на сторне клиента с пом...
Solit 2014, Измеряем производительность Webприложения на сторне клиента с пом...
 
Solit 2014, Непрерывная интеграция сложного проекта. Кто все сломал?, Русаков...
Solit 2014, Непрерывная интеграция сложного проекта. Кто все сломал?, Русаков...Solit 2014, Непрерывная интеграция сложного проекта. Кто все сломал?, Русаков...
Solit 2014, Непрерывная интеграция сложного проекта. Кто все сломал?, Русаков...
 
Solit 2014, Реактивный Javascript. Победа над асинхронностью и вложенностью, ...
Solit 2014, Реактивный Javascript. Победа над асинхронностью и вложенностью, ...Solit 2014, Реактивный Javascript. Победа над асинхронностью и вложенностью, ...
Solit 2014, Реактивный Javascript. Победа над асинхронностью и вложенностью, ...
 
Solit 2014, 3 этапа развития аналитики вашего бизнеса. Как правильно определи...
Solit 2014, 3 этапа развития аналитики вашего бизнеса. Как правильно определи...Solit 2014, 3 этапа развития аналитики вашего бизнеса. Как правильно определи...
Solit 2014, 3 этапа развития аналитики вашего бизнеса. Как правильно определи...
 
Solit 2014, MapReduce и машинное обучение на hadoop и mahout, Слисенко Конста...
Solit 2014, MapReduce и машинное обучение на hadoop и mahout, Слисенко Конста...Solit 2014, MapReduce и машинное обучение на hadoop и mahout, Слисенко Конста...
Solit 2014, MapReduce и машинное обучение на hadoop и mahout, Слисенко Конста...
 
Solit 2014, Зачем нужен филиал Creative Сommons в Беларуси?, Волчек Михаил
Solit 2014, Зачем нужен филиал Creative Сommons в Беларуси?, Волчек Михаил Solit 2014, Зачем нужен филиал Creative Сommons в Беларуси?, Волчек Михаил
Solit 2014, Зачем нужен филиал Creative Сommons в Беларуси?, Волчек Михаил
 

Solit 2014, Опыт участия в конкурсе по спортивному программированию Russian Al Cup 2013, Поляков Иван

  • 1. Спортивное программирование - это не страшно! Опыт участия в конкурсе Russian AI Cup 2013 CodeTroopers
  • 2. Russian AI Cup - соревнование по программированию искусственного интеллекта (AI). Задача: написать AI, управляющий отрядом солдат в пошаговой стратегии. Стратегии соревнуются между собой в боях: О конкурсе: постановка задачи СЕРВЕР СТРАТЕГИЯ СТРАТЕГИЯ СТРАТЕГИЯ Состояние игрового мира Действие
  • 4. 5 видов юнитов, 3 типа бонусов: О конкурсе: правила игры Юниты ходят по очереди, на ход дается 10-12 очков действия. За нанесение урона / уничтожение юнитов противника начисляются очки. Побеждает команда, набравшая больше очков (даже если все её бойцы были уничтожены). Лимит времени: 0.2 секунды на ход (в среднем).
  • 5. Видимость несимметрична: A не видит B, но B видит A “Физический смысл” видимости: О конкурсе: видимость вид сбоку
  • 6. О конкурсе: формат соревнования
  • 7. • языковой пакет - скелет стратегии • Local Runner • Repeater Набор участника
  • 8. CodeTroopers (2013) • игра пошаговая • четкие, однозначные правила позволяют точно предсказать состояние игрового мира • игра с неполной информацией Отличия от CodeTanks CodeTanks (2012) ● игра реального времени ● симуляция физики с неизвестными параметрами
  • 9. Отличия от “обычного” соревнования: • продолжительность: не 4-5 часов, а 4-5 недель • сравнительно большой обьем кода, итерационная разработка • упор не на эффективность алгоритмов, а на способность к развитию • поэтому архитектура, расширяемость и удобство отладки имеют большое значение Отличия от разработки AI для реальных игр: • В реале обычно иная цель - чтобы AI играл интересно, развлекал игрока. А не тупо выигрывал. Отличительные особенности
  • 10. • Нет смысла делать версию, которую потом придется полностью переделывать. Эвристики - путь тупиковый, поэтому нужно сразу писать перебор. • Ключевые факторы - скорость развития и отсутствие багов. Поэтому нужны хорошие средства отладки. • Нюансы решают! Не усложнять! • План развития: добавлять фичи, углублять перебор, оптимизировать параметры (возможно генетическим алгоритмом?) Строим начальный план
  • 11. Глобальный AI Анализирует состояние игрового мира, ставит глобальные цели, меняет параметры локального AI для достижения глобальных целей. Архитектура базовой версии Локальный AI принимает решение по текущему ходу Перебор всех возможных действий (с отсечением) Оценочная функция
  • 12. Базовая версия учитывает такие факторы: • общее здоровье команды • продвижение к глобальной цели • “выгодность” занимаемых клеток (4x-3y) • расстояние до остальных членов команды (особенно для командира и медика • стойку и возможность нанесения урона видимым противникам • невидимость для известных противников • наличие бонусов Оценочная функция
  • 14. Логи перебора При тестировании боя создается 200-400 Mb логов с описанием всех перебираемых вариантов действий:
  • 15. 1. Протестировать очередной бой. 2. Что-то не так? 3. Выяснить причину неразумного поведения по логам 4. Проблема может быть решена оптимизацией параметров? 5. Если нет - подумать над добавлением новой фичи. Принцип доработки
  • 16. Фичи, добавленные до 1-го раунда • использование всех типов бонусов • pathfinding для определения расстояния между юнитами / целями • сохранение позиций врагов в течение хода • определение известных карт • обнаружение скрытого урона • стратегия “доения медика” • стратегия избегания “доения” • авиаразведка и стратегия добивания Добавление фич
  • 17. Оптимизация параметров редко позволяет добиться принципиально иного поведения в бою. Уровень игры стратегии упирается в потолок. А добавление новых фич способно сломать слаженную работу имеющихся параметров оценочной функции. Фичи vs оптимизация
  • 18. Чтение форумов позволяет узнать, над чем работают другие. Учиться лучше на чужих ошибках. Наблюдение за соперниками
  • 19. Общий рейтинг песочницы не дает хорошего представления об уровне игры новых версий. Можно создавать бои вручную на сервере: Где мы находимся?
  • 20. Ограничения Local Runner: • доступна лишь одна карта • ограниченность в выборе соперников Что делать? а) взломать и модифицировать Local Runner б) написать свой аналог Локальное тестирование
  • 21. Проверка боем даёт самые достоверные сведения о реальном положении дел! 1. Это уникальная возможность для сравнения версий. 2. Возможность проверки корреляции результатов раунда с результатами локального тестирования. 1-й раунд!
  • 22. Опираемся на результаты локального тестирования: • масштабный тюнинг параметров Новые фичи: • Оценка вероятности гранатных атак • Сохранение информации о врагах между ходами • Базовое определение порядка ходов • Определение возможных позиций невидимых врагов при получении урона • Возможность бросать гранаты в невидимые клетки • Учёт уничтоженных врагов • Waypoints Дальнейшее развитие
  • 23. Сумма линейных функций - линейна. Максимум такой функции - всегда на краях диапазона. Иногда это хорошо, но бывает так, что нужен компромисс. Проблема крайностей Убегать Нападать
  • 24. Риска практически нет, поэтому те же принципы, что и в первом раунде: • ручной сбор статистики • сравнение версий между собой и с результатами локального тестирования 2-й раунд!
  • 25. Почему эволюционный алгоритм не годится: • еще много нереализованных фич! • слишком долго: выгоднее потратить время на фичи • есть опасность, что “не сработает” в реальном бою из- за нерепрезентативной / ограниченной популяции • люди говорят, что именно так оно и выходит :( Что делать? Оптимизировать параметры путём “ручной эволюции” (похоже на линейное программирование). Эволюция
  • 26. Углубление перебора - FAILED! (а ведь предупреждали!) Почему так? • Игра с неполной информацией - неопределённость слишком велика. • Большое количество нюансов делает задачу крайне сложной как в реализации, так и в дебаге. Итог: 3 дня (из 5) потрачено впустую :( Дальнейшее развитие
  • 27. Новые фичи: • Поле вероятности врагов • Динамическая карта выгодности/опасности • Более точное определение порядка ходов • Режимы: разведка, бой, отступление, суицид. • Вейпоинты и параметры, зависящие от карты и типа юнита. • Учет промежуточных положений (разведка) Дальнейшее развитие - 2
  • 28. Причины (на мой взгляд) неудачи в финале: • потеря времени на углубленный поиск • отсюда: недоработанность фич, баги, недостаточная оптимизация параметров • локальное сравнение версий уже не дает хорошего результата А как надо было делать? • Формат финала сильно отличается - начинать работу над ним следовало еще задолго до 2-го раунда (а ведь так и планировал!) • Необходимо было оставить хотя бы 2 дня на подгонку параметров и проверку работы стратегии на реальных противниках. ФИНАЛ
  • 29. После завершения конкурса все любят рассказывать: “Как я это сделал!” Оказалось что: • Большинство стратегий устроены и работают примерно одинаково. • Многие топы (но не slash!) делали визуализаторы. • Реализация перебора у slash’а весьма оригинальна. • Никто из участников финала, рассказавших о своих стратегиях, не использовал перебор глубже чем на 1 ход (зато со свистелками!) • Большинство финалистов не реализовали всё, что хотели. А что же другие?
  • 30. Очень хороший уровень организации. Никаких накладок и сбоев. Интересная задача: достаточно глубокая, с разнообразными подходами к решению. Впечатления от конкурса
  • 31. Вопросы? Кстати, их можно задать и по почте: cooler@tut.by ;) А рассказ победителя можно почитать тут: http://habrahabr.ru/post/206680/ Спасибо за внимание!