[Ответить в тред] Ответить в тред

02/12/16 - Конкурс визуальных новелл доски /ruvn/
15/11/16 - **НОВЫЙ ФУНКЦИОНАЛ** - Стикеры
09/10/16 - Открыта доска /int/ - International, давайте расскажем о ней!



Новые доски: /2d/ - Аниме/Беседка • /wwe/ - WorldWide Wrestling Universe • /ch/ - Чатики и конфочки • /int/ - International • /ruvn/ - Российские визуальные новеллы • /math/ - Математика • Создай свою

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 6 | 2 | 5
Назад Вниз Каталог Обновить

Бот для CEO. Аноним 14/11/16 Пнд 21:16:41  875647  
ceo.png (324Кб, 996x646)
pike.png (100Кб, 251x646)
HauntedArmor+.jpg (42Кб, 278x700)
Ghast++.jpg (46Кб, 278x700)
Есть одна игра, и эта игра Chess Evolved Online.
http://www.kongregate.com/games/TheGrandestine/chess-evolved-online
Меня некоторое время мучит желание написать для нее бота, который будет способен предсказывать хотя бы несколько ходов вперед и выбирать оптимальный.
Однако, есть две проблемы.
1. В игре 92 фигуры, не считая 7 специальных. Каждая из стандартных фигур имеет четыре вариации. Две трети фигур обладают всякими специальными свойствами, от которых даже у живого игрока может начать болеть голова. Как-то:
- Магические фигуры, такие как пиромант, лич, дриада и пингвин, не меняют своей позиции после атаки.
- Пикинера можно атаковать большинством классических шахматных фигур, но если сделать это конем, то конь самоуничтожится. И это надо учитывать для всех фигур с неблокируемыми атаками как у коня.
- Базовый зачарованный доспех ходит и атакует как король, но может заблокировать одну атаку с соседней клетки. Иными словами, если доспех оказывается рядом с королем, это практически всегда означает мат. На пикче улучшенный доспех.
- Гаст может перемещаться на клетки, где были потеряны другие фигуры игрока. Еще он способен меняться местами с дружественными фигурами - что, например, позволяет слону поменять цветность и иногда создает странные вилки. Кроме того, гаст спокойно берет доспех, но исчезает после атаки на пикинера.
- Минотавр после успешной атаки на чемпиона меняется местами с королем оппонента.
- Наемник меняет цвет после атаки.
И дальше в том же духе. Неужели все это придется симулировать и вбивать свойства каждой отдельной фигуры вручную? Ведь это получается даже не симуляция игры, а прямое переписывание ее целиком.
2. Сложность просчетов.
Допустим, бот знает, что делает каждая фигура и к каким последствиям приводит каждое его действие. Можно попытаться просчитать ходы перебором. Но проблема в том, что при переборе количество возможных ходов растет экспоненциально. Если считать, что у каждого игрока есть возможность совершить 50 ходов (на первом скриншоте 59 у белого и 47 у черного, так что это недалеко от истины), то уже после первого хода может быть 2500 вариантов событий, а после второго - 6250000, и всех их надо сравнивать друг с другом. На просчет даже двух ходов могут уйти минуты, и проблема в том, что в игре есть таймеры, которые не дают такой возможности. Правда, меня не покидает ощущение, что есть способ как-то отсекать совсем бестолковые ходы на каждой итерации, но невозможность предсказать ходы на достаточно долгий промежуток игры лишает всю затею смысла.
Аноним 14/11/16 Пнд 21:40:44  875659
>>875647 (OP)
> Минотавр
ШТА?! Что за ебаные телепортации? Наркомания какая-то, чесслово.

Спасибо за тред, не слышал раньше про эти сео, интересно.
Аноним 14/11/16 Пнд 21:53:12  875664
Minotaur+.jpg (40Кб, 278x700)
>>875659
http://chess-evolved-online.wikia.com/wiki/Minotaur
Да, это действительно очень контринтуитивная фигура. Когда я только начинал играть, я новайсом завалил какого-то мастера исключительно из-за миносвапа.
>Что за ебаные телепортации?
Неблокируемое перемещение. Как у коня, только без атаки.
Аноним 14/11/16 Пнд 21:56:44  875665
>>875647 (OP)
>от которых даже у живого игрока может начать болеть голова
Как игра узнаёт о свойствах фигуры? Можно распознавание изображений какое-нибудь запустить, но мне ботовод по секрету сказал, что это крайне не эффективно. Лучше разбирать основы. Реверсить, например. Или из трафика эту информацию извлекать.
>Неужели все это придется симулировать и вбивать свойства каждой отдельной фигуры вручную
Да. А если в игре что-то изменят или добавят, придётся оперативно вносить правки.
>не симуляция игры, а прямое переписывание ее целиком
Так и есть. Ты же хочешь, чтобы компьютер играл за тебя. Нужно вбивать правила игры.
>Сложность просчетов
Перебором, каждому обсчитываемому ходу должно присваиваться что-то типа веса или очков, чтобы можно было выбрать лучший. Ты же не ИИ пишешь, нужно что-то упрощенное.
>а после второго - 6250000
Лучший ход на два хода вперёд - разве плохо? Времени на обсчёт должно хватить.
>есть способ как-то отсекать совсем бестолковые ходы на каждой итерации
А исходников Deep Blue не утекало?
Аноним 14/11/16 Пнд 22:14:30  875676
>>875647 (OP)
https://ru.wikipedia.org/wiki/%D0%A8%D0%B0%D1%85%D0%BC%D0%B0%D1%82%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80
Ты почитай, оказывается всё уже изобретено.
>Появилось много программ с открытыми кодами, в частности Crafty, Fruit и GNU Chess
>Лучшие коммерческие и бесплатные программы, например, Shredder, Fritz или Komodo уже превысили уровень людей-чемпионов
>Движок с открытым кодом Stockfish находится на высоких местах в таких компьютерных рейтинг-листах
Осталось внести необходимые изменения и готов ИИ для твоего бота.
Аноним 15/11/16 Втр 00:37:27  875768
>>875676
Ты оп-пост пробовал читать, нет?

>>875664
Контринтуитивная и в плане, ээ, сеттинга, или как это назвать... вообще не вижу связи между минотавром и телепортацией.

Смотри, у тебя тут практически старкрафт получается, а там боты играют с полной информацией. Я сомневаюсь, что получится добиться хорошего результата без этого. Нейроночки тебе обучать не на чем. Мне кажется, что самым логичным будет попробовать найти какую-нибудь конкретную стратегию (мне сложно судить, какой именно она должна быть, так как я в эти сео не играл) и от нее отталкиваться. То есть не генерализованного бота писать, а такого, который всегда будет пытаться телепортнуть минотавра или что-то еще в таком духе.
Аноним 15/11/16 Втр 14:37:24  876018
>>875647 (OP)
>Неужели все это придется симулировать и вбивать свойства каждой отдельной фигуры вручную? Ведь это получается даже не симуляция игры, а прямое переписывание ее целиком.
Кек, да это как раз самое легкое в этой задаче. Сиди себе вбивай, не думая, да баги правь. А вот то что там ветвление дикое, это реально большая проблема.

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

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 6 | 2 | 5
Назад Вверх Каталог Обновить

Топ тредов
Избранное