[#] Идеальный парсер на сенсоре
RSS-bot(tavern,2) — All
2018-05-15 14:20:35


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



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



#### Выводы

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

Ссылка: https://ifhub.club/2018/05/15/idealnyy-parser-na-sensore.html