Ren'Py

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

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

Понад 1250 ігор використовують рушій 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.