Comments 21
Сдается мне, что принципиально новой игры таким способом не получить. Лишь модификацию существующей, как превратить классические шашки в поддавки.
Смотря что считать принципиально новой игрой. Шашки и шахматы — суть одна, но разница между ними огромна. В Yavalath, например, ключевой парой правил является «собери 4 в ряд, но 3 в ряд — это проигрыш». Точно знаю, что похожих пар в классических играх нет.
Принципиально новые игры — это вообще очень большая редкость. Подавляющее большинство игр как раз и являются такими модификациями.

Скажем все шутеры по большому счету модификации Wolfensteinn 3D и DOOM.

А вот сгенерить на основании DOOM скажем Quake, Half-Life и Call of Duty такая система в теории смогла бы, если бы в нее заложили все разнообразие правил и особенностей таких игр. Но я уже написал ниже что это маловероятно из-за нелинейного роста сложности алгоритмов.

Хотя если взглянуть шире то все компьютерные игры являются эволюционными модификациями игр из реальной жизни. В войнушку дети играли за тысячи лет до появления компьютеров и DOOM.

Если копать еще дальше неизбежно упремся в в самую обычную эволюцию и гены.
Да, я как раз думал, как это можно было бы использовать на благо. Программа генерирует сбалансированные правила, а дальше задача человека придумать как эти правила преподнести. Так, например, компьютер выдает некую модификацию шахмат на 12-клеточном поле. Заменяем ладью на фигурку танка, слона на самолет, ферзя на вертолет. Вместо скучного черно-белого поля берем стилизованную карту местности. Добавляем перчинку в виде легенды про военный конфликт. Заворачиваем в яркую коробочку, и вуаля, новая настольная игра готова.

В конечном счете творчество остается за человеком. Смена декораций важна. Причем нельзя просто сменить декорации к существующей механике — это будет слишком заметно. Как шахматы с фигурками из резной слоновой кости против простых деревянных — все-равно это шахматы. И обратно, недостаточно изменить 1-2 параметра механики игры, чтобы получить что-то новое. В качестве негативного примера такой штамповки можно вспомнить популярную в свое время игровую консоль «Break game», на которой ушлые китайцы писали «999 игр», хотя по-сути там было только 3: тетрис, змейка и пинбол.
Я сейчас пытаюсь сделать свою настолку. По сложности сопоставима с настольной игрой престолов. Проблему поиска баланса обычно решают ручным тестированием — играют опытные игроки в своей компании, дорабатывают и по новой итерация. Долго и не интересно игрокам тестить сырые правила. Вот бы автоматизировать, прогнать пару тысяч тестов на компьютере, посмотреть статистику, поменять правила, прогнать ещё пару раз, а потом уже вручную потестить. Кроме книги, вы софта никакого не видели?
Как вариант: напишите несложный AI и прогоните тесты. Можно даже с разными уровнями соперников (смоделировать игру новичка с опытным, например). Ясно, что приближение не очень точное получится, но иногда этого достаточно.
Вопрос в том будет ли это экономически оправдано… т.е. какова будет стоимость написания такого AI.
Как и везде, в общем-то. Плейтесты тоже время отнимают. Если игра достаточно сильно зависит от баланса (некоторые игры делают фокус на тему, например, или что еще, где баланс не критичен), то написание простого алгоритма может быть оправдано. И если AI будет нацелен лишь на тестирование, то можно сильно не заморачиваться о его оптимальности (все равно ему с людьми не играть, лишь бы он играл по правилам и в сторону выигрыша). ИМХО, для большинства игр хватит простого A*.
Эм. А при чем здесь A*? :-) Мы не путь на графе ищем вроде как.
Готового вот прям софта, честно говоря, не видел. Есть языки, на которых можно описывать правила в игры; и если есть такие языки, то почти наверняка есть универсальные игроки в игры, описанные в таких терминах.

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

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

Однако, абсолютно выигрышный ход не нужен, практически всегда используются эвристики. В приведенной работе автор вообще все считал очень поверхностно, и, как видите, этого было достаточно.
Автор считал достаточно простые игры сами по себе, если я правильно статью понял.
Если шахматы простые, то да. Вообще, у него там была отсечка: если ходы считаются дольше 15 секунд, то такой комплект правил выбрасывается.
Я имел в виду простоту правил. Сравните сложность правил шахмат и Starcraft II например. Или Civilization 5.
Да, в них, конечно, minimax просто вечность будет обсчитывать варианты, именно поэтому проще брать ограниченный класс игр. Однако, есть кой-какие другие алгоритмы…

Построение такого рода игр надо, конечно, делать кусками, либо апроксимируя, скажем, среднюю скорость сбора ресурсов; или разбивая на небольшие подигры. Уж карты-то для Старкрафта точно можно автоматически генерировать и балансировать. И, скажем, гарантировать, чтобы при равном количестве ресурсов зерги и терраны имели при разном количестве юнитов разную огневую мощь.

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


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

Собственно он в этом плане как раз близок к шахматам — важно не количество а правильно подобранная стратегия и набор юнитов.

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

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

Даже только карты, их генерация и оценка — уже сама по себе отдельная большая тема, конечно.
А можно ссылку на саму систему Ludi? я не вижу на сайте автора никаких ссылок и гуглится почему-то с трудом.
Саму систему я не нашел. Зная как работают аспиранты что здесь, что на западе, там просто стопка разнородных скриптов :-)
Only those users with full accounts are able to leave comments. Log in, please.