Как казаки MUD писали, часть 2

Работать с QuickMUD не понравилось, так как это обычный ROM со всеми его недостатками, к которому прикручен на костылях Lua. Поэтому было решено попробовать другой движок. После недолгих поисков выбор пал на FluffOS, так как LPMud'ы практически не знакомы игрокам стран СНГ.

LPMud'ы состоят из двух частей из mud-driver'а и mudlib'а. Драйвер отвечает за запуск и функционирование мада, в mudlib'е содержится мир и вся игровая логика. Команда, расы, умения, гильдии и т.д. все это часть mudlib и все это написано на специальном скриптовом языке с C-подобным синтаксисом, который называется lpc (сокращенно от Lars Pensjö C). Драйвер это виртуальная машина и интерпретатор языка lpc.

Первая версия драйвера для LPMud была написана в 1989 году и с тех пор активно развивался и переписывался. FluffOS это наиболее распространенный современный форк от этого драйвера. Он нативно работает с UTF-8 кодировкой и имеет все современные фишки мадов. Вы можете ознакомиться с ними тут: https://fluffos.github.io/.

Как уже отмечалось выше вся игровая логика записана в mudlib, на сайте http://lpmuds.net/downloads.html есть несколько версий этих библиотек от различных игр. Мы взяли Dead Souls 3, одну из самых популярных и хорошо задокументированных библиотек.

Структура mudlib очень проста, каждая комната, объект, моб, игровая команда и т.д. и т.п. все это отдельный файл на lpc-языке. Поэтому в этих мадах нет принципиальной разницы между билдингом и кодингом, все пишется по одинаковому на lpc. Помимо подробной информации по этому языку в составе пакета, есть отличные руководства LPC For Dummies, Book One и LPC For Dummies, Book Two на сайте Discworld MUD, одного из самых популярных LPMud'ов.

На данный момент проект по руссификации этого мада осуществляется силами двух человек: вашего покорного слуги и prool 'а. Репозиторий проекта находится на GitHub по адресу https://github.com/prool/deadsouls. Он полностью открыт для всех желающих помочь проекту и испытать фан от работы с совершенно уникальным мадом, тем чего в Рунете еще не было. Тестовый сервер запущен по адресу mud.kharkov.org 6666.

3 комментария

avatar
  • Len1n
  • 0
Топлю ребят за вас обеими руками! Дело хорошее задумали, главное чтоб хватило сил и терпения, чего собсна вам и желаю)
Хочется поиграться в действительно хороший проект. Удачи!
avatar
Похоже, наработали вы еще не много.
Если удастся русифицировать движок с редактором и оно будет по-человечески отображать кириллицу на поднятом сервере, сделайте отдельную тему пожалуйста. Со всеми нужными файлами и описанием.
У меня бывает желание писать зоны, но не учиться кодить. Собственно и пишу иногда, а потом удаляю.
avatar
Движок уже нормально отображает кириллицу, в нем уже сейчас можно без проблем общаться на русском или украинском, так как движок на utf-8 из коробки. В комплекте с движком идет несколько зон и я сейчас понемногу меняю описания комнат и мобов, но начал я с иммской зоны и поэтому результат работы пока будет заметен не для всех. :) Также переведено несколько игровых команд, например, mudtime стал командой «время». Пруль написал несколько своих команд с нуля, например, гов и кри.

В общем, работа понемногу идет, но это задача для двух человек, работающих над движком в свободное время не на недели, и даже не на месяцы. Движок Былин несколько человек уже почти двадцать лет пилят и работа все продолжается, и это нормально. Качественной русификации на данный момент мешает отсутствие поддержки падежей и различных окончаний для мужских и женских родов слов, но Пруль сейчас над этим работает.

Совсем не программировать на этом движке не получится, так как там все — и комната, и объект, и моб и т.д., это по сути триггер (грубая аналогия для людей привыкших работать с движком Circle). Поэтому редактором является любой программистский текстовый редактор, например, notepad++. Тут пугаться не стоит, так как lpc не сложнее dg_script, а возможности его намного выше. Если можешь в циркле написать простой триггер, то и в этом движке сможешь написать хотя бы простенькую зону.

К сожалению, сейчас вся справка и вся информация по этому движку на английском языке и перевести все это сейчас просто не хватает времени. Здесь на форуме я создал тему по движку http://muder.ru/forum/index.php?topic=419.0 в которой можно задавать различные вопросы и на которые мы постараемся ответить, хотя сами еще многого не знаем.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.