JackCL

Как бы так не опустить руки...

Оценить эту запись
Сегодня прочитал, что "Причина, по которой люди быстро сдаются — они смотрят, сколько еще нужно сделать, вместо того, чтобы увидеть, как много уже сделано". Это в общем правда, но слабый мотиватор.



Сейчас я доделываю систему репутации, которая на самом деле не репутация (хорошая/плохая), а известность среди широких масс (в числовом выражении). Она является не прибавкой, но модификатором отношения к игроку NPC-персонажей.

Рассмотрим практический пример. У каждого НПС есть значение, определяющее его отношение к игроку; все достаточно просто - со знаком плюс - положительное, со знаком минус - отрицательное, чем больше число - тем сильнее отношение. +1, например, означает, что герой вызывает у NPC легкую симпатию, +5 - дружеские чувства. А дальше в дело идет репутация (модификатор).

Допустим игрок в начале игры разговаривает с NPC-барменом отношение которого к игроку +1. При этом репутация игрока на этот момент выражается в каких-то небольших числах (только что приехавшая в Хэмпстед-хиллс Тиффани никому не известна).

Что думает NPC с точки зрения логики и здравого житейского смысла?
"О, я говорю с симпатичной и опрятной на вид ведьмой, но я вижу ее первый раз в жизни. Возможно, она в нашем городке надолго, возможно и нет. Возможно, она на самом деле такой приятный человек, каким кажется, а возможно внешность обманчива. Я буду с ней вежлив, но пусть не ждет от меня скидок за "красивые глаза".

Что при этом происходит с точки зрения механики игры? Как перевести логику в область математики?
Для этого и используется репутация в качестве модификатора.
Игра вычисляет действительное отношение NPC к игроку беря за основу начальное отношение +1 и умножая его на репутацию (которая путем нехитрых преобразований оказывается дробным числом меньше единицы).
Итоговое действительное отношение NPC (при его легкой симпатии к героине) будет равно 0 - то есть оказывается нейтральным.

Ну и стоило ли огород городить?

Вообще-то да. Рассмотрим пример, когда героиня уже заработала репутацию.
При встрече с ней тот же NPC-бармен думает примерно так:
"О, я говорю с симпатичной и опрятной на вид ведьмой. Она частенько попадалась мне на глаза и это не первый наш разговор. Она довольно долго прожила в нашем городке, знакома со многими жителями и хорошо известна в округе. Возможно ее поступки не всегда и не всем нравятся, но у нее есть определенная репутация - это ведьма с которой нужно считаться и будет полезно, если я продемонстрирую свою к ней симпатию, сделав скидку на выпивку".

Далее игра вычисляет действительное отношение к игроку с использованием репутации в качестве модификатора, но при этом репутация уже выражается достаточно большим числом, которое в ходе преобразований дает нам дробное больше 1. Возможно это будет 1, возможно и 2.
Таким образом мы получаем отношение со стороны бармена уже не столь нейтральное: +1 или даже +2, а это уже кое-что.

Основная прелесть использования системы репутации в качестве модификатора к отношению заключается в том, что она позволяет сгладить действительные значения отношений NPC к игроку в начале игры (и симпатизирующий +1 бармен и испытывающий сильную неприязнь -5 промышленник демонстрируют одинаково нейтральное отношение, потому как действительные значения будут рассчитаны игрой как +0.1 и -0.5 что с точки зрения игры является после округления одним и тем же 0); зато к середине и к концу игры, когда игрок и его героиня Тиффани становятся широко известными реакция NPC становится намного более выраженной (наш бармен может делать скидки, но в разумных пределах, поскольку его действительное отношение даже с модификатором 2 не превысит +2, зато неприязнь промышленника к несимпатичной ведьме, ставшей местной знаменитостью, перерастет в настоящую ненависть -5 * 2 = -10). Также искреннее дружелюбие +5 станет +5 * 2 = +10 любовью, ну и так далее и тому подобное.

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

Конечно, в игре будут меняться в зависимости от действий игрока и базовые значения отношений NPC и это тоже хорошо по понятным причинам.

ps. Примеры с барменом и промышленником приведены для иллюстрации механики, на самом деле я еще не приступал вплотную к упорядочиванию данных NPC-персонажей.

pps. Этот пост написан в основном для того, чтобы показать как игровая механика делается самыми примитивными методами. Фактически все что нам нужно - это две переменные (отношение NPC и репутация), фокус только в том, чтобы детально продумать, как правильно они должны взаимодействовать на протяжении игры, чтобы оказывать нужное влияние на геймплей.

