візуальні новели

Візуальні новели (а точніше, романи) - це особливий вид текстових ігор, в яких гравцеві пропонується прочитати деяку історію, забезпечену картинками і побудовану у вигляді діалогів (або монологів) ігрових персонажів. При цьому розповідь може бути нелінійним! Тобто, в залежності від вибору гравця в потрібні моменти гри, її сюжет буде змінюватися.

Renpy 6.16

36.6 МБ (портативна версія)


Схожа програма: Створення ігор Game Maker

Почну, як завжди, здалеку, щоб Ви перейнялися ідеєю глибше :)))

Було це в далеких 90-х, коли про комп'ютери в кожному будинку ще й не мріяли :))) Попався якось мені в руки (тоді ще п'яти-або четверокласниками) один журнал ... Сам журнал я вже навіть не пам'ятаю, але в пам'яті міцно засіло доповнення до нього! А називалося воно нехитро: «Історія-квест».

Вся історія містилася на 30 сторінках друкованого тексту формату А5. Ці сторінки потрібно було розрізати і зшити в потрібній послідовності, після чого можна було починати читання ...

Вся суть історії була в тому, що сюжет її розвивався в залежності від Вашого ж особистого вибору! По суті, Ви ставали як би головним героєм оповідання і від того, що Ви надасте перевагу зробити в той чи інший момент, залежала кінцівка історії! Тобто, дочитавши, до кінця чергову сторінку, Ви повинні були вибрати, одне з доступних дій і, в залежності від цього, перейти до читання зазначеної сторінки.

Таким чином, початок у книжки було одне загальне, а дійдете Ви до хеппіенда, залежало вже від Вас!

У той час ми з товаришами зачитали книжку до дірок (в буквальному сенсі слова :))). Хтось із нас навіть намагався придумати свої квести. І ось через стільки років мені зустрілася програма, що дозволяє створювати подібні ігри, але вже на комп'ютері!

Зветься вона Renpy (а, якщо бути вже зовсім точним, то Ren'Py) і призначена для створення візуальних новел (або візуальних романів, якщо перекладати з англійської більш точно).

Що таке візуальна новела?

Візуальна новела - це комп'ютерна гра-квест, яка вдає із себе розповідь в картинках з кількома персонажами (вони накладаються на фон у вигляді спрайтів), репліки яких і розкривають сюжетну лінію. Сама ж сюжетна лінія, як і в інших текстових квестах, має кілька відгалужень, перехід на які залежить від вибору гравця!

По суті, це щось на зразок коміксу, але, по-перше, тут репліки персонажів зазвичай прописуються в нижній частині екрана (а не в «хмарках», як в класичних коміксах), а, по-друге, гравець, як уже неодноразово підкреслювалося, може впливати на хід гри, роблячи свій вибір на тих чи інших ситуаціях.

Даний жанр комп'ютерних ігор найчастіше пов'язують з аніме і мангою, оскільки зародилися візуальні новели саме в Країні Вранішнього Сонця, де ці стилі були найбільш популярними. Однак це не канон, оскільки Ви самі створюєте свою гру з нуля і вільні вирішувати, як вона буде виглядати!

Коротко про те, як створюються гри в Renpy

Це означає, що гру доведеться писати вручну за допомогою спеціального скриптового мови, що базується на Python 'е. Правда, мова не надто складний і при належній старанності Ви його подужаєте за пару днів (не весь, звичайно, але базові функції).

Початок роботи з програмою

Для початку роботи з програмою Вам потрібно завантажити архів з нею на свій ПК і розпакувати його в будь-яку зручну для Вас папку. В архіві, крім самої папки з програмою, Ви знайдете папку «Bonus» з парою російськомовних мінлива по Renpy, які можуть Вам знадобитися при освоєнні скриптового мови, а також вихідні створеної мною гри, яку я опишу нижче.

Після розпакування з архіву, Renpy вже готова до використання, тому зайдемо в однойменну папку і запустимо програму за допомогою файлу renpy.exe. Перед Вами з'явиться вікно Центру Управління:

Дане вікно складається з двох розділів: у верхній частині розташовуються пункти для управління поточним обраним проектом (за замовчуванням «Demo»), а в нижній - меню самої програми (пункти, що йдуть після заголовка «Renpy»).

Для початку пропоную запустити демо-гру, яка ознайомить нас практично з усіма можливостями Renpy. Для цього натиснемо кнопку «Запуск» в меню гри «Demo»:

Симпатична дівчина в стилі аніме проведе Вам екскурсію по всіх можливостей програми Renpy. Для навігації по кадрам гри використовується звичайний лівий клік мишею. Він також служить для вибору потрібного пункту в меню гри. Клавіатурою ж ми практично не користуємося (хіба, що якщо в грі передбачено введення будь-яких даних, наприклад, Вашого імені).

Початок створення власної гри

Якщо Ви вже ознайомилися з демо-грою, і бажання творити Вас не покинуло, тоді приступимо до створення власної візуальної новели.

Я вирішив створити гру-навчалку для маленьких школярів, допомагає їм запам'ятати таблицю множення на 2 :). Головний герой моєї гри - Пікачу, а сюжет буде крутитися, природно, навколо дуелі з іншим покемоном, для перемоги над яким потрібно знати таблицю множення на 2 :). Отже, приступимо ...

Насамперед нам потрібно повернутися до Центру Управління та натиснути там кнопку «Новий проект». Нам буде спочатку запропоновано ввести назву нашої гри. Я ввів перше, що спало на думку - «PikaPikaBum» :). Дана назва ніяк не впливає на хід самої гри.

