Уровень хаоса
От: Нomunculus Россия  
Дата: 12.06.23 09:18
Оценка:
Есть игровой уровень головоломки. Для примера рассмотрим три игры — паззлы, пятнашки и кубик Рубика.
Необходимо ввести некий коэффициент float для уровня, который от 0 до 1.
0 — это головоломка собрана.
1 — а вот с 1 непонятно. По идее это некий максимально удаленный от собранного состояния шаг. Но непонятно как в кубике Рубика это может быть?
Ну, замнем пока с 1.
Что может быть таким коэффициентом?
Придумалось несколько вариантов. Но в любом из них какая-то из этих трех головоломок будет давать не то.

1) количество шагов до сборки (нормализованное). Но у головоломки может быть несколько путей сборки и не понятно по какому считать? Например у игрока текущий уровень хаоса — 0.3. Он сделал ход. По одному варианту сборки от отошел от идеала, а по другому — приблизился. И не понятно — увеличивать уровень хаоса или нет

2) колическтво деталек на своих местах. Ну если с пятнашками и пазлами тут понятно, то вот с кубиком Рубика не понятно, что значит что деталька на «своем месте»?

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

Может еще что-то вам в голову придет? Как лучше?
Re: Уровень хаоса
От: cserg  
Дата: 12.06.23 09:40
Оценка:
Здравствуйте, Нomunculus, Вы писали:

Н>1 — а вот с 1 непонятно. По идее это некий максимально удаленный от собранного состояния шаг. Но непонятно как в кубике Рубика это может быть?

У кубика Рубика вроде доказано, что его можно собрать из любой позиции за 20 шагов, . Следовательно, когда нужно 20 шагов, то будет — 1.
Re[2]: Уровень хаоса
От: Нomunculus Россия  
Дата: 12.06.23 09:42
Оценка:
Здравствуйте, cserg, Вы писали:

Ну минус этого подхода в том, что надо рассчитывать каждый раз путь до сборки. Хотелось этого избежать. Уровень сам в себе должен содержать этот уровень хаоса без относительно способа сборки
Re[3]: Уровень хаоса
От: A13x США  
Дата: 13.06.23 02:41
Оценка:
Здравствуйте, Нomunculus, Вы писали:

Н>Здравствуйте, cserg, Вы писали:


Н>Ну минус этого подхода в том, что надо рассчитывать каждый раз путь до сборки. Хотелось этого избежать. Уровень сам в себе должен содержать этот уровень хаоса без относительно способа сборки


по-моему довольно очевидно, что этот уровень будет в какой-то степени эквивалентен количеству шагов до полной сборки.
Re: Уровень хаоса
От: goto Россия  
Дата: 15.06.23 23:17
Оценка:
Здравствуйте, Нomunculus, Вы писали:

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

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

Ты не написал, зачем тебе этот уровень хаоса, поэтому остается фантазировать.

Н>1) количество шагов до сборки (нормализованное). Но у головоломки может быть несколько путей сборки и не понятно по какому считать? Например у игрока текущий уровень хаоса — 0.3. Он сделал ход. По одному варианту сборки от отошел от идеала, а по другому — приблизился. И не понятно — увеличивать уровень хаоса или нет


Вычисляешь количество ходов до выигрыша на старте уровня. После каждого шага пользователя вычисляешь текушее количество шагов до выигрыша и делишь на стартовую величину.

Н>2) колическтво деталек на своих местах. Ну если с пятнашками и пазлами тут понятно, то вот с кубиком Рубика не понятно, что значит что деталька на «своем месте»?


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

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


Не понял.

Н>Может еще что-то вам в голову придет? Как лучше?


Лучше понимать, для чего это, и исходить из реальных возможностей.
Re[2]: Уровень хаоса
От: Нomunculus Россия  
Дата: 16.06.23 03:09
Оценка:
Здравствуйте, goto, Вы писали:

G>Ты не написал, зачем тебе этот уровень хаоса, поэтому остается фантазировать.


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

G>Нельзя. Ну, ты понимаешь, что в "пятнашке" все фишки, кроме одной, могут лежать на своих местах, а ситуация при этом может быть сложной и далекой до решения. Примерно то же для Рубика.


Да. Не подумал. Этот пример ломает второй и третий вариант.
Re[3]: Уровень хаоса
От: goto Россия  
Дата: 17.06.23 16:09
Оценка: 8 (1)
Здравствуйте, Нomunculus, Вы писали:

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


Мне кажется, строго вычислять меру хаоса не получится. Придется эвристически и органолептически.

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

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

Мне пришлось усидчиво поиграть в андроидные игры-миллионники. Сложилось впечатление, что там подобные задачи нормально не решены, например, сложность уровня предсказывается плохо. Это еще очень трудно решить, потому что для одного игрока сложным будет одно, для другого — совсем другое, также у каждого будут свои излюбленные шаблоны прохождения. Полдучается, надо заниматься кластеризацией пользователей, и тут уже начинается вакханалия "псевдоматематики". Большая контора на 1000 работников и миллион пользователей может посадить на это пару своих черепастых "квантов" с непонятным выхлопом в результате, а разработчикам поменьше надо не усложнять себе жизнь. Если геймплей, графика, анимаиция хорошие (адекватные), то игроки всё простят.

п.с.
А ты спрашивал вопрос на gamedev, dtf или что сейчас есть?
Re[4]: Уровень хаоса
От: Vzhyk2  
Дата: 19.07.23 11:21
Оценка:
G>Мне кажется, строго вычислять меру хаоса не получится. Придется эвристически и органолептически.
Можешь юзать энтропию.
Re: Уровень хаоса
От: vsb Казахстан  
Дата: 19.07.23 12:00
Оценка:
Если есть некая общепринятая стратегия сборки (для кубика рубика такая есть), то можно взять разновидность варианта 1, но считать не оптимальное число шагов для сборки, а число шагов для сборки по этой стратегии. В общем случае оно будет не оптимальным, но для игрока более понятным и вычислять его тоже понятно, как.
Отредактировано 19.07.2023 12:01 vsb . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.