JackCL
Как бы так не опустить руки...
				 05.02.2014 в 13:19  (5458 Просмотров)
			
		Сегодня прочитал, что "Причина, по которой люди быстро сдаются — они смотрят, сколько еще нужно сделать, вместо того, чтобы увидеть, как много уже сделано". Это в общем правда, но слабый мотиватор.
Сейчас я доделываю систему репутации, которая на самом деле не репутация (хорошая/плохая), а известность среди широких масс (в числовом выражении). Она является не прибавкой, но модификатором отношения к игроку 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 и репутация), фокус только в том, чтобы детально продумать, как правильно они должны взаимодействовать на протяжении игры, чтобы оказывать нужное влияние на геймплей.










 Отправить другу ссылку на эту запись
 Отправить другу ссылку на эту запись
 Посмотреть профиль
 Посмотреть профиль Пометить как прочтённый
 Пометить как прочтённый
 
	
		
			 
		
	 
		
	 
		
	