Контекстное меню для предметов в клиенте mudjs

Очередной «концептуальный прорыв» в вебклиенте. У всех предметов по нажатию на них появляется выпадающее меню, в котором перечисленым команды, которые можно проделать с этим предметом. По нажатию на пункт меню команда попытается выполниться (попытается — т.к. с тех пор предмет мог уже изменить свое местоположение или исчезнуть).

Меню зависит от типа и положения предмета, например:
* для предмета внутри контейнера виден будет только пункт «взять»
* для большиства предметов на полу или в инвентаре: «бросить» или «взять», «смотреть», «использовать»
* для мебели на полу будет видно «сесть, лечь, отдыхать» в зависимости от типа мебели
* для фонтана меню будет содержать «пить, наполнить», для бочонков — «пить, вылить»
* для вещей в инвентаре также видет пункт «легенды», если это умение доступно
* ворам виден пункт меню «украсть» на предмет в чужом инвентаре
* и так далее

С технической точки зрения это реализовано путем добавления специальных псевдо-тегов разметки вокруг каждого предмета. Если вывод происходит не в вебсокет, а в обычное соединение, эти теги не посылаются. Вебклиент обрабатывает эти теги и превращает их в стандартное dropdown-menu из Bootstrap.

Пример для предмета в инвентаре:
<m c=«бросить $, надеть $, смотреть $, использовать $, легенды $» id=«1773732900»>хитрость лаеркаи</m>
Для компактности символ $ будет заменен на стороне клиента на id предмета.
ID используется в качестве аргумента для однозначности, т.к. иначе для предметов с одинаковым названием пришлось бы вычислять это 3.бочонок или 2.бочонок, при том что с тех пор позиция в инвентаре могла поменяться, и команда в итоге выполнится с не тем предметом.

Аналогично теперь идет работа и с цветами, т.е. вебклиент больше не парсит ANSI-последовательности, а работает с псевдотегами <c c='fgbg'>ярко-зеленое сообщение</c>, превращая их в <span class='fgbg'>.

Пачка скриншотов под катом:



Читать дальше →

Правая панель состояния в клиенте mudjs

Следующий виток интеграции вебклиента с миром: в протокол общения добавлена информация о текущем положении персонажа (если оно и так видно по команде 'где'), о времени и погоде (если она видна). Все это выводится в правой панели клиента. Пока что это всё не настраиваемо, т.е. у игрока нет выбора, какую информацию показывать, какую отключить. С добавлением новых панелей эту задачу придется решить так или иначе.



Upd: клиент в действии, исходники клиента

DreamLand месяц спустя

Репост с forum.mudconnector.su:

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

* Код:
** Исходный код портирован под новый компилятор, вычищены свежие и старые крашбаги
** Добавлена поддержка веб-сокетов
** В скриптовом языке появились замыкания

* Веб-клиент:
** Прикручены новые фишки (тригера-хоткеи-алиасы), поиск по истории команд, кнопки интерфейса
** Интегрирован с миром по собственному xml-протоколу, есть первые примеры обмена данными между сервером и клиентом
** Код клиента выложен в общий доступ на github

* Сайт:
** создан с нуля и продвинут в гугле
** созданы поисковики по разными видам предметов
** добавлен раздел со всеми путями и многими картами; карты продолжают добавляться
** опубликована 1я часть учебника для начинающих
** регулярно обновляется раздел новостей
** муд зарегистрирован в соц.сетях и на мудконнекторах
** восстановлены старые домены
** код сайта выложен в общий доступ на github

* Мир:
** добавлены новые разделы помощи и улучшены существующие
** много улучшений для новичков (при создании персонажа, в начальной зоне, по командам, хелпам, магазинам)
** идет активная работа по переводу оставшихся зон на русский (2 закончено, 3 почти готовы, еще 7 в работе)
** продолжается русификация сообщений, надписей, справки
** обращение с предметами стало более удобным
** вычищаются все свеженайденные баги и опечатки
** приняты меры по защите персональных данных

* Набрана новая активная команда иммов

WebSocket MUD client для DreamLand теперь на GitHub

Веб-клиент mudjs выложен на GitHub в открытом доступе:

github.com/filths/mudjs

Клиент хорошо зарекомендовал себя в DreamLand. На главной странице проекта есть инструкции, как начать пользоваться этим клиентом для любого муда.

Проекту всего пару недель, и есть масса вещей, которые неплохо было бы туда докрутить. Pull requests приветствуются.

Тестовый сервер ArchaicQuest

В этом году начал работать тестовый сервер графического мада ArchaicQuest, доступный по адресу http://www.archaicquest.com/. Автор отказался от телнета и поиграть в него можно лишь через браузер. ArchaicQuest написан на C# с использованием SP.net MVC, SignalR и MongoDB. Исходный код игры есть на GitHub'е https://github.com/LiamKenneth/ArchaicQuest. ArchaicQuest пока не может похвастаться размерами игрового мира, но он активно развивается.

Скриншот

Wyvern - мобильный графический 2d MUD

Wyvern — графический 2d MUD с элементами рогаликов для Android и iOS!



От МАДов он отошел больше, чем другие игры; но все же эта составляющая (например, в плане степени свободы персонажа) там довольно сильна.

Весьма интересный проект, рекомендую.

p.s.
Пожалуйста, посоветуйте, какие еще МАДы стоит посмотреть? Интересуют как новинки, так и олдовые проекты. Спасибо.

MUD’ам нужен интерфейс или знакомимся с графическим MUD “Ember Online”

Ember Online — новый графический MUD. Мой стрим на русском, где я про него подробно рассказал и показал:
https://www.youtube.com/watch?v=ebQnn8j2X50

На мой взгляд, основная задача разработчиков MUD в данный момент – запиливание вот таких вот удобных графических интерфейсов. Прилагательное “графический” в плане MUD’ов сводится не к картиночкам, иллюстрирующим локации (хотя они тоже приятны), а к дружелюбному и удобному интерфейсу. К сожалению, многочисленные MUD-клиенты этот интерфейс в полной мере дать не могут; каждый из них нуждается в тонкой настройке и актуален только на ‘end-game’ контенте – основной функционал подобных клиентов сводится к настройке макросов, триггеров и проч. ‘advanced’ фич; а не в том, чтобы удобно манипулировать с объектами. В итоге, существующие MUD-клиенты могут использовать только крайне увлеченные люди; половина новичков отвалится в процессе создания персонажа, еще треть в процессе туториала – и все из-за отсутствия нормального интерфейса.

Это является основным барьером, чтобы популяризировать MUD’ы… А без популяризации жанр стоит на месте, нужна новая кровь и новые энтузиасты. MUD’ы – наиболее недооцененный жанр онлайн игр; при этом возможности расширения качества геймплея в них безграничны. Но геймплей за последние _40_ лет развился достаточно… Настало время сделать удобный интерфейс, ребята.

Надеюсь, наши соотечественники смогут запилить что-то подобное.

p.s.
Поиск на сайте на работает :( Я узнал об этой игре из старинной статьи на muder.ru, через поиск ее не найти

MUD Сфера Миров ПЕРВОЕ ВПЕЧАТЛЕНИЕ

Хай хо, котаны! :D

Ух, соскучился я по МАД'ам :D Настало время поиграть в MUD Сфера Миров!


www.youtube.com/watch?v=1VybS7NZZgo

Скоро будет еще больше МАДовых стримов, не забудьте подписаться на мой youtube-канал youtube.com/StreamGuild :D

з.ы.
Интересный аспект — играть в МАДы гораздо приятнее, если вы печатаете вслепую! Я наконец-то перешел на этот тип печати благодаря тому, что юзаю клавиатуру без ру-обозначений ;) Рекомендую!