Dialog: различия между версиями
Johnbrown (обсуждение | вклад) мНет описания правки |
Johnbrown (обсуждение | вклад) Нет описания правки |
||
| (не показана 1 промежуточная версия этого же участника) | |||
| Строка 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]] |
|создаваемый формат = [[.z5|*.z5]], [[.z8|*.z8]], [[.zblorb|*.zblorb]], [[HTML|Веб-страницы (*.html)]], [[.aastory|*.aastory]], [[.d64|*.d64]], [[.dsk|*.dsk]] |
||
|первый выпуск = 2018 |
|первый выпуск = 2018 |
||
|последняя версия = 1с/ |
|последняя версия = 1с/03, library 1.2.3 |
||
|дата последней версии = |
|дата последней версии = 11.09.2026 |
||
|сайт = [https://github.com/Dialog-IF Dialog-IF], [https://linusakesson.net/dialog/index.php оригинальная версия на сайте |
|сайт = [https://github.com/Dialog-IF Dialog-IF], [https://linusakesson.net/dialog/index.php оригинальная версия платформы на сайте её автора] |
||
}} |
}} |
||
Dialog — платформа для создания интерактивной литературы и текстовых игр. Её автор, [[Åkesson, Linus|Linus Åkesson]], признался, что на язык сильно повлияли [https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%BB%D0%BE%D0%B3_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F) Пролог] и [https://en.wikipedia.org/wiki/Inform#Inform_7 Inform 7]<ref name="note1" />. |
Dialog — платформа для создания интерактивной литературы и текстовых игр. Её автор, [[Åkesson, Linus|Linus Åkesson]], признался, что на язык сильно повлияли [https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%BB%D0%BE%D0%B3_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F) Пролог] и [https://en.wikipedia.org/wiki/Inform#Inform_7 Inform 7]<ref name="note1" />. |
||
== Язык == |
|||
Диалог — язык общего назначения, принадлежащий к семейству языков логического программирования<ref name="note2" />. Программы на Диалоге состоят из т.н. «правил». Правила с одинаковыми именами принадлежат к общему «предикату». Предикаты позволяют строить т.н. «модель мира» — определяют отношения между объектами. Сами же объекты в Диалоге являются простыми именами (идентификаторами)<ref name="note3" /><ref name="note4" />. |
|||
== Особенности платформы == |
== Особенности платформы == |
||
Входящий в набор компилятор ''dialogc'', позволяет компилировать игры для [[Z-машина|Z-машины]] и собственной виртуальной [[Å-машина|Å-машины]] |
Входящий в набор компилятор ''dialogc'', позволяет компилировать игры как для классической [[Z-машина|Z-машины]], так и для собственной виртуальной [[Å-машина|Å-машины]] (игры для последней имеют формат [[.aastory|*.aastory]]). С помощью утилиты ''aambundle'' из данного формата можно создать JavaScript-версию для запуска игры в веб-браузере или образ диска для Commodore 64 и Apple II. |
||
В набор программ Dialog также входит интерактивный [[дебаггер]] ''dgdebug'', позволяющий запускать, тестировать игры и, в процессе работы, изменять их. |
В набор программ Dialog также входит интерактивный [[дебаггер]] ''dgdebug'', позволяющий запускать, тестировать игры и, в процессе работы, изменять их. |
||
Dialog поставляется вместе со [[стандартная библиотека|стандартной библиотекой]] на английском языке, однако встроенная поддержка Юникода |
Dialog поставляется вместе со [[стандартная библиотека|стандартной библиотекой]] на английском языке, однако встроенная поддержка Юникода может облегчить её локализацию и на другие языки, в т.ч. на русский. Платформа позволяет создавать [[парсер]]ные, [[менюшные игры]], а также комбинировать оба варианта. Большая гибкость системы достигается, в т.ч. за счёт того, что парсер и модель мира полностью реализованы в стандартной библиотеке, и, за исключением некоторых системных команд, отделены от компилятора. При необходимости, авторам рекомендуется напрямую вносить изменения в библиотеку<ref name="note1" />. Кроме того, создание игр возможно и без использования стандартной библиотеки, средствами самого языка. |
||
== Ветка версии 0 == |
== Ветка версии 0 == |
||
Оригинальная платформа вышла в 2018 году. Последняя версия имеет номер 0m/03, Lib 0.46. Линус оставил за собой право продолжать развивать данную версию<ref name=" |
Оригинальная платформа вышла в 2018 году. Последняя версия имеет номер 0m/03, Lib 0.46. Линус оставил за собой право продолжать развивать данную версию<ref name="note5" />. |
||
== Ветка версии 1 == |
== Ветка версии 1 == |
||
| Строка 38: | Строка 41: | ||
== См также == |
== См также == |
||
* [[:Категория:Игры на Dialog]] |
* [[:Категория:Игры на Dialog|Игры на Dialog]] |
||
== Примечания == |
== Примечания == |
||
<references> |
<references> |
||
<ref name="note1">https://linusakesson.net/dialog/index.php</ref> |
<ref name="note1">https://linusakesson.net/dialog/index.php</ref> |
||
<ref name="note2">https:// |
<ref name="note2">https://dialog-if.github.io/manual/dialog/1c03/intro.html#_overview</ref> |
||
<ref name="note3">https://dialog-if.github.io/manual/dialog/1c03 |
<ref name="note3">https://dialog-if.github.io/manual/dialog/1c03/lang/execution.html#predicates</ref> |
||
<ref name="note4">https://dialog-if.github.io/manual/dialog/1c03/lang/execution.html#thinobjects</ref> |
|||
<ref name="note5">https://www.ifwiki.org/Dialog#Major_version_0</ref> |
|||
</references> |
</references> |
||
Текущая версия от 17:05, 1 октября 2026
| Dialog | |
| Тип | Парсерные платформы, Менюшные платформы |
|---|---|
| Разработчик(и) | Linus Åkesson, участники Dialog Project |
| Языки интерфейса | Английский |
| Операционные системы | Браузер, Windows, Android (Termux), macOS, GNU/Linux и др. |
| Написано на | C, JavaScript (интерпретатор Å-машины) |
| Язык разработки | Dialog |
| Читаемые форматы файлов | Исходный код на языке Dialog (*.dg), *.aastory |
| Создаваемые форматы файлов | *.z5, *.z8, *.zblorb, Веб-страницы (*.html), *.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, позволяющий запускать, тестировать игры и, в процессе работы, изменять их.
Dialog поставляется вместе со стандартной библиотекой на английском языке, однако встроенная поддержка Юникода может облегчить её локализацию и на другие языки, в т.ч. на русский. Платформа позволяет создавать парсерные, менюшные игры, а также комбинировать оба варианта. Большая гибкость системы достигается, в т.ч. за счёт того, что парсер и модель мира полностью реализованы в стандартной библиотеке, и, за исключением некоторых системных команд, отделены от компилятора. При необходимости, авторам рекомендуется напрямую вносить изменения в библиотеку[1]. Кроме того, создание игр возможно и без использования стандартной библиотеки, средствами самого языка.
Ветка версии 0
Оригинальная платформа вышла в 2018 году. Последняя версия имеет номер 0m/03, Lib 0.46. Линус оставил за собой право продолжать развивать данную версию[5].
Ветка версии 1
Является форком оригинальной версии. Разрабатывается и поддерживается сообществом Dialog Project. Первый официальный релиз (1a/01 (Lib 1.1.0)) вышел в январе 2026 года.
Ссылки
- Dialog-IF
- Оригинальная версия Dialog
- Руководство
- Раздел на форуме intfiction.org
- Плащ тьмы в качестве примера исходного кода игры на языке Dialog
См также
Примечания
- ↑ 1,0 1,1 https://linusakesson.net/dialog/index.php
- ↑ https://dialog-if.github.io/manual/dialog/1c03/intro.html#_overview
- ↑ https://dialog-if.github.io/manual/dialog/1c03/lang/execution.html#predicates
- ↑ https://dialog-if.github.io/manual/dialog/1c03/lang/execution.html#thinobjects
- ↑ https://www.ifwiki.org/Dialog#Major_version_0