Идеальный парсер на сенсоре

Думаю, многие со мной согласятся, что богатый внутренний мир парсерной игрушки разбивается о скалы обычного сенсорного интерфейса. К выводу претензий нет — приклеенная сверху полоска с текущей локацией и сплошной текст, всё как на взрослых компах. А вот с вводом — беда. Маленькие кнопочки, печать голосом, даже автоматическое исправление не помогает. Что же делать? Поставить крест и забыть про парсер на смартфоне или планшете? Я так не считаю. Хочу поделиться концепцией, которую можно применить в таком мобильном плеере, как Fabularium.


Основная идея

Для начала выделим проблемы:
  • Печатать буквы на смартфоне неудобно.
  • Автодополнение не спасет, надо опять выводить клавиатуру.
  • Сенсорная клавиатура постоянно “поднимает” текст, слишком тяжеловесная, нарушается непрерывность восприятия.

В качестве решения предлагаю использовать подход rainmeter. Вкратце, это средство кастомизации GUI для windows с богатыми возможностями и которое используется как для хобби, так и на предприятиях. Можно превратить рабочий стол в HUD-дисплей космического корабля.

В случае интерфейса парсера индикаторы должны реагировать на нажатия и отображать другие компоненты (иерархическая вложенность), а также добавлять текст в командную строку.
Что нам это даст:
  1. Менюшный кастомизированный интерфейс, заточенный под игрока/платформу/игру.
  2. Удобное восприятие и сенсорное управление.
  3. Привлекательный дизайн для новых игроков, возможность встроить подсказки в оболочку.
Ниже приводятся прототипы такого интерфейса. На основном экране — часто используемые команды и пиктограммы, раскрывающие группы действий.


При нажатии, раскрывается подменю, скрывая ненужный уровень. Так как они при раскрытии находятся на одном и том же месте, легко привыкнуть и нажимать автоматически.


После выбора глагола — прокручивающийся список с вариантами выбора. Варианты будут из текущей локации, запомненного инвентаря или последние введённые.


Логическая структура

Мне кажется разумным будет взять схему ini-файлов с rainmeter и адаптировать под проигрыватель. Для начала взять три типа сущностей — индикатор, измерение и встроенная переменная. Индикатор отвечает за визуальное отображение и обработку событий, измерение — невидимый объект для преобразований данных (встроенные переменные, константы). Встроенные переменные будут хранить список слов текущей локации, всей игры и инвентаря. Пример кода индикатора для “руки”, которая при нажатии прячется и отображает кнопки “взять”, “толкать”, “тянуть”:
[MeterHand]
Meter=Button
ButtonImage=HandButton.png
ButtonCommand=[!HideMeter MeterHand][!ShowMeter TakeMeter][!ShowMeter PushMeter][!ShowMeter PullMeter]

Если с глагольным меню всё более-менее понятно, то вот с существительными посложнее. Мне кажется, что под группу действий надо использовать наиболее вероятные группы слов — из текущей локации, из инвентаря или из истории команд. Второй подход — “пипетка”. В этом режиме все слова выводимого текста становятся гиперссылками и достаточно просто кликнуть, чтобы слово добавилось к команде.

Выводы

Мне кажется что такой концепт индикаторов-контролов позволит играть в парсерные игры максимально удобно. Знаю, что многие авторы англоязычной ИЛ внедряли похожие интерфейсы в десктопные проигрыватели и они не выстрелили. Пишите в комментариях, что думаете про эту идею.

6 комментариев

Oreolek
На планшетах, возможно, и да. Но сенсорные экраны — это в первую очередь мобильные телефоны, а там экран поменьше, максимум на два абзаца текста. Тут напрашивается переключатель между режимом чтения и режимом управления, иначе управление перекроет текст.
alastochkin
Вот у меня внизу справа на картинках-прототипах кнопочка — скрыть/показать HUD. Конечно, надо быстро снимать и отображать управление.
Комментарий отредактирован: 15 мая 2018, 13:29
Oreolek
Думаю, можно быстро построить пару прототипов на HTML+CSS, чтобы посмотреть насколько в это вообще удобно тыкать и как организовывать.
alastochkin
Согласен. Только вот я не владею так хорошо этими языками для создания вменяемых прототипов. Думал, если руки дойдут, на Processing сделать, там есть экспорт в веб-формат и приложение под Android.
Комментарий отредактирован: 15 мая 2018, 14:54 (2 раза)
realsonic
Мне очень нравится управление в Detectiveland. Но там оно более предметно-ориентированное, чем ориентированное на действия, т.е. не совсем менюшный парсер.
alastochkin
Выглядит очень симпатично. Хотелось бы, чтобы авторы могли сделать удобный «скин» для своей игры, чтобы подобные вещи делались вне парсера, а чисто скриптами индикаторов.