Dialog: различия между версиями

Материал из IFВики
Перейти к навигации Перейти к поиску
Содержимое удалено Содержимое добавлено
Нет описания правки
Нет описания правки
Строка 9: Строка 9:
|язык разработки = Dialog
|язык разработки = Dialog
|читаемый формат = [[.dg|Исходный код на языке Dialog (*.dg)]], [[.aastory|*.aastory]]
|читаемый формат = [[.dg|Исходный код на языке Dialog (*.dg)]], [[.aastory|*.aastory]]
|создаваемый формат = [[.z5|*.z5]], [[.z8|*.z8]], [[.zblorb|*.zblorb]], [[HTML|Веб-страницы (*.html)]], [[.aastory|*.aastory]], [[.d64|*.d64]], [[.dsk|*.dsk]]
|создаваемый формат = [[.z5|*.z5]], [[.z8|*.z8]], [[.zblorb|*.zblorb]], [[HTML|Веб-страницы (*.html)]], [[.js|*.js]], [[.aastory|*.aastory]], [[.d64|*.d64]], [[.dsk|*.dsk]]
|первый выпуск = 2018
|первый выпуск = 2018
|последняя версия = 1с/03, library 1.2.3
|последняя версия = 1с/03, library 1.2.3
Строка 23: Строка 23:
== Особенности платформы ==
== Особенности платформы ==
Входящий в набор компилятор ''dialogc'', позволяет компилировать игры как для классической [[Z-машина|Z-машины]], так и для собственной виртуальной [[Å-машина|Å-машины]] (игры для последней имеют формат [[.aastory|*.aastory]]). С помощью утилиты ''aambundle'' из данного формата можно создать JavaScript-версию для запуска игры в веб-браузере или образ диска для Commodore 64 и Apple II.
Входящий в набор компилятор ''dialogc'', позволяет компилировать игры как для классической [[Z-машина|Z-машины]], так и для собственной виртуальной [[Å-машина|Å-машины]] (игры для последней имеют формат [[.aastory|*.aastory]]). С помощью утилиты ''aambundle'' из данного формата можно создать JavaScript-версию для запуска игры в веб-браузере или образ диска для Commodore 64 и Apple II.
В набор программ Dialog также входит интерактивный [[дебаггер]] ''dgdebug'', позволяющий запускать, тестировать игры и, в процессе работы, изменять их.
В набор программ Dialog также входит интерактивный [[дебаггер]] ''dgdebug'', позволяющий запускать, тестировать игры и, в процессе работы, изменять их. Кроме того, в комплект с программой входит библиотека ''unit.dg'', позволяющая писать юнит-тесты, а также расширение ''stddebug.dg'', добавляющее в игру отладочные команды.


Dialog поставляется вместе со [[стандартная библиотека|стандартной библиотекой]] на английском языке, однако встроенная поддержка Юникода может облегчить её локализацию и на другие языки, в т.ч. на русский. Платформа позволяет создавать [[парсер]]ные, [[менюшные игры]], а также комбинировать оба варианта. Большая гибкость системы достигается, в т.ч. за счёт того, что парсер и модель мира полностью реализованы в стандартной библиотеке, и, за исключением некоторых системных команд, отделены от компилятора. При необходимости, авторам рекомендуется напрямую вносить изменения в библиотеку<ref name="note1" />. Кроме того, создание игр возможно и без использования стандартной библиотеки, средствами самого языка.
Dialog поставляется вместе со [[стандартная библиотека|стандартной библиотекой]] на английском языке, однако встроенная поддержка Юникода может облегчить её локализацию и на другие языки, в т.ч. на русский. Платформа позволяет создавать [[парсер]]ные, [[менюшные игры]], а также комбинировать оба варианта. Большая гибкость системы достигается, в т.ч. за счёт того, что парсер и модель мира полностью реализованы в стандартной библиотеке, и, за исключением некоторых системных команд, отделены от компилятора. При необходимости, авторам рекомендуется напрямую вносить изменения в библиотеку<ref name="note1" />. Кроме того, создание игр возможно и без использования библиотек, средствами самого языка.


== Ветка версии 0 ==
== Ветки Dialog ==
=== Ветка версии 0 ===
Оригинальная платформа вышла в 2018 году. Последняя версия имеет номер 0m/03, Lib 0.46. Линус оставил за собой право продолжать развивать данную версию<ref name="note5" />.
Оригинальная платформа вышла в 2018 году. Последняя версия имеет номер 0m/03, Lib 0.46. Линус оставил за собой право продолжать развивать данную версию<ref name="note5" />.


== Ветка версии 1 ==
=== Ветка версии 1 ===
Является форком оригинальной версии. Разрабатывается и поддерживается сообществом [https://github.com/Dialog-IF Dialog Project]. Первый официальный релиз (1a/01 (Lib 1.1.0)) вышел в январе 2026 года.
Является форком оригинальной версии. Разрабатывается и поддерживается сообществом [https://github.com/Dialog-IF Dialog Project]. Первый официальный релиз (1a/01 (Lib 1.1.0)) вышел в январе 2026 года.



Версия от 16:32, 2 октября 2026

Dialog
Тип Парсерные платформы, Менюшные платформы
Разработчик(и) Linus Åkesson, участники Dialog Project
Языки интерфейса Английский
Операционные системы Браузер, Windows, Android (Termux), macOS, GNU/Linux и др.
Написано на C, JavaScript (интерпретатор Å-машины)
Язык разработки Dialog
Читаемые форматы файлов Исходный код на языке Dialog (*.dg), *.aastory
Создаваемые форматы файлов *.z5, *.z8, *.zblorb, Веб-страницы (*.html), *.js, *.aastory, *.d64, *.dsk
Дата первого выпуска 2018
Последняя версия 1с/03, library 1.2.3
Дата последней версии 11 сентября 2026
Состояние {{{состояние}}}
Лицензия {{{лицензия}}}
Сайт Dialog-IF, оригинальная версия платформы на сайте её автора


Dialog — платформа для создания интерактивной литературы и текстовых игр. Её автор, Linus Åkesson, признался, что на язык сильно повлияли Пролог и Inform 7[1].

Язык

Диалог — язык общего назначения, принадлежащий к семейству языков логического программирования[2]. Программы на Диалоге состоят из т.н. «правил». Правила с одинаковыми именами принадлежат к общему «предикату». Предикаты позволяют строить т.н. «модель мира» — определяют отношения между объектами. Сами же объекты в Диалоге являются простыми именами (идентификаторами)[3][4].

Особенности платформы

Входящий в набор компилятор dialogc, позволяет компилировать игры как для классической Z-машины, так и для собственной виртуальной Å-машины (игры для последней имеют формат *.aastory). С помощью утилиты aambundle из данного формата можно создать JavaScript-версию для запуска игры в веб-браузере или образ диска для Commodore 64 и Apple II. В набор программ Dialog также входит интерактивный дебаггер dgdebug, позволяющий запускать, тестировать игры и, в процессе работы, изменять их. Кроме того, в комплект с программой входит библиотека unit.dg, позволяющая писать юнит-тесты, а также расширение stddebug.dg, добавляющее в игру отладочные команды.

Dialog поставляется вместе со стандартной библиотекой на английском языке, однако встроенная поддержка Юникода может облегчить её локализацию и на другие языки, в т.ч. на русский. Платформа позволяет создавать парсерные, менюшные игры, а также комбинировать оба варианта. Большая гибкость системы достигается, в т.ч. за счёт того, что парсер и модель мира полностью реализованы в стандартной библиотеке, и, за исключением некоторых системных команд, отделены от компилятора. При необходимости, авторам рекомендуется напрямую вносить изменения в библиотеку[1]. Кроме того, создание игр возможно и без использования библиотек, средствами самого языка.

Ветки Dialog

Ветка версии 0

Оригинальная платформа вышла в 2018 году. Последняя версия имеет номер 0m/03, Lib 0.46. Линус оставил за собой право продолжать развивать данную версию[5].

Ветка версии 1

Является форком оригинальной версии. Разрабатывается и поддерживается сообществом Dialog Project. Первый официальный релиз (1a/01 (Lib 1.1.0)) вышел в январе 2026 года.

Ссылки

См также

Примечания