Стероиды для Diku

DikuMUD был замечательным «hack and slash» мадом, созданным студентами Копенгагенского университета в 1991 году. Он стал родоначальником огромного семейства мадов и движков для них, таких как CircleMUD, Merc и SMAUG.
Для разнообразия поведения мобов в DikuMUD помимо захардкоженных в движке функций, для билдеров предлагалось несколько простых макросов. Они и положили начало для нескольких скриптовых языков, использующихся в семействе Diku-мадов и по сей день. Здесь я хочу рассказать о наиболее ярких представителях этих языков.

Mobprogs

Основы Mobprogs были заложены в Worlds of Carnage MUD под названием Easyact system. Автор ее — Dimwit (Aaron Buhr). Позднее с некоторыми доработками эта система перекочевала в кодовую базу Merc, а из Merc в ROM. Easyact system облегчала жизнь билдерам, но обладала множеством недостатков, вот перечень из официальной документации:
  • Not real-time, variables are expanded macros
  • Scripts are parsed on every run
  • No looping constructs
  • Nothing ensuring data is valid for duration of execution
  • Poor support for expressions
  • No concept of instance variables
  • Code is a mess and poorly scalable
  • No simple way to access internal data fields
Позднее Easyact system в Worlds of Carnage MUD была заменена на BlobbieScript, который исправлял вышеперечисленные недостатки Easyact system. С особенностями этого языка вы можете ознакомиться здесь.

DG-Scripts

История DG-Scripts начинается с Death Gate MUD, созданного в октябре 1994 года. Он был основан на кодовой базе CircleMUD 3.0. Создатели DG-Scripts — Mark Heilpern и Chris Powell. Они были недовольны существовавшей системой mobprogs и решили создать собственный скриптовый язык для Death Gate MUD.

Однако Death Gate MUD не снискал большой популярности среди игроков и в 1996 году было решено закрыть этот мад, а его код выложить в открытый доступ. Затем кусок Death Gate MUD со скриптовым языком перекочевал в виде патча в CircleMUD в 1998 году. С тех пор DG-Scripts непрерывно развивался и совершенствовался. Сейчас это стабильный и безопасный скриптовый язык для билдеров. Его последняя версия на данный момент 1.0.14.

DG-Scripts — основан на идее триггера (trigger) — программы, которая вызывается в результате какого-то события (например, моб видит игрока, объект поднят игроком и т.д.). Триггеры могут быть прикреплены к мобу, объекту, комнате, а в последних версиях языка даже к игроку.

DG-Scripts в Рунете основаны на скриптовом языке из RMUD'а Андрея Фидря, который русифицировал по-видимому самую первую доступную версию DG-Scripts.

DIL (database interpretive language)

После того как создатели DikuMUD выложили свой движок в открытый доступ под весьма ограничительной лицензией, они начали работать над своей следующей кодовой базой — Valhalla Mud Engine(VME) ©. VME не является клоном DIKU, но продолжает его идеи и дух.

Для VME был создан DIL — язык позволяющий создавать даже заклинания и умения, без необходимости лезть в C-код движка, в чем он напоминает lpc-язык LPMud'ов. С особенностями языка можно ознакомиться в официальной документации.

mudlle

В 1992 году в MUME — одном из первых мадов на движке DikuMUD начали создавать собственный скриптовый язык — mudlle. Скачать и ознакомиться с этим языком можно на сайте игры http://mume.org/Download/mudlle/.

Феня

Феня начал разрабатываться в начале двухтысячных для Forgotten Dungeon MUD на замену Mobprogs. Затем он перекочевал в DreamLand MUD и MUD Грани Мира. Ознакомиться с историей и синтаксисом языка можно тут. А подробнее о языке можно узнать из топиков его создател[я/ей], которые иногда заходят на этот сайт.

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

Оставить комментарий

Комментировать при помощи:
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.