+6.93
Рейтинг
1.16
Сила
avatar

iillyyaa2033

Круто!
Я пару лет назад присматривался к CMU Sphinx: сами команды вполне можно забить в jsgf (местный формат грамматики), аргументы (названия предметов и мест, а также имена) — тоже. Наибольшая сложность — непосредственно с прямой речью, но ее можно «скармливать» гуглу или яндексу.

Но — нужен специальный клиент, чтоб со Сфинксом работать.
Так-то любая игра, будучи запущенной в браузере, является браузеркой. Это инструмент — он ни хороший, ни плохой.

Сейчас ситуация такова, что браузер есть на всех современных операционных системах (Windows, Linux, Mac, Android, IOS и прочие) и пользователь к нему привык, в то время как телнет (а также ssh или специализированные клиенты) требуют какого-никакого освоения и/или установки-настройки.

Из этого следует, что наимение затратной реализацией клиента для игры с клиент-серверной архитектурой является веб-клиент. Посудите сами: он не требует установки на устройство пользователя, избавляет разработчика от привязки к магазинам или репозиториям, не требует написания какой-либо системы проверок обновления, позволяет абстрагироваться от вывода графики (нужно просто сверстать страничку — рисование берет на себя браузер), а также кросс-платформен и аппаратно-независим.

Разумеется, есть и минусы: веб-клиент практически не имеет защиты от пользователя, работает не очень эффективно и превращается в тормознутого макаронного монстра при попытках сделать что-то по-настоящему сложное или ресурсозатратное. Но так как речь идет о клиенте для мада, эти минусы не так уж и важны.

Я предусмотрел жалобы вида «браузер — фу, я телнетом 35 лет пользуюсь», «хочу ssh» или «а почему нет совместимости с моим мад-клиентом пятнадцатилетней давности?», поэтому писал сервер с рассчетом на то, что протоколов взаимодействия с пользователем может быть много и разных. Тот же телнет может быть встроен за час-полтора.

Если считаете, что нормальный мад просто не может жить без {PROTOCOL_NAME} — пишите сюда или на почту. А лучше — создайте issue в репозитории nmud.
Разумеется.

Ведь для мобильной версии нужно передавать кучу дополнительной инфы — команды, подсказки, ту же разметку.

У нас в nmud сейчас единсвенным протоколом являетя http. Был какое-то время назад и telnet, но я от него отказался, когда правил GateService (тот кусок кода, который обсепечивает поддержку протоколов клиента) — просто потому что не пользуемся им. А поддерживать неиспользуемый код не вижу смысла.

В будущем планирую вернуть telnet (когда/если будет для кого возвращать) и, может быть, запилю ssh.
Благодарю!
Есть предложение организовать процесс более экономно:

Основную часть экрана занимает ScrollView с текстом (ровно также как сейчас сделано в вебморде — на большом экране остаются поля, на маленьком — во весь экран).

Активные элементы нажимабильны. По нажатию появляется оверлейное контекстное меню возможностей, в котором выбираем действие. Отказавшись от нижней панели мы экономим место. Кроме того, контекстные меню — более очевидная вещь для пользователя смартфона.

Общие команды (не связанные с объектом) я бы поместил
— на маленьких экранах в выдвигающееся боковое меню навигации (NavigationDrawer одним словом);
— или на маленьких экранах в полноэкранный оверлей или диалог;
— на крупных кранах — на поля слева и справа от текста.

Конечно, сложно судить без макета, но как думаешь будет лучше?

Ну и понятное дело, что мобильный вид лучше организовать не на сервере, но в отдельном мобильном клиенте.

P.S. Поздравляю с 900 комментарием!
Hастройки шрифта — довольно полезная мысль, учту.

А вот насчет клавы не уверен — у современных мобилок/планшетов достаточно большой экран: клава занимает 25...40% экрана, поэтому остается достаточно места под текст и прочую полезную информацию.

Да, отдельное приложение на смартфон сейчас в моде. Но пока я ограничусь одним клиентом — браузерным, т.к. не так много ресурсов, чтобы делить их между несколькими проектами с одинаковым функционалом. В будущем же надо сделать прогу хотя бы под андроид обязательно.
Спасибо за отзыв!

Да, мобильные устройства также рассматриваем в качестве играбельных.

Что именно нужно доработать в интерфейсе для удобства на мобильных?
Другими словами, проблема на стороне клиента, так?

Поговаривают, что wss работает через прокси стабильнее, чем обычный ws. Учту это, когда буду прикручивать криптографию (https).
Что-то на стороне браузера.

Можете подсказать, с чего заходили?
Логи браузера тоже очень помогли бы.

P.S. Спасибо за отзыв!
Заработает, но с небольшими правками клиента.

Залил измененные test.html и main.js на гитхаб: github.com/nmud/mudjs/tree/nmud
Спасибо!

Сейчас список команд забит в подсказки строки ввода. Все доступные команды и пояснения к их использованию будут в разделе «справка» (который сейчас пуст), на скриншоте он открывается кнопкой "+".
Ясно.
Документация, в том числе и схемы, будет. Но заниматься ей сейчас — не самая лучшая идея, так как при разработке многое меняется: я пробую и экспериментирую, ведь подобным раньше не занимался. Как только сервер как следует утрясется, можно будет говорить и о доках; случится это где-то после беты.

Жанр и окружение не упоминал специально, так как этот момент мы еще обсуждаем. Пока что остановились на средневековье с уклоном в реализм¹: в меру survival'a, в меру хардкора, отыгрыш. Но будем посмотреть: я еще не нашел ту концепцию, о которой смог бы сказать «вот! это то что надо».

1. Но магия вполне может быть, тут не все так однозначно.
Было же подобное! И не раз. Cам когда-то писал; даже на хабре, вроде бы, статья была.

Однако 'чоткие пацаны' никуда не вливаются, а все также бухают в падиках.