Что такое Ren'Py и с чем его едят

Ren'Py это бесплатный кросс-платформенный движок, который поможет вам сделать сюжетную игру. Это может быть:

Визуальная новелла, история, рассказанная с помощью текста, изображений, звуков и музыки. Скриптовый язык Ren'Py позволяет писать визуальные новеллы просто и эффективно, профессиональный программист для создания игры не понадобится.

Симулятор, например, симулятор свиданий или тайм-менеджер тоже можно написать на Ren'Py, используя поддержку языка Python. Движок сам позаботится о таких вещах, как постоянство и эффективный рендеринг, позволяя программисту сфокусироваться на интерфейсе и логике игры. Более того, скриптовый язык Ren'Py, на котором так просто писать визуальные новеллы, позволит добавить сюжетные вставки в ваш симулятор.

Возможности визуализации и геймплея Ren'Py могут быть расширены пользователем и достаточны для создания любой двумерной сюжетной игры.

Бесплатность

На Ren'Py можно делать как коммерческие, так и бесплатные игры. Хотя движок и его библиотеки являются open source, лицензирован от таким образом, что вы можете сами выбрать, будут у вашей игры открытые исходники или нет. Для распространения игры на Ren'Py вам не придется платить создателям движка или кому-то еще.

Кросс-платформенность

Одно из главных преимуществ Ren'Py - его кросс-платформенность.

Windows 2000+ (x86)

Mac OS X 10.4+ (x86 и ppc)

Linux (x86, glibc 2.3+)

Движок может компилировать отдельные версии игр для всех этих платформ. Пользователю не придется ничего дополнительно скачивать - игры запустятся сразу.

Скриптовый язык

В Ren'Py используется простой язык, основанные на тексте. Вот небольшой отрывок из игры:

label family:

scene bg beach2

with dissolve

"Вскоре Мэри нарушила тишину, задав мне вопрос."

show mary dark smiling

with dissolve

m "Я немного рассказала о своей семье... но еще не спрашивала о твоей. Какая она?"

p "Здесь на острове я живу с моими тетей и дядей, а дома - с мамой, папой и сестрой."

m "Сестрой? Старшей или младшей?"

Как видно в этом примере, взятом из настоящей игры, работа со скриптом Ren'Py требует ненамного больше усилий, чем простой набор сюжетного текста. Движок даже позволяет сокращать имена персонажей и печатать m вместо "Мэри".

Ren'Py позволяет назначить персонажам и изображениям переменные. С ними очень просто вносить изменения, не переписывая всю игру. Скрипт также позволяет добиться того, чтобы определенные изображения или текст оставались неизменными на протяжении всей игры.

Вместе с движком поставляется тектовый редактор jEdit, но скриптовый язык Ren'Py основан на тексте и это позволяет работать с ним в текстовых редакторах на ваш выбор. Есть также сторонние инструменты для проверки правописания и сравнения двух версий игры.

Возможности скриптового языка:

- Отображение диалогов и мыслей

- Игрок может делать выборы с помощью меню

- Показ и скрытие изображений

- Переходы между экранами

- Проигрывание музыки, звуков и голоса

- Переходы по меткам

- Использование переменных

- Использования языка Python для более сложных задач

Начиная с версии 6.10 появилась возможность произвольно анимировать положение камеры, делая небольшие клипы из одного или нескольких сменяющихся изображений:

Настройки по умолчанию

Ren'Py по умолчанию включает все возможности, которые игрок ожидает от визуальной новеллы. По желанию их можно отключить, но каждая новая игра будет иметь:

- Главное меню, отображаемое перед началом игры

- Игровое меню для загрузки, сохранения и настроек

- Выбор между полноэкранным и оконным режимами

- Независимая настройка громкости музыки, звуков и голоса

- Возможность промотки текста, с ограничением на уже пройденное

- Автоматическая промотка текста на любой скорости, причем более длинный текст остается на экране дольше

- Возможность скрыть текст, чтобы игрок мог рассмотреть фон

- Отмотка на предыдущие экраны, где можно сделать другой выбор

- Предварительная загрузка фоновых изображений, ускоряющая их вывод на экран

Настройки внешнего вида и локализация

У разработчика игры множество возможностей настроить Ren'Py под свою игру:

- Отображение текста в режиме NVL, когда на экран выводится несколько абзацев текста одновременно

- Изменение внешнего вида меню с помощью тем

- Стили, с помощью которых можно детально настроить вид игры

- Можно менять шрифт, его размер, цвет и вид. Текстовые тэги позволяют применять эти свойства к отдельным блокам текста.

- Ren'Py был переведен на множество языков, включая русский

Поддерживаемые типы файлов

Изображения: JPEG/JPG, PNG, BMP, GIF

Звук: OGG Vorbis, WAV (только несжатый PCM), MP3, MP2

Видео: Theora, MPEG 4, MPEG 2, MPEG 1

Ren'Py поддерживает шрифты TrueType и некоторые шрифты, основанные на изображениях. Движок сам запакует все ресурсы в архивный файл формата RPA - это предотвратит их случайный просмотр игроком (для защиты от спойлеров).

На движке Ren'Py сделано уже более 180 игр, из них несколько на русском языке.

Полезные ссылки:

Официальный сайт движка - Подробное описание и форум на английском языке

Русская страничка движка - Локализованная версия движка и Руководство для начинающих

Русскоязычное обсуждение - тема на Аниме-Форуме

Подробнее о визуальных новеллах - Визуальные новеллы и движок Ren'Py

Описание движка по материалам официального сайта.

Перевод (с сокращениями) мой.