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

Содержимое удалено Содержимое добавлено
Нет описания правки
Нет описания правки
 
(не показано 5 промежуточных версий 2 участников)
Строка 1:
{{product info
|название =
|тип = МенюшныеПарсерные платформы
|разработчик = [[Разработчик::Cornelson, David|DavidДэвид CornelsonКорнельсон]]
|язык = английский
|система = Windows, macOS, Linux (runtime); macOS (Chord Writer)
|онлайн = да
|написано на = [[TypeScript]]
|язык разработки = [[JavaScript]], [[TypeScript]] [[wikipedia:Категория:Семейство языков программирования JavaScript|или др.]]
|читаемый формат =
|создаваемый формат =
|первый выпуск = 21.12.20262025
|последняя версия = 5.4.0
|дата последней версии = 11.09.2026
|состояние = активное
|лицензия = [https://github.com/ChicagoDave/sharpee#MIT-1-ov-file/blob/main/LICENSE MIT license]
|сайт = [https://sharpee.net/ sharpee.net]
}}
 
Sharpee — это платформа для создания текстовых игр (с [[Синтаксический анализатор|парсером]]), написанная на языке TypeScript. Это движок, на котором работают все файлы на языке Chord, а также полноценный инструмент для разработки игр.
 
Файл игры .story на языке Chord компилируется в файл IR, который загрузчик сценария преобразует в сущности, характеристики, фразы и связи. Сценарий на TypeScript формирует те же элементы напрямую через API. В обоих случаях игра выполняется одним и тем же движком.
Строка 24:
Что может предложить платформа Sharpee:
 
** '''Движок**'''. Цикл хода, выполнение команд, диспетчеризация событий, плагины;
** '''Модель мира**'''. Сущности, состоящие из свойств (данных) и поведения (логики), без глубокой иерархии наследования;
** '''Стандартная библиотека**'''. Доступны 45 [[Глагол|действий]] в игровом мире — взять, бросить, открыть, запереть, идти, осмотреть и прочие, — а также сохранение, восстановление, отмена, повтор, счет и справка;
** '''[[Синтаксический анализатор|Парсер**]]'''. Разбор на основе грамматики с поддержкой синонимов [[Глагол|глаголов]], ограничений слотов и шаблонов, заданных в сценарии;
** '''Языковой слой**'''. Все строки, видимые пользователю, вызываются по идентификатору сообщения;
** '''Каналы**'''. Структурированный вывод истории: повествовательный текст, статус, медиа, макет интерфейса;
** '''Расширения**'''. Опциональные системы: система очков, голод, базовая боевая система, диалоги, тестирование;
 
Движок и стандартная библиотека никогда не выводят текст на английском языке. Всё, что читает игрок, поступает из языкового слоя по идентификатору сообщения; благодаря этому локализация сводится к добавлению языкового пакета, а не к поиску и замене жестко прописанного в коде текста.
Строка 40:
* [https://sharpee.net/sharpee Официальная документация на английском]
* [https://github.com/ChicagoDave/sharpee Официальный репозиторий]
 
== См. также ==
Источник — https://ifwiki.ru/Sharpee