Разрабатывая игру, где основной способ взаимодействия с игровым миром — щёлканье по ссылкам в описании, столкнулся со следующей интерфейсной проблемой. Обычный порядок ввода/вывода следующий:
1. Выводится описание ситуации.
2. Принимается команда игрока.
3. Выводится описание действия по команде игрока.
4. Выводится реакция игры на команду.
5. ???
Вот тут и кроется нюанс — выводимое в пункте 1 описание к пункту 5 может устареть — некоторые ссылки в нём будут уже не актуальны. Поэтому по-хорошему, нужно либо обновить описание, либо заблокировать ссылки (это из первого, что приходит на ум).
Навскидку варианта два:
А) В пункте 5 блокируем все ссылки в описании (чтобы ничего не нажималось), даём игроку ознакомиться с описанием результата своих действий, после чего очищаем экран и переходим к пункту 1. Отмеченный многими (по демке) минус — лишнее действие игрока после каждой обработки его поступков (нажатие ссылки "продолжить" или клавиши "пробел"). Плюсы — естественная последовательность информации: сначала исходные данные, затем действие, а под конец — результат.
Вы стоите посреди арены перед грозным и голодным великаном!
Вы напали на великана.
Великан откусил вам голову.
[продолжить]
Б) Переставляем порядок ввода/вывода:
1. Выводим описание действия по последней команде игрока.
2. Выводим реакцию игры на последнюю команду игрока.
3. Выводим описание ситуации.
4. Принимаем команду игрока.
5. Переходим к пункту 1.
Вы напали на великана.
Великан откусил вам голову.
Вы стоите посреди арены с откушенной головой. Но есть ещё силы на последний рывок!
Минус — разве что нарушение последовательности подачи информации. Плюс — исключение лишнего действия и незначительное снижение риска туннельного синдрома запястья.
Кто-нибудь сталкивался (реализовывал) с ещё какими-нибудь вариантами? Вариант с непрерывном выводом информации с надеждой на скроллинг, наверное, предлагать не стоит.
Неактивен
Если сделать как в игре "13й уровень", то проблемы устаревшего описания не будет - при нажатии ссылки нам выводится описание, соответствующее выбранному предмету, и при каждом произведенном действии, мы получим всегда актуальное описание, содержащее не описание локации, на которой находится игрок, а описание контекста текущих действий. Никакой заморочки.
Если делать как в твоей демке - на экране всегда описание всей комнаты, то действительно, возникает проблема.
Неактивен