Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/scaledteam/enramti

Enramti это движок для визуальной новеллы на основе Love2D и Lua (LuaJIT)
https://github.com/scaledteam/enramti

love2d lua visual-novel visual-novel-engine

Last synced: about 1 month ago
JSON representation

Enramti это движок для визуальной новеллы на основе Love2D и Lua (LuaJIT)

Awesome Lists containing this project

README

        

# Enramti
Enramti это движок для визуальной новеллы на основе Love2D и Lua (LuaJIT)

## С чего начать
Самый простой метод - скачать последний релиз и начать редактировать сценарий, добавлять фоны и прочее.

https://github.com/scaledteam/Enramti/releases/

Для более глубокого понимания можно посмотреть следующие прямые трансляции, связанные с данным движком:

https://www.youtube.com/watch?v=Krs6hwA75c8

https://www.youtube.com/watch?v=0w72ZXHQx2g

## Принцип построения сценария
Сценарий пишется на удобном для восприятия языке, где каждая строчка является одним кадром в новелле. Вот пример:
```
Я подумал тогда об этом, и решил направится вперёд.
```
Данная строчка отобразится в игре как мысли главного героя. Попробуем составить диалог:
```
Фон: Помещение
Персонажи:
Соня
Соня: Приветствую тебя Главный Герой! Как поживаешь?
ГГ: Нормально поживаю.
В этот момент я начал думать что что-то не так. Откуда взялась Соня и почему все забыли имя главного героя?
ГГ: Мне пора бежать.
Фон: Улица
Персонажи:
Я убежал от неё, не попрощавшись.
```
Слово "Персонажи" является ключевым, и список персонажей, разделённый табуляцией (клавишей TAB) является списком персонажей, отображённых на экране.
Если написать это слово без списка, экран очистится от персонажей.
Чтобы описать имя собеседника, необходимо разделить его двоеточием. Важно отметить, что имя не может содержать пробелов.
Это обусловлено сложностью в разделении двоеточия в предложении и имени персонажа.
Слово "Фон" тоже является ключевым, оно позволяет выбрать текущий фон.

Данные кодовые слова работают как модификаторы, складываясь в память и применяясь при первой же сказанной фразе или выборе.

## Система выборов
```
Соня: Я так хочу куда-нибудь пойти сегодня! Хочешь пойдём прямо сейчас?
Выбор:
Пойти с ней
Отложить встречу

Метка: Пойти с ней
Дать: Пошёл с Соней
ГГ: Отличная идея, пойдём прямо сейчас!
Соня: Ура!
Переход: Конец выбора

Метка: Отложить встречу
ГГ: Нет, давай в другой раз.
Соня: Как жалко!
Переход: Конец выбора

Метка: Конец выбора
Так или иначе, нам нужно подготовится сегодня. Займёмся делом.
```
В данном контексте происходит простой выбор, который в любом случае приводит к одной и той же ситуации. Персонажи пойдут гулять позже, поэтому сейчас не происходит разветвления сюжета. Но чтобы запомнить, что главный герой что-то выбрал, используется кодовое слово "Дать", которое кладёт ему предмет в инвентарь. Оно может использоваться для разветвления в будущем. Подробнее смотрите файл `script.txt` .