Після введення назви проекту, нам потрібно буде вибрати тему оформлення для діалогових вікон і інтерфейсу гри взагалі:

Зовнішній вигляд теми у віконці праворуч ми побачимо при наведенні миші на назву теми в списку ліворуч. Застосувати ж вподобане оформлення можна по кліку миші (згодом Ви зможете поміняти тему в будь-який момент в Центрі керування в меню «Вибір теми»).

Через пару секунд після створення потрібних для гри ресурсів, Renpy перенаправить Вас в Центр Управління, але тепер вгорі буде не демонстраційна гра, а Ваша власна!

Запустити її Ви можете вже зараз, але в ній крім стандартних меню і встановлених реплік поки нічого немає:

Виправлення опцій гри

Зараз ми бачимо тільки, так би мовити, вершину «айсберга» (тобто, зовнішню оболонку гри). Решта ж його частина (тобто, всю інформацію, яку ми і будемо правити) прихована від нас в папці, в яку можна потрапити, натиснувши в Центрі керування пункт «Папка гри»:

За замовчуванням тут знаходиться 6 файлів, в двох з яких і зберігається вся можлива інформація про гру. У файлі «options.rpy» зберігаються настройки зовнішнього вигляду і теми Вашої візуальної новели. У файлі же з ім'ям «script.rpy» ми будемо прописувати весь сюжет гри.

Пропоную відразу звернути увагу на файл options.rpy. Якщо Ви знаєте англійську і хоча б трохи розбираєтеся в програмуванні (навіть на рівні HTML), то тут Ви знайдете багато корисного, що допоможе Вам повністю персоналізувати зовнішній вигляд Вашої гри. Я ж хочу звернути увагу на кілька самих основних параметрів:

  1. Рядок «config.window_title = u« Гра на основі Ren'Py »» (див. Скріншот вище) дозволяє задати заголовок вікна Вашої гри (це зліва від кнопок «Згорнути», «Розгорнути» і «Закрити»). Сюди Ви можете вписати назву Вашої візуальної новели. Зверніть увагу, що тут і далі перед рядком російською мовою Вам потрібно ставити англійську букву «u»;
  2. Якщо нижче приписати рядок «config.windows_icon». то з її допомогою можна задати іконку гри, яка буде відображена зліва від заголовка вікна;
  3. Рядок «mm_root» задає фон головного меню гри. Задавати фон можна у вигляді картинки або ж певного кольору в форматі RGB (див. Скріншот нижче);
  4. Рядок «gm_root» дозволяє вказати фон ігрових діалогових вікон. Формат даних - той же, що і в попередньому рядку:

Як я вже говорив, в опціях можна поправити хоч і всі параметри, але основні з них ми розглянули, тому будемо вважати, що знайомство з настройками у нас відбулося успішно :). Тепер давайте збережемо налаштування і перейдемо до виправлення безпосередньо сценарію гри.

Кожен сценарій гри в Renpy повинен починатися зі службової частини «init:»:

Тут ми повинні оголосити всі зображення і персонажів, які будуть використані у Вашій грі (крім тих фонів, які Ви вже вказали в налаштуваннях).

Зверніть увагу, що для зручності псевдоніми фонів краще випереджати позначкою «bg».

Коли все зображення оголошені, під ними прописується список персонажів:

  1. Насамперед ставиться значок «$». Цим Ви вказуєте програмі, що Ви створюєте персонажа;
  2. Далі через пробіл прописується псевдонім персонажа для виклику його в грі;
  3. Все це прирівнюється до службового слова «Character», після якого в дужках йде наступна інформація:
    • ім'я персонажа, яке буде виводитися над реплікою, в одинарних лапках (якщо ім'я російською, не забуваємо дописувати перед ним символ «u»);
    • колір імені персонажа (задається як в HTML: color = "#RGB»).

На цьому попередня частина гри закінчена. Але перед тим, як приступити до розбору подальшого коду, хочу звернути Вашу увагу на те, що скриптова мова Renpy иерархичен!

написання сценарію

Для написання сценарію ми використовуємо сцени і меню:

Сцена завжди починається з назви, яке задається службовим словом «label». Сцену (якщо вона не вкладена в іншу сцену) найкраще починати писати з самого краю вікна (ліворуч) без відступу. Після назви сцени завжди ставиться двокрапка!

Наступною рядком завжди задають фон сцени. Для цього прописують службове слово «scene», після якого вказують псевдонім потрібного зображення. Фон сцени і всі наступні її елементи (репліки, функції, переходи і т.д.) прописують з відступом (найкраще, зробленого кнопкою «TAB»).

Після фону додаються персонажі. Їх поява задається службовим словом «show». Щоб приховати ж потрібного героя використовують слово «hide». Синтаксис тут простий: спочатку вказується службове слово, а потім через пробіл псевдонім спрайту персонажа (тобто потрібної картинки).

Для параметра «show» можна задати місце, в якому буде відображений наш герой за допомогою слова «at». За замовчуванням положення спрайту персонажа визначається як «center», що вирівнює картинку по нижньому краю вікна і по центру. Якщо ж потрібно, щоб наш герой відображався в центральній точці екрану (як це зроблено в нашій тестовій грі), то Вам потрібен інший параметр - «truecenter».

Також позицію можна задавати за допомогою довільних координат. Для цього після псевдоніма спрайту персонажа ми прописуємо «at Position», після чого в дужках задаємо потрібні параметри:

  • xpos - позиція по горизонталі (задається в пікселях або десятих частках ігрового екрана);
  • ypos - позиція по вертикалі (одиниці вимірювання ті ж);
  • xanchor і yanchor - якоря прив'язки зображення-спрайту по горизонталі і вертикалі відповідно (точка, яка буде вважатися центром зображення);
  • xalign / yalign - вирівнювання по горизонталі / вертикалі.

Останнє, що стосується роботи з персонажами - це ефекти їх появи і зникання. Для додавання ефекту в самому кінці рядки опису героя (після позначки його позиції) прописується службове слово «with», після якого слід вказати будь-який з можливих варіантів їх відображення. Всі варіанти Ви можете подивитися в демо-грі.

Після вказівки всіх візуальних параметрів можна приступати до написання безпосередньо реплік. Репліки можуть бути як персоналізовані, так і не належать нікому з героїв гри.

Репліка в Renpy завжди пишеться в лапках. Якщо перед лапками поставити псевдонім персонажа (вказано перед «Character»), то над реплікою з'явиться ім'я потрібного нам героя. Якщо ж залишити рядок без додаткових параметрів, то фраза не належатиме нікому.

Структура меню та переходи до потрібних сцен

Для створення ситуації вибору подальшого розвитку сюжету в Renpy використовується система меню. Меню входить в структуру сцени (тобто, починається з табуляції) і містить ряд кнопок, які можуть бути натиснуті користувачем.

Меню має власну ієрархію. Це означає, що всі пункти табулірует вже від рядка ініціалізації меню. Сама ж структура наступна:

  1. Службове слово «menu:» задає нове меню в поточній сцені. Меню обов'язково має належати сцені, тобто починатися з відступу, як і репліки. В кінці не забуваємо ставити двокрапку;
  2. Другим обов'язковим компонентом меню є кнопка з варіантом відповіді (тобто, пункт меню). Кнопка - це слово (або кілька слів), укладену в лапки і написане з відступом щодо напису «menu:»;
  3. Якщо ми хочемо, щоб під час показу меню внизу у нас відображалася ще й репліка персонажа, то її потрібно помістити перед першим пунктом меню (див. Скріншот вище). Від пункту вона буде відрізнятися тільки тим, що перед словами в лапках у нас буде перебувати псевдонім потрібного нам персонажа, якому належить дана репліка;
  4. Додаткові дії і репліки, які з'являються після натискання на кнопку меню прописуються з табуляцією щодо того пункту меню, до якого вони належать.

До додаткових дій також відноситься функція переходу до потрібної сцені. З її допомогою, за допомогою меню, ми можемо створювати необмежено довго розгалужені сценарії. Зазвичай сцени в Renpy слідують один за одним у тій черговості, в якій вони прописані в сценарії, проте, якщо нам потрібно «перескочити» на довільну сцену і продовжити розповідь з неї, ми можемо скористатися командою «jump».

Після команди нам залишається тільки додати назву сцени, на яку нам потрібно потрапити і все :)

За допомогою меню можна створювати досить складні ефекти. Наприклад, у своїй грі я використовував тільки меню (!), Щоб організувати систему бою покемонів! Ось, що у мене вийшло в результаті :)

Трохи наївно, але, тим не менш, барвисто :). І, врахуйте, що зроблено це було за один день!

випуск гри

Після того, як Ви закінчите створювати свою гру, і вона буде повністю працездатною, Ви можете випустити її у світ! Для цього Вам потрібно зайти в Центр Управління Renpy і клікнути пункт «Випуск гри»:

Запуститься функція перевірки Вашої гри на помилки, після чого (якщо помилок не буде виявлено - Новомосковськ звіт lint.txt), Вам запропонують продовжити створення гри. Природно, натискаємо «Так»:

У наступному вікні нас запитають, для яких платформ Ви плануєте випуск своєї гри. За умовчанням вибрані всі доступні ОС (Windows, Linux, Mac), проте Ви можете зняти прапорці і залишити, наприклад, гру тільки «під Вінду» :). Після цього нам залишиться тільки натиснути кнопку «Випуск гри» і дочекатися, поки буде створений архів з нею. Цей архів Ви знайдете поруч з робочою папкою гри.

Готовий архів з грою Ви можете поширювати, як Вам заманеться. Можете викласти його в Мережу для загального доступу, можете роздавати в торрентах. а можете записати на диск і продавати гру в переходах :).

Переваги та недоліки програми

  • готовий безкоштовний движок для створення візуальних новел;
  • широкий функціонал;
  • досить простий в освоєнні скриптова мова;
  • можливість випуску комерційних ігор;
  • підтримка української мови.
  • немає графічного інтерфейсу для редагування ігор;
  • немає осудної керівництва з описом всіх вбудованих функцій програми;
  • для роботи з файлом налаштувань потрібні знання англійської і HTML.

Renpy, на відміну від інших конструкторів ігор, не має графічного режиму роботи з проектом! Добре це чи погано? З одного боку, звичайно ж погано :(. Набагато простіше було б, якби була можливість налаштовувати всі сцени в візуальному режимі. Однак, з іншого боку, програма вчить нас з Вами, що без праці, ні сюди, ні туди :)) )

Нехай це і не повноцінне програмування, але все ж дає нам можливість подивитися на процес створення гри очима програміста і зрозуміти, «як же вони це роблять» :).

Якщо Ви сповнені ідей і бажання творити, якщо Ви хочете, щоб Ваша розповідь (або навіть роман) побачив весь світ, то Renpy якраз та програма, яка може дати Вам можливість заявити про себе і свій талант!

СКАЧАТИ Renpy 6.16
(Сторінка завантаження)