Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Генерация уровней-головоломок и генерация геймплея

Генерация уровней-головоломок и генерация геймплея

Поделиться
Pu14unkiihooiVПостоялецwww17 фев. 20171:42#0
https://habrahabr.ru/sandbox/80577/

Можно ли улучшить идею алгоритма, использовав занание из  ?id=222678 материала? В "Инъекция" там разбор Braid.
(Ещё о мехниках в "Инъекция-2". О игре Tiki Towers в ?id=222678&page=3#m36 "Tiki Towers")

  • Может, используя знание из материала можно уточнить, какие именно последовательности действий нужно искать.
  • Из материала следует, что создание пазлов для Braid не должно отличаться от других игр.


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

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

iCpuПостоялецwww17 фев. 20176:09#1
До тех пор, пока логика противников линейная, генерация уровней с манипуляцией временем - генерация трёхмерных уровней. У нас появляется трёхмерное статическое поле, через которое нужно проложить маршрут. И обратно, нам нужно построить трёхмерное поле, в котором есть хотя бы один маршрут. При этом, третья координата - функция от первых двух и воздействия игрока. Как только у нас появляются объекты с ИИ или отвязанные от шкалы времени, генератор становится сложнее, но всё ещё очень близкий к 3D - просто увеличивается число параметров функции.

Генерировать геймплей можно, но вся проблема в том, что очень сложно правильно сочетать механики. Например, мы хорошо знаем, что РПГ элементы очень хорошо сочетаются с большинством жанров, потому что механика раскачки - правило изменения сложности игры (точнее, понижения сложности). Но, например, сочетать симулятор гонки и 3-в-ряд очень сложно. Если управление болидом производить с помощью совмещения шаров нужного цвета, то параметры генерации трассы и поля, а так же силы воздействия и тд и тп нужно очень долго подгонять, чтобы уровни были хотя бы проходимы. Сколько сил нужно приложить для того, чтобы это стало весело - даже представить сложно. Другой пример, реальный - Crypt of the Necrodancer. Совмещение механики ритмоигр и рогалика. В этой игре мало было просто сделать время на шаг ограниченным как снизу, так и сверху, нужно ещё правильно подобрать этот шаг, сгенерировать оружие и припасы, мобов, и, главное, музыку. Пока что нейросети не умеют генерировать контент и подбирать параметры сочетания механик, так что все идеи генерации игр на данный момент несбыточны.

ReviriПостоялецwww17 фев. 201712:33#2
Pu14unkiihooiV
> Можно подумать и о генерации геймплея (механик, условий, правил игры)

Не надо этого делать.
Допустим, что тебе удалось сделать программу, которая будет автоматически генерировать игру.
Очень немногие люди будут стремиться создать реально стоящую игру.
Большинство просто будет генерировать и сливать в стор, генерировать и сливать. Мир захлестнет волна днищщевых игр, а виноват будешь ты.

Pu14unkiihooiVПостоялецwww17 мар. 201719:57#3
iCpu
> У нас появляется трёхмерное статическое поле, через которое нужно проложить
> маршрут. И обратно, нам нужно построить трёхмерное поле, в котором есть хотя бы
> один маршрут. При этом, третья координата - функция от первых двух и
> воздействия игрока. Как только у нас появляются объекты с ИИ или отвязанные от
> шкалы времени, генератор становится сложнее, но всё ещё очень близкий к 3D -
> просто увеличивается число параметров функции.

Знаю эту метафору. Но разве в теме не был показан другой способ описания — по-человечески? Хотя и с ним можно провести эту аналогию.

Почему манипуляция со временем усложняет дело? Это всего лишь перемещение объектов.
>Генерировать геймплей можно, но вся проблема в том, что очень сложно правильно сочетать механики. Пока что нейросети не умеют генерировать контент и подбирать параметры сочетания механик, так что все идеи генерации игр на данный момент несбыточны.

Подумай о чём-то намного более мелком: сочетании нюансов механик.

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

Reviri, серьёзный ответ: будут получаться моды, только сделанные не тобой и итак доступные любому.

Кто будет такое брать* и разве такое не будет контролироваться батькой, как Valve контролируются моды портала**?
  *Говно вопрос, конечно.
  **Выдуманный факт.

MaximYariloПостоялецwww21 июля 20178:49#4
>> Можно подумать и о генерации геймплея (механик, условий, правил игры).
Компании тратят человекомесяцы и годы на поиски интересных механик, путём прототипирования, экспериментов и отбаланшивания результатов. А ты хочешь сгенерить. Тот же брейд Джонатан делал путем экспериментов и отсечений неудачных решений. А потом уже набежали теоретики (да и сам Джонатан, чего уж там) и нагородили огород "что хотел сказать автор" и "квинтессенция бессознательного в экзистанционализме". Короче излишнее теоретизирование задним числом.

>> Может, используя знание из материала можно уточнить, какие именно последовательности действий нужно искать.
>> Из материала следует, что создание пазлов для Braid не должно отличаться от других игр.
Опять же не стоит воспринимать все эти теоретизирования как руководство к действию. Я, например,  воспринимаю их как мемуары, легкое чтиво перед сном. Ибо любой шедевр можно разложить по полочкам, трактовать и классифицировать. Но только потом с помощью этих теорий не сделать такой же шедевр. Секрет успеха, имхо, в последовательной работе, окружении и удаче. А все эти статьи просто немного упорядочат нейроны в нужном направлении, если их периодически читать и жить в этом информационном потоке.

>> Программу, генерирующую игры с нуля, на данном этапе написать может быть сложно, но это и не обязательно.
программу состоящую из одной большой зеленой кнопки с надписью "сделай мне заебись". Нажал её и тебе написало игру, выложило в стор, завело аккаунты. Главное чтобы вместо тебя деньги не стала тратить на стриптизерш и пати у бассейна. =)

