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

01/08/16 - Вернули возможность создавать юзердоски
09/07/16 - Новое API для капчи - внимание разработчикам приложений
03/04/16 - Набор в модераторы 03.04 по 8.04



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

Головоломочки Аноним 22/06/16 Срд 13:29:44  266594  
14665913845170.png (132Кб, 500x300)
14665913845201.gif (132Кб, 275x275)
14665913845232.gif (101Кб, 270x300)
Честно говоря, я уже спрашивал в ньюфаготреде, но мне бы хотелось услышать побольше мнений по этому поводу.

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

Для начала рядовому Кириллу нужно будет реализовать геймплейную основу для своей игры для Canvas, используя которую, можно было бы составить любой уровень. Затем ему нужно будет написать генератор, который мог бы составить любой уровень (ну или не совсем любой, если заранее известно чего там быть точно не должно). Правда, генератор может быть устроен по разному, хотя любой способ должен сработать. Например, если у нас игра основана на квадратных тайлах (http://qrostar.skr.jp/index.cgi?page=jelly&lang=en), то определяем ли мы значение каждой клетки отдельно или определяем кол-во областей с конкретным значением и их размеры - оба способа могут сгенерить одно и то же множество уровней, но при этом, глядя на результат, как правило, можно с высокой уверенностью указать на один из двух способов генерации.

Затем осталось только залить геймплейную основу и генератор на сайт. После этого работа осталась только за сайтом и его коммьюнити. Сайт генерит генератором уровень и отправляет его ограниченному кругу людей (человек десять?) вместе с геймплейной основой, которая его интерпретирует.
Разумеется, не все уровни будут решаемыми. Но ведь так даже интереснее. Вместо того, чтобы сидеть до опупения, пока уровень сам собой не пройдётся, как я любил делать в Jelly no Puzzle, нужно ещё думать, досидишься ли вообще.
Разумеется, на уровнях может оказаться лишняя лабуда. Но ведь и так тоже интереснее. Вместо того, чтобы думать, куда бы присобачить эту хуёвину, нужно думать, как бы пройти уровень.
ТАК ВОТ. Когда игроки получают уровень, они могут: 1)Пройти его, 2)Пометить, как непроходимый, 3)Пропустить.
Если кто-то решает пропустить тестовый уровень, то такие люди заменяются до тех пор, пока не останутся только все остальные.
Если уровень с лёту проходят почти все, то уровень забывается. Скорее всего он элементарный. Я понимаю, что в большинстве игр все сделанные с любовью искусными левелдизайнерами головоломки проходятся почти всеми, но кому они нужны.
Если все с лёту помечают уровень, как непроходимый, то уровень забывается. Скорее всего он и в самом деле непроходимый, таких тестовых уровней, скорее всего, будет большинство, хотя он может оказаться просто перемудрёным и перегруженным или для ниндзей, если геймплейная основа довольно экшоновая.
Если мало игроков из выборки прошли уровень или много, но многие пропустили уровень, то выборку тестируемых можно увеличивать, и скорее всего, уровень попадёт в библиотеку. Похоже это хороший сложный уровень.
Если все игроки из выборки помечают уровень, как непроходимый, но перед этим его пропустило подозрительное количество народу, то выборку тестируемых лучше увеличить. Скорее всего, это уровень, непроходимость которого не очевидна, или просто сложный уровень. В обоих случаях этот уровень - отличный кандидат для библиотеки.

