Vinora Engine

Простой и портативный движок визуальных новелл

English | Русский | Перевести...

Однажды мы устали.

Пора сказать хватит!

Как разработчик визуальных новелл:
  • Я хочу скачать один единственный бинарник без каких-либо сообщений
    «Пожалуйста, скачайте Visual C++ Framework» или
    «Пожалуйста, настройте интерпретатор Python».
  • Я хочу создавать игру даже на своём «устаревшем» ПК без каких-либо проблем.
  • Я хочу написать сценарий один раз и одним кликом портировать его на Windows/Linux/macOS/Android/Web.
  • Я хочу, чтобы мои игры могли работать на любом оборудовании, включая старые и будущие ПК.
  • Я хочу, чтобы сценарий был в удобочитаемом человеческом формате, который можно легко объяснить редактору или бета-ридеру.

  • Я НЕ хочу иметь в команде какого-либо «кодера». Если захочу сделать RPG, найму настоящего программиста.
Как читатель визуальных новелл:
  • Я хочу скачать архив игры, распаковать и запустить его на любом оборудовании или ОС.
  • Я хочу иметь возможность читать игру как веб-сайт или электронную книгу.
  • Я хочу легко модифицировать или переводить игру без помощи или поддержки со стороны разработчика.
  • Я хочу иметь базовые функции: роллбек, историю диалогов, галерею, схему сюжета/прохождения, даже если разработчик не позаботился об их реализации.
  • Я хочу иметь возможность настраивать дизайн или унифицировать все новеллы на Vinora Engine по своему вкусу.

  • Я НЕ хочу, чтобы мои сохранения ломались при обновлении движка или игры, каким бы то ни было образом.
  • Я НЕ хочу, чтобы в игре была какая-либо DRM, защита от копирования или другой тип вредоносных закладок.

Итак, как мы это делаем?

Vinora Engine (VIsual NOvel RAylib) спроектирована с учётом принципа KISS.

Это не IDE, а скорее браузер. Визуальная новелла на этом движке — это просто набор текстовых файлов .vnrs (Vinora Screenplay/Scene), медиафайлов и бинарника Vinora Engine для просмотра/проигрывания этих файлов.

Сам Vinora Screenplay — это слегка модифицированный Markdown.
Это ни в коем случае не язык программирования, а простой, популярный язык разметки. Если вы когда-либо использовали **такой** синтаксис для жирного выделения, *такой* для курсива или ~~такой~~ для зачёркивания, вы уже знаете основы.

Благодаря такому простому формату любой программист может создать движок, способный работать с этим форматом, а любой пользователь — писать свои визуальные новеллы без программирования.
Мы также выбрали простые низкоуровневые технологии для написания Vinora Engine, чтобы он был быстрым и портативным:


Технические детали

Vinora Engine написан на C99, единственные зависимости времени выполнения — OpenGL и libc. Также возможно, что мы создадим полностью статическую версию, где единственной зависимостью будет операционная система, если разработчики Raylib полностью реализуют программный рендер.

Raylib (фреймворк, который использует Vinora) работает на десятках платформ, включая BSD, Raspberry Pi и портативные консоли.
Мы также можем ожидать, что будущие ПК смогут компилировать код на C99 (поскольку C/C++ — это Языки ОС и всего критически важного ПО).

А если по какой-то причине этого не произойдёт, Markdown никуда не денется. И даже если Markdown будет забыт, текстовые файлы останутся: спецификация Vinora настолько проста, что даже начинающий программист сможет написать работоспособный движок (ну, мы же написали один :)
А даже если люди полностью забудут Си, файлы .vnrs останутся человекочитаемыми (в отличие от файлов на Python/XML). Так что, по крайней мере, пользователь сможет их прочитать как пьесу.

Ключевые возможности

Пример разметки

# Пролог

![](bg/park_evening.png)

> Сцена кажется немного наигранной, может, переписать её полностью?

@NARRATOR 
Солнце медленно садится за деревьями.

@ALICE 
Привет, незнакомец.

@BOB 
Привет, Алиса! Давно не виделись.

+ [Рассказать ей о секрете](secret.vnrs)
+ [Просто улыбнуться и помахать](end.vnrs)

Ссылки