Pu14unkiihooiVПостоялецwww22 июля 20173:12#5
MaximYarilo

Благодарю, что заранее написал свои мнения. Я раньше считал, что это стандарт, которому следуют все.

>А потом уже набежали теоретики (да и сам Джонатан, чего уж там) и нагородили огород "что хотел сказать автор" и "квинтессенция бессознательного в экзистанционализме". Короче излишнее теоретизирование задним числом.

Но это пустое философствование, не особо относящееся к самим пазлами и механикам.
"Не придумывал, что буду делать, заранее" — всё что он говорил о создании пазлов.
Из философии помню "пазлы не создаются, но заранее существуют" (как обоснование экспериментирования и поиска, а не придумывания заранее).

Почему ты не отличаешь такое от теоретического знания о пазлах?

+ Показать

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

Я пока не могу с помощью идеи придумать пазл с нуля, это истинная правда. Но я считаю это проблемой теории (теоретической проблемой), а не принципиальной невозможностью. То есть тому что я не могу есть объяснение.

>Нажал её и тебе написало игру, выложило в стор, завело аккаунты. Главное чтобы вместо тебя деньги не стала тратить на стриптизерш и пати у бассейна. =)

  • К кому ты обращаешься ("вместо тебя")? Если к автору программы, то шутка не проходит.
  • Это для людей, а не для награды. Это про возможности человеческого интеллекта.
  • В общем же ответить на такой аргумент конечно нечего. Любое развитие посягает на что-то святое, на упрощение чего-то.

    Разве что личным примером показать, что ты не тот, кто ищет облегчения?

    Но я с детства искал, где "попроще". Узнал, что писатель может много зарабатывать — захотел стать писателем.

    Как было на самом деле покажет только экспертиза.

gudleifrПостоялецwww22 июля 20179:54#6
Сгенерировать интересный уровень для игры можно при двух условиях:
1. Есть математическая модель игры
2. Есть математическая модель интереса

С первым все достаточно просто - большинство казуалок есть упрощенное решение вырожденных случаев известных моделей. Например, "фермы", очевидно, описываются обычными методами сетевого планирования. Математика последних вполне отработана. Генерировать новые графики достаточно просто.

Вторая проблема имеет два решения. Коммерческое, опять, достаточно просто. Нужно чередовать поощрение/наказание с нужной частотой. Допустим, уровень игры с некоторыми вероятностями заканчивается "GAME OVER" или показом "голой бабы". Подобрать частоту вполне возможно по наблюдению за игрой целевой группы. Остается только немного повышать/понижать эту вероятность в зависимости от действий игроков.

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

Что дает автоматическое построение уровней? Подстройку под конкретного игрока. Управление его поведением/обучением.

Pu14unkiihooiVПостоялецwww23 июля 20176:33#7
gudleifr
>1. Есть математическая модель игры

Я не развиваю никакие математические идеи.
>2. Есть математическая модель интереса

Мне интересны просто все возможные головоломки (уровни).

Ты продолжаешь рассказывать про стратегии. Если не вникнешь в идеи, ничего не поймёшь.

gudleifrПостоялецwww23 июля 20179:52#8
Pu14unkiihooiV
> Я не развиваю никакие математические идеи.
Значит, у Вас ничего не получиться. Впрочем, я Вам уже об этом писал...
Pu14unkiihooiVПостоялецwww25 июля 20172:02#9
gudleifr

Заговорив о ферме, ты проигнорировал контекст (Braid). И ты проигнорировал идею, объясняющую, почему я думаю не о фермах.

Первая задача, до того как критиковать: понять что хотел сказать автор, так?

...

Для меня пазлы объективны. Представь, если бы кто-то начал говорить про учебник математики "Он составлен, чтобы навязать читателю нужные автору выводы" (нет, там истина: там автор делится с тобой идеями), "А примеры-задачи это система поощрений и наказаний" (нет там ни поощрений, ни наказаний: решил или не решил). Понимаешь, каким бредом потенциально это может быть? Твой пост сплетён из вещей, каждой из которых тут не место.
>Значит, у Вас ничего не получиться. Впрочем, я Вам уже об этом писал...

Если мат. моделью называется что угодно, она будет.
Если ты о том, что у нас уже был разговор, я согласен.

/ Форум / Программирование игр / Игровая логика и ИИ

2001—2017 © GameDev.ru — Разработка игр