В течении времени библиотека будет пополняться разными уровнями, которые, к тому же, относятся к разным механикам, и игрокам в последствии предоставится разнообразный геймплей (а не сто тыщ зубодробительных уровней остоебучего сокобана). Игроки должны получать уровни в первую очередь из библиотеки и сильно реже свежие из генератора. Ещё вероятность выпадения непроходимого уровня должна быть фиксированной на случай вероятного дисбаланса проходимых и непроходимых уровней в библиотеке. Дабы от фонтана разнообразных уровней разнообразных механик у игрока не поехала крыша, и он не начал жать "Непроходимо" и пропускать уровни, которые ему не нравятся, от балды, нужна система штрафов и поощрений. Думаю, лучше всего такая система будет работать на тестовых уровнях. Как то так:
Прохождение уровня = 0.5 Прав на Ошибку (ПнО).
Отметка непроходимого уровня = 1 ПнО.
За такой подвиг, как прохождение непроходимого уровня, который никто не прошёл или прошло чрезвычайно малое количество человек, можно сразу дарить премиум.
Пропуск = -1 ПнО.
Отметка проходимого уровня = -2 ПнО.
Когда ПнО становится меньше нуля, то игрок штрафуется тестируемым уровнем из генератора:
Прохождение тестируемого уровня = Отметка тестируемого уровня, который никто не прошёл и не пройдёт = 1 ПнО.
Пропуск тестируемого уровня = - количество пропусков после последнего уровня из библиотеки ПнО. Имеет смысл предположить, что игроки будут злоупотреблять пропусками из-за высокой вероятности выпадения очевидных случаев.
Отметка тестируемого уровня, который кто-то прошёл или пройдёт = 1 Полная Жопа Дополнительных Тестируемых Уровней (ПЖДТУ. 1 ПЖДТУ = -10 ПнО (?)). Когда игроку попадает тестируемый уровень с пугающим видом, может появиться высокий соблазн отметить его, чтобы побыстрее вылезти из отрицательного ПнО, и это оправдано, так как скорее всего тестируемый уровень и в самом деле непроходимый. Высокая вероятность должна компенсироваться высоким штрафом.
Минус конкретно этой системы может оказаться в том, что, пока нормальные люди играют в уровни из библиотеки, для них уровни тестировать будут какие-то ретарды. Премиумным игрокам можно дать возможность отключить эту систему. Тогда они не будут получать тестируемые уровни и не смогут испортить тестирование. Также в таком случае не следует учитывать их успехи в статистике уровней. Также премиумным игрокам можно давать только уровни с понравившимися им механиками, тогда как чернь будет получать уровни с любой механикой с вероятностью, зависящей от того, как сильно эта механика нравится премиумным. Самые популярные среди премиумов механики будут выпадать чаще всего, а их создатели будут получать больший процент с премиумов.

Собственно, может ли такой сайт быть рабочим? Чтобы сгенерировать нормальный уровень тотальным рандомом, нужно колоссальное количество тестов. Какое может быть соотношение количества пользователей сайта к количеству тестов в среднем, необходимое для генерации одного нормального уровня? Каким бы оно ни было, по мере накопления библиотеки это соотношение должно становиться всё менее значимым.
Аноним 22/06/16 Срд 14:39:57  266615
сложно, нахуй не нужно, иди лесом.
Аноним 22/06/16 Срд 16:14:09  266652
>>266637
Я плохо представляю, как можно автоматизировать тестирование машинным обучением (правда, я и о самом машинном обучении не так много знаю, а что знаю, находится здесь: http://natureofcode.com/book/chapter-10-neural-networks/), и, даже если получится, не будет ли компьютер в какой-то момент начать предлагать уровни исключительно из своих узких представлений о хороших уровнях, которые, в принципе, нравятся людям, но которые не представляют каких-то сюрпризов, а потому не могу сказать, как в таком случае уровни будут попадать в библиотеку. Как оценивается тоже зависит от машинного обучения.

На счёт сортировки: я не думал сортировать по сложности. Но если сортировать, то сложность каждого уровня динамична и зависит от сложности уровней, которые игроки, прошедшие этот уровень, проходили до прохождения этого уровня. А предлагать людям уровни нужно на основе их скилла, который тоже динамичен, даже если игрок ничего не проходит, и зависит от сложности пройденных, запоротых, и пропущенных уровней за недавнее время.

А тестировать на людях точно не вариант? В Jelly no Puzzle поле клеток 12x8, в каждой клетке может быть ничего, статичный блок, динамичный блок и желешка одного из цветов (скажем, одного из трёх). Динамичный блок может быть сам по себе или быть частью основного блока. Если сайт супер успешен и на нём есть, скажем миллион любителей головоломок, и на первичном тестировании уровня выборка состоит из десяти человек, то на всю активную пользовательскую базу можно провести сто тысяч первичных тестирований так, чтобы каждому досталось по одному тестовому уровню. Какова вероятность, что среди ста тысяч тестовых уровней найдётся хоть один нормальный? Об этом сложно думать. Механики могут быть разные, пользовательская база может быть разной, необходимая первоначальная выборка может быть разной и даже быть разной для разных механик. А если ещё думать о сортировке, так вообще.

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

Топ тредов