А вот действительно, как лучше реализовать описанную здесь ситуацию в идеальном варианте, т.е. не привязываясь к конкретной платформе?
Korwin написал:
Столкнулся с такой проблемой: сесть и встать и лечь фактически синонимы. В результате в игре "встать на стул" и "сесть на стул" приводят игрока в одно и то же положение. В итоге может возникнуть ситуация, когда стоя на полу герой не достает книжку с полки, а сидя на стуле - достает. Кто-что думает по этому поводу?
Один вариант был озвучен (ASBer) — добавление ещё одного свойства "isSitting" у персонажа игры.
Какие будут ещё идеи?
Неактивен
Когда персонаж лежит на кровати, "встать" должно обозначать встать с кровати или на кровать?
Неактивен
Gesperid написал:
GrAndrey, что ты сам по-своему вопросу думаешь?
Думаю, что проблема надуманная. Обычно игроку без разницы, лежит или сидит персонаж на траве или кровати, и автор должен быть с ним солидарен. Стоять на кровати - нестандартная ситуация, и если она возникла, то и обрабатывать её надо нестандартно. Например, встал на кровать - автоматом обшарил пространство за картиной, нашел ключ, слез. Всяко лучше, чем игрок бы влез на неё и стал гадать, что ему тут делать, какие предметы отсюда доступны и какие нет.
Если кого-то прижмет делать полноценную симуляцию положения тела относительно предмета, то, действительно, проще всего будет реализовать это через флаги у персонажа. Придется переписать ряд глаголов, прописать свойства и изменить сообщения у многих классов. Причем функционально понадобиться только одно изменение - выдовать разный список доступных объектов для разного положения. Реально, но нужно ли?
Неактивен
Ещё одно замечание - если позволить игроку садить и вставать на все подряд, это только усилит его фрустрацию. Я, например, раз наткнувшись на необходимость залезть на стул, буду лезть на все подряд всякий раз когда застрял и не знаю что делать. Но просто залезть - это ещё ничего, но если будет разрешено на все залазить и в этом новом положении выполнять любые действия, - представляете этот комбинаторный взрыв и недоумение игрока?
Отредактировано GrAndrey (15.12.2008 18:35)
Неактивен