Данный проект представляет собой движок/библиотеку, разработанную для языка программирования C++, для удобного создания визуальных новелл.
Данный движок является удобным инструментом для создания визуальных новелл с сюжетом любой сложности.
Задача разработчика: описать сюжет в виде графа при помощи предоставленных движком структур; при этом, работа с графикой со стороны разработчика минимальна, он может даже не знать, что предоставленные функции — обертка над SFML, все удобно автоматизированно.
Движок предоставляет разработчику широкий набор объектов, которыми он может воспользоваться (расположены в visual_novel_engine/engine/objects/user_objects):
- Actions — класс, описывающий выбор действия в визуальной новелле.
- DialogueBox — диалоговое окно для отображение речи персонажей.
- FrameSlots — слоты для размещения персонажей на игровой сцене.
- Frame — сцена, которая позволяет удобно работать с вышеописанными объектами, как с единым целым.
- Chapter — глава сюжета. Может быть интерпретирована как вершина графа, которая описывает конкретный эпизод сюжета.
- Script — набор глав, который может быть интерпретирован, как оптимизированная по памяти матрица смежности графа, то есть, данный класс содержит ребра графа.
- VisualNovel — обработчик вышеописанного графа, составленного разработчиком: данный класс реализует автоматизацию игрового процесса, задает дизайн главного меню и т.п.
Подробнее о данных объектах и их эксплуатации можно прочитать в документации.
- Клонировать репозиторий:
git clone https://github.com/0ficus/visual_novel_engine.git
- Удовлетворить зависимости: может потребоваться установка SFML для вашей ОС.
Хранить вспомогательные данные по типу изображений, музыкальных файлов, шрифтов и т.п. рекомендуется в visual_novel_engine/game/game_data.
Разработку игрового приложения рекомендуется вести в visual_novel_engine/game.
Руководство по использованию функций, структур данных, которые предоставляются движком можно прочитать в документации.
Этот проект лицензирован под MIT License — подробности см. в файле LICENSE.