Спасибо за развернутый комментарий! Очень рад, что тебе понравилась моя игра.
Интересное наблюдение по поводу персонажа. Сейчас последовательность и количество встреч с друзьями никак не влияет на то, что друзья скажут в конце, но у меня были мысли добавить определенную зависимость и менять концовку в зависимости от того, кого и сколько раз ты встретил по пути к цели. Попробую реализовать эту идею в одной из следующих игр )
По поводу появления охранника, то я и использовал на каждом выходе из комнаты такой алгоритм:
Если словами, то тут происходит следующее:
1. при активации выхода скрипт проверяет переменную guardX (где X - это номер комнаты с охранником).
1.1. Если guardX = true, то игрок переходит в комнату с охранником и переменная roomCount становится 0.
1.2. Если guardX = false, то переменная roomCount увеличивается на +1.
1.2.1. Далее в этой ветке происходит проверка переменной roomCount.
1.2.1.1. Если roomCount <= 2, то игрок переходит случайным образом в одну из двух комнат: пустую или с другом.
1.2.1.2. Если roomCount > 2, то игрок переходит случайным образом в одну из трех комнат: две случайных и одну с охранником.
1.2.1.2.1. Если в результате случайного выбора игрок попадает в комнату с охранником, то guardX становится true, а переменные guardN (где N - это номера всех остальных комнат кроме X) становятся false.
1.2.1.2.2. После этого счетчик roomCount обнуляется.
Если по-человечески, то этот алгоритм делает так, что если игрок зашел в комнату с охранником, то охранник будет продолжать оставаться в этой комнате до тех пор, пока игрок не совершит более двух переходов в другие комнаты. При чем переход из комнаты с охранником и обратно не считается.
Вот такая система. Надеюсь, мне удалось понятно объяснить :)