Отправить "Как бы так не опустить руки..." в Digg Отправить "Как бы так не опустить руки..." в del.icio.us Отправить "Как бы так не опустить руки..." в StumbleUpon Отправить "Как бы так не опустить руки..." в Google Отправить "Как бы так не опустить руки..." в VKontakte Отправить "Как бы так не опустить руки..." в Facebook

Метки: witchcraft, сим, ферма Добавить / редактировать метки
Категории
Без категории

Комментарии

  1. Аватар для Seibur
    Сейчас я доделываю систему репутации, которая на самом деле не репутация
    А я жестко играю в олдскульный реслинг на эмуле пс2, и жду пока моя игра сделается. Вот написал сценарий для Сэйбур-шоу еще...
    *За статью молодец!Возьми морковку с полки)*
  2. Аватар для Валера
    Все это хорошо, если действительно просто. Но еже ли дело дошло до таких тонкостей, нельзя сбрасывать со счетов и случайность. Бармен может просто потерять голову увидев ведьму, а может возненавидеть, тем более если его вера не приемлет колдовство. А это уже социальные отношения. Да и любовь в общем-то из дружбы не произрастает. Это близкие вещи, но не тождественные. Но все это можно использовать. И я вот не люблю все эти дроби, округления... я предпочитаю %. %, что тыква этого сорта при надлежащем уходе вырастит большая-пребольшая = 30. Без ухода = 15%. Просто и ясно. Когда надо, как говориться, кинул кости - где выпало там и выросла большая. И в отношениях между людьми - % прост и нагляден. Он может расти и уменьшаться, он случаен и закономерен.
  3. Аватар для JackCL
    Цитата Сообщение от Валера
    Все это хорошо, если действительно просто. Но еже ли дело дошло до таких тонкостей, нельзя сбрасывать со счетов и случайность. Бармен может просто потерять голову увидев ведьму, а может возненавидеть, тем более если его вера не приемлет колдовство.
    Нет, бармен ничего такого, конечно, не может, если мы имеет дело с детерминированным миром. Изначально отношения в игре определены через переменные с четко заданными значениями. Невозможно сценарно выстроить последовательный сюжет, если мы начинаем кидать кости "потеряет он голову"/"не потеряет он голову" - в какой-то момент количество неопределенностей дойдет до стадии когда мы уже не сможем предсказать состояние игры в определенный момент, чтобы выстроить квестовую цепочку и не нарваться на какое-нибудь "бармен с вероятностью 30% возненавидел игрока и не дает ему сюжетно необходимый в этот момент квест".

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

    Я не делаю песочницу.
  4. Аватар для JackCL
    Цитата Сообщение от Валера
    И я вот не люблю все эти дроби, округления... я предпочитаю %. %, что тыква этого сорта при надлежащем уходе вырастит большая-пребольшая = 30. Без ухода = 15%. Просто и ясно. Когда надо, как говориться, кинул кости - где выпало там и выросла большая. И в отношениях между людьми - % прост и нагляден. Он может расти и уменьшаться, он случаен и закономерен.
    В этом нет ничего закономерного. Если NPC-бармену нравятся рыженькие и главная героиня - рыжая, то здесь не нужны никакие проценты и случайности. Здесь нужна переменная определяющая какой цвет волос нравится бармену и переменная определяющая цвет волос героини а при усложнении, возможно, переменная харизмы, определяющая насколько сильно влияние героини на НПС, и переменная восприимчивости для бармена, определяющая насколько он поддается влиянию. Вот это закономерно, поскольку это просчитываемые параметры дающие определенный результат.

    Но когда игрок прокачивает харизму до небес, красит волосы, обнажает сиськи и с голой грудью наперевес идет соблазнять бармена, а тот в ответ воротит рожу, потому что где-то выпал 1% вероятности того, что бармен не будет заинтересован, то реакция игрока будет только одна - WTF?!

    И закономерна тут не реакция бармена, а реакция игрока на неадекватную реакцию игры.
  5. Аватар для Валера
    По первому случаю - жизненно необходимый квест просто надо отдублировать. Если его не даст бармен, то под другим соусом кто-то другой даст другой квест с тем же результатом. Вот и все.
    Тоже самое и по второму. Не нужно доводить до абсурда. Это же не симулятор знакомств. Харизма - это вообще что-то искусственное. Обязанное действовать на всех. Да почему же? А вот если у бармена сегодня дурное настроение, это обычное явление. Как дождь на улице. И хоть ты ему голую задницу показывай, он только на нее плюнет. Не надо доводить характеристики до абсолюта. Не в них счастье. Надо быть ближе к жизни, это то, с чем мы сталкиваемся каждый день. А это проще всего сделать случайным выпадением.
    И ничего нет страшного, если сегодня бармен злой. Придем завтра. После завтра. Главное, не злиться в ответ и отвечать дружелюбно. ))
  6. Аватар для JackCL
    Цитата Сообщение от Валера
    По первому случаю - жизненно необходимый квест просто надо отдублировать. Если его не даст бармен, то под другим соусом кто-то другой даст другой квест с тем же результатом. Вот и все.
    Конечно, нет. Потому что у кого-то другого тоже может оказаться та же ситуация что и у бармена.
    Когда ты начинаешь примешивать в свою систему случайность, то никак не можешь быть уверен, что все результаты дублирований не окажутся в каком-то случае негативными для игрока.
    Чем больше ты дублируешь квест, тем меньше такая вероятность, но ты ее не исключишь пока не уберешь из расчетов случайность вообще, сделав обходное условие "если все персонажи у которых можно получить жизненно необходимый квест сошли с ума, то игрок получает квест другим путем 100%".

    Цитата Сообщение от Валера
    Тоже самое и по второму. Не нужно доводить до абсурда. Это же не симулятор знакомств.
    С чего вдруг у тебя возникла мысль об абсурдности симуляторов знакомств?

    Цитата Сообщение от Валера
    Харизма - это вообще что-то искусственное.
    Вот только не нужно доводить свои логические посылы до абсурда

    Цитата Сообщение от Валера
    Обязанное действовать на всех. Да почему же? А вот если у бармена сегодня дурное настроение, это обычное явление. Как дождь на улице. И хоть ты ему голую задницу показывай, он только на нее плюнет. Не надо доводить характеристики до абсолюта. Не в них счастье. Надо быть ближе к жизни, это то, с чем мы сталкиваемся каждый день. А это проще всего сделать случайным выпадением.
    И ничего нет страшного, если сегодня бармен злой. Придем завтра. После завтра. Главное, не злиться в ответ и отвечать дружелюбно. ))
    Как я и написал, если мы хотим симулировать ситуацию "харизма действует не на всех" мы должны усложнить модель и ввести соответствующие показатели чтобы рассчитать, как действует харизма.
    И это будет гораздо понятнее и прозрачнее для игрока потому что игрок на самом деле не любит "неожиданных неожиданностей", он любит "ожиданных неожиданностей".

    Да, конечно, проще сделать это случайным выпадением. И тогда ты приходишь в бар и бармен плюет тебе в рожу день, другой, третий потому что таково "случайное выпадение" плохого настроения, а ты ему дружелюбно отвечаешь, ну ничего, мол, зайду выпить завтра. Так происходит в жизни?
    Булочные закрываются из-за плохого настроения, слесари отказываются чинить трубы, жена с утра уезжает в Африку жить с жирафом потому что сегодня выпал 1 из 10000?

    Кто тут доводит ситуацию до абсурда вводя случайность как определяющий фактор?


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

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

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

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

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

    В сценарии это сделать очень сложно. Я думаю, многие знают о такой игре, называется она Façade. Там была проведена титаническая работа. Над ней работали, по-моему, больше трех лет… [голос из зала]. Пять лет, да? Спасибо. В итоге это вылилось в пятнадцать минут геймплея и, по-моему, четыре финала".


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

    Нет, спасибо. Делай это сам.

    Я - практик и понимаю, что нужно моей игре, чтобы вводимые факторы случайности не разрушили смыслообразующие структуры сценария. А разговаривать с позиций чистого теоретизирования - ну, мол, я не знаю там, пусть игрок придет завтра, послезавтра пусть придет - мне категорически неинтересно, потому что я, будучи практиком, понимаю к чему это приведет в итоге: к бесконечному удлинению сроков разработки и 15 минутам геймплея в итоге.
    Обновлено 06.02.2014 в 08:53 JackCL
  7. Аватар для Kian Ni
    *аплодирую стоя Джеку*
  8. Аватар для Валера
    Ну, ну, практик, изобретай свой велосипед.
  9. Аватар для Валера
    Продолжу практику "советов не к месту"
    Что мы имеем в игре? Ферму, где выращиваются овощи и ведьму - хозяйку. Это два камня фундамента игры. Поищем третий - для устойчивости.
    Итак, формула: выращивать + колдовство + неожиданность.
    Кто сказал, что выращивать можно только овощи и фрукты?
    На поздних стадиях игры, когда игрок засодит авокадо весь огород, можно слегка повеселить игроков, дав ведьме новые, особые знания.
    Пусть она научится выращивать предметы, как картошку, сажать колодцы, прививать к фундаментам 2-3 этажа... Это не идиотизм, это игра!