Как-то раз наткнулся на любопытную статейку Юрия Нестеренко "Что я понял о жизни, играя в квесты" (http://yun.complife.ru/1st.htm). Основная затронутая там проблема в том, что действия с предметами заранее жестко определены, что может приводить порой к разным казусам и истерикам со стороны играющего. Каждый предмет привязан определенным действием к другому определенному предмету (зачастую еще и в определенном месте). Как я уже говорил от этого нужно уходить. А как?
Основная связанная с этим мысль такая: у предмета, помимо основных характеристик: наименования и чего-то там еще, должны быть еще несколько: высота, длина, ширина, вес, материал (все это к примеру!). Далее, для объекта, над которым необходимо произвести некое действие, пишется ряд условий, перечисляющих не конкретные предметы, а перечень характеристик, которыми должен обладать предмет, используемый игроком в этой ситуации.
Так, чтобы устранить охранника помимо некоторых действий ("заколоть мечом", "дать золото"), можно двинуть его по голове предметом, скажем от 10 кг. Что именно окажется в руках у героя игры к этому моменту неважно - было бы потяжелее.
А есть ли еще идеи?
Неактивен
Скорее всего то, что я выскажу - дилетантская точка зрения, но я решил-таки её озвучить. Суть топика, как я понял, в придании играм чуть большей степени свободы. Думается - это вопрос технически вполне решаемый на определённом этапе разработки игры. А именно - тогда, когда уже готов полный список
Персонажей, которыми рулит игрок,
Объектов, которые будут в игре (ну, там, охранник, замок, озеро),
Предметов, которые можно сунуть в Инвентарь.
Далее открываем редактор таблиц и заполняем верхнюю строчку Предметами и Персонажами. Левый столбец - Обьектами и Персонажами. Ну, а дальше заполняем ячейки действиями.
Если в игре нужна возможность комбинировать предметы друг с другом, то дописываем эти предметы в левый столбец, и опять-таки заполняем ячейки.
Плюс в том, что приращение количества сущностей минимально, наглядно и контролируемо.
Пишу в этой ветке, т.к. здесь более общий форум. Не привязанный к конкретной платформе.
Отредактировано kerber (02.12.2012 23:18)
Неактивен