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

Содержимое удалено Содержимое добавлено
новая страница, попытка перевода и компоновки в одну статью
 
Нет описания правки
 
(не показано 7 промежуточных версий 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#/blob/main/LICENSE MIT-1-ov-file]
|сайт = [https://sharpee.net/ sharpee.net]
}}
 
Sharpee — это платформа для создания текстовых игр (с [[Синтаксический анализатор|парсером]]), написанная на языке TypeScript. Это движок, на котором работают все файлы на языке Chord, а также полноценный инструмент для разработки игр.
 
Файл игры .story на языке Chord компилируется в файл IR, который загрузчик сценария преобразует в сущности, характеристики, фразы и связи. Сценарий на TypeScript формирует те же элементы напрямую через API. В обоих случаях игра выполняется одним и тем же движком.
Строка 24:
Что может предложить платформа Sharpee:
 
** '''Движок**'''. Цикл хода, выполнение команд, диспетчеризация событий, плагины;
** '''Модель мира**'''. Сущности, состоящие из свойств (данных) и поведения (логики), без глубокой иерархии наследования;
** '''Стандартная библиотека**'''. Доступны 45 [[Глагол|действий]] в игровом мире — взять, бросить, открыть, запереть, идти, осмотреть и прочие, — а также сохранение, восстановление, отмена, повтор, счет и справка;
** '''[[Синтаксический анализатор|Парсер**]]'''. Разбор на основе грамматики с поддержкой синонимов [[Глагол|глаголов]], ограничений слотов и шаблонов, заданных в сценарии;
** '''Языковой слой**'''. Все строки, видимые пользователю, вызываются по идентификатору сообщения;
** '''Каналы**'''. Структурированный вывод истории: повествовательный текст, статус, медиа, макет интерфейса;
** '''Расширения**'''. Опциональные системы: система очков, голод, базовая боевая система, диалоги, тестирование;
 
Движок и стандартная библиотека никогда не выводят текст на английском языке. Ни одной строки. Всё, что читает игрок, поступает из языкового слоя по идентификатору сообщения; благодаря этому локализация сводится к добавлению языкового пакета, а не к поиску и замене жестко прописанного в коде текста.
 
ИсторииФайлы .story не «печатают» готовый текст, а «выдаютсобирают» его. ИсторияФайл отправляетс структурированныеигрой отправляет данные по именованным каналам, а некий внешний механизм решает, как именно они превратятся в интерфейс. Именно поэтому одна и та же история может работать в терминале, в браузере или в интерфейсе, созданном самостоятельно автором игры, и можно изменить стиль или заменить любой элемент представления, не затрагивая логику самой игры.
 
==Ссылки==
Строка 40:
* [https://sharpee.net/sharpee Официальная документация на английском]
* [https://github.com/ChicagoDave/sharpee Официальный репозиторий]
 
== См. также ==
Источник — https://ifwiki.ru/Sharpee