Ren'Py

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Ren'Py
 
ТипІгровий рушій
РозробникТом «PyTom» Ротамел
Перший випуск24 серпня, 2004; 19 років тому (2004-08-24)
Стабільний випуск8.2.3 (17 червня, 2024; 30 днів тому (2024-06-17))
Платформа
Для розробки
Операційна системаWindows, Linux і macOS
Мова програмуванняPython, Cython
Доступні мовиАнглійська, повна підтримка UTF-8
Стан розробкиАктивний
ЛіцензіяЛіцензія MIT
Репозиторійgithub.com/renpy/renpy
Вебсайтrenpy.org

Ren'Py (від ren і Python) — безплатний, вільний і відкритий ігровий рушій для створення як некомерційних, так і комерційних візуальних новел (графічних квестів з діалоговою системою) у двовимірній графіці. Підтримує платформи Windows, Linux і Mac OS X, а також підтримується запуск ігор на Android та iOS. Автором рушія є Том «PyTom» Ротамел (англ. Tom Rothamel).

Понад 4000 ігор використовують рушій Ren'Py, переважна більшість з яких англійською мовою. [1] Документація рушія доступна англійською, японською та китайською мовами.

Огляд

[ред. | ред. код]
Приклад сцени, зробленої на Ren'Py

У можливості рушія входить створення розгалужених діалогових потоків, збереження та відкати до потрібних точок сценарію, різні варіації переходів між сценами, створення різноманітних меню вибору, DLC та інше. Є можливість відігравати відео як в повноекранному режимі, так і в формі анімованих спрайтів. Для опису потрібних анімацій використовується описова мова ATL (Animation and Translation Language). Також є можливість анімувати керівні елементи графічного інтерфейсу.

Скриптова система в Ren'Py максимально спрощена, та використовується як послідовний опис подій у грі. Є можливість вставляти блоки Python-коду в сценарний потік, що значно збільшує потенційні можливості в ігровій сцені.

Додаткові інструменти можуть допомогти запакувати всі ігрові ресурси в архів, а також провести скрипти через обфускацію (заплутування джерельних кодів з метою захистити авторську логіку). Проте ці заходи не дуже надійні для захисту авторського вмісту та можуть бути оминуті спеціалізованими інструментами (напр. unrpa[2]).

Ren'Py побудований на pygame, який своєю чергою використовує бібліотеку SDL для роботи з графікою.

За стандартом рушій підтримує Windows, останні версії Mac OS X та Linux, а також може бути запущений на Android та iOS 7. Але через свою відкритість та мінімальне використання сторонніх бібліотек може бути портований практично на будь-яку платформу, яка підтримує Python та SDL.

Ren'Py поширюється безплатно. Автори рушія просять творців ігор внести гру в загальний каталог на вебсайті розробника. Ren'Py є програмою з відкритим вихідним кодом і може бути вільно модифікованою і використаною як для некомерційних, так і комерційних цілей. Створені на неї ігри будуть з відкритими вихідними кодами або не обов’язково з відкритим.

Створення простих ігор у цьому конструкторі за складністю передбачена для будь-кого (тобто не обов’язково знати мову програмування), але для більш-менш складніших ігор потрібно вивчити та застосовувати скриптову мову Python: є можливості для створення оригінальної манги, в тому числі вставляти відео і використовувати різніспецефекти на рушії, також є можливість робити міні ігри, системи підрахунку параметрів для ускладнення ігрового процесу. Є можливість редагувати не текстовий скрипт проєкту прямо з гри через внутрішній ігровий інструмент «Інтерактивний режисер».

За стандартом, Ren'Py вже налаштовано на створення типової гри жанру візуальних новел та містить:

  • Головне меню з меню налаштувань, збереження і завантаження гри;
  • Автоматичне збереження гри;
  • Відкат для повернення раніше показаного екрану;
  • Інтелектуальне завантаження зображень, яке завантажує зображення у фоновому режимі, що запобігає затримкам під час гри;
  • Підтримку керування грою за допомогою миші, клавіатури або контролера;
  • Режим показу на весь екран та у вікні;
  • Можливість пропускати текст при відтворенні, в тому числі можливість показувати лише текст, який не був показаний раніше;
  • Автоматичну прокрутку тексту без використання клавіатури, що може бути зручно при великих обсягах тексту;
  • Можливість приховувати текст так, що користувач може бачити зображення за ним;
  • Здатність самостійно змінити гучність музики, звукових ефектів та озвучення.

Також при використанні нової версії GUI 7 є безліч нововведень:

  • Історія, яка дає змогу відтворювати вже прочитані діалоги;
  • Екран «Довідка», який показує при виклику основні клавіші керування на клавіатурі, миші та контролері;
  • Екран «Про гру», який містить назву і версію гри, версію Ren'Py і ліцензію;
  • Оптимізація під мобільні пристрої за стандартом.

Графіка і якість гри, створеної в даному конструкторі, залежить більшою мірою від авторських умінь малювання.

Також рушій дає можливість:

  • Представляти текст як в ADV, так і у NVL-стилі;
  • Налаштувати практично будь-який елемент інтерфейсу.

Використання в іграх

[ред. | ред. код]

Деякі з ігор, створених на Ren'Py

Примітки

[ред. | ред. код]
  1. Ren'Py Games List. Архів оригіналу за 12 квітня 2017. Процитовано 11 квітня 2017.
  2. A program to extract files from the RPA archive format. Архів оригіналу за 2 березня 2017. Процитовано 11 квітня 2017.