↓
 ↑
Регистрация
Имя/email

Пароль

 
Вход при помощи VK ID
временно не работает,
как войти читайте здесь!

Комментарий к сообщению


2 ноября в 17:30
Если временно оставить чисто математический анализ задачи, поскольку я даже не представляю, как к нему подступиться...

Насчёт практического подхода сейчас подумал следующее.

Мы немного расширяем идею переменных AChan_count и BChan_count из примера в посте. Теперь это будет не счётчик, а скажем, репутация у A-chan и B-chan. Или склонность к какой-то концовке в более общем смысле, ведь концовка может вообще не быть связана с персонажем. Ну, пусть будет у переменных префикс Rep.

Итак, на старте мы имеем что-то вроде

Rep_AChan = 0
Rep_BChan = 0
Rep_CChan = 0
Rep_DChan = 0
Rep_TrueEnd = 0

Эти переменные делаем с плавающей точкой, меняем их все при любом выборе, причём значения приращений делаем не идеально равными, что-то вроде

«Выбор ответа, понравившегося A-chan, B-chan, безразличного C-chan, не понравившегося D-chan и не ведущего к True End»:

Rep_AChan += 2.5
Rep_BChan += 2.49999
# Rep_CChan += 0
Rep_DChan -= 2.2
Rep_TrueEnd -= 2.19999

Перед финальным поворотом сюжета надо просто выбрать максимум. При вот таких отличиях, вроде 2.5 и 2.49999 ничья будет достаточно маловероятна, чтобы её можно было проигнорировать. Потом максимум надо сравнить с некоторым пороговым значением, которое можно посчитать исходя из суммарных значений этих приращений по разным путям (просто забить их в простую программу на C в массив и посчитать все пути тупо перебором). Вариант: пороговое значение может зависеть от концовки. Если максимум превышает порог — выбираем концовку. Иначе — jump bad_end.

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

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

Но с теоретическим анализом всё же было бы интересно разобраться. Увы, мне пока даже в голову не приходит, как формализовать такую модель.
ПОИСК
ФАНФИКОВ











Закрыть
Закрыть
Закрыть