Как сделать новеллу

Ren’Py 7.0 «For all mankind.»

was released on June 01, 2018. The main downloads of Ren’Py 7.0 are:

Download SDK 7z.exe — 72 MiBDownload SDK dmg — 89 MiBDownload SDK tar.bz2 — 88 MiB

Download SDK zip — 93 MiB

You only need to download one of these three files. Each contains the full Ren’Py software development kit, with everything needed to develop Ren’Py games for Windows XP and up, Mac OS X 10.6 and up, and Linux x86/x86_64. The development environment contains the files needed to produce games for all three platforms, the Ren’Py tutorial, and «The Question», an example game.

Ren’Py is free to download and use for commercial and non-commercial purposes. It may be modified and distributed under the terms of its license.

Additional Downloads. When necessary, the Ren’Py SDK will automatically download additional packages, such as text editors and Android/iOS support.

Новое в блоге:

These packages are available for direct download at the bottom of this page.

Announcement

I’m happy to announce the release of Ren’Py 7, the result of over a decade of development since Ren’Py 6 was released. Compared to that release, Ren’Py 7 adds many features uses have long since come to consider core parts of the engine, such as ATL, Screen Language, OpenGL acceleration, support for the Android and iOS platforms, Translations, Accessibility, and so much more.

Thanks to everyone who created with Ren’Py during the Ren’Py 6 series, when Ren’Py and visual novels went from a tiny niche to something that is popular and culturally relevant. I look forward to seeing where Ren’Py 7 takes us.

Compared to Ren’Py 6.99.14.3, this release adds a new layered image system, which provides a cleaner replacement for the use of LiveComposite and ConditionSwitch when it comes to building sprites from layered images created in paint programs. There is a new syntax for such images, and portions can be defined automatically. Layered images also interact better with other portions of Ren’Py, such as the image predictor and interactive director.

Other major changes are:

  • The ability to apply transitions to specific layers, making it possible to dissolve in a sprite while text is being shown.
  • A second row of ruby or interlinear text can now be shown.
  • A way of converting strings into custom displayables.
  • A French translation of the launcher and The Question.
  • An editing pass over the reference manual.

Apart from these, this release includes a few fixes and minor new features. As always, check the changelog for complete details.

Ren’Py 7 is brought to you by over 100 people from around the world, and myself, Tom "PyTom" Rothamel.

Downloads of Ren’Py 7.0 can be found at:

https://www.renpy.org/release/7.0

A full list of changes to Ren’Py can be found at:

https://www.renpy.org/doc/html/changelog.html

A list of changes that may require you to update your game can be found at:

https://www.renpy.org/doc/html/incompatible.html

Please also check out the credits and list of sponsors.

Всем привет) хотелось бы узнать, мб кто знает, как можно изменить текст в визуальной новелле? т.е. например сама новелла на англ, а я хочу в самой игре переписать текст на русском.
Okabe# 3 октября 2014 в 16:26+1
Смотря на каком движке сделана новелла. Если на RenPy (известный свободно распространяемый движок), то для начала нужно отыскать в папке с игрой файлик(и) со сценарием. Они будут с расширением .rpyc или .rpy, что-то типа scenario.rpyc. Если они в .rpy, то всё просто: нужно открыть эти файлы любым текстовым редактором, кроме стандартного Блокнота (AkelPad, например) и начать переписывать текст. Если они в .rpyc, то сначала из них нужно получить .rpy, которые уже и нужно править. Файлы .rpyc переводятся в .rpy вот этой утилитой: https://github.com/yuriks/unrpyc

Если новелла не на RenPy, то всё уже зависит от её движка. Я с другими движками не работал.

Gasai95# 5 октября 2014 в 22:40 0
спасибо)) а как насчет патчей? или это будет сложнее?
Okabe# 6 октября 2014 в 09:28 0
То есть сделать перевод в виде патча?

Тогда просто запаковать в архив переделанные файлы. Текстовые файлы .rpy автоматически переводятся в файлы .rpyc после запуска игры. Так что можно либо засунуть в архив файлы .rpy, и тогда .rpyc перекомпилируются уже на компьютере пользователя, либо засунуть в архив готовые .rpyc.

Gasai95# 6 октября 2014 в 14:37 0
ох, а тут я не совсем поняла( ну ладненько, я пока попробую сделать как выше, а потом снова к вам обращусь за помощью)
Okabe# 6 октября 2014 в 22:05+1
Попытаюсь объяснить механизм.

Визуальные новеллы, что это и с чем едят?

.rpy — это по сути исходный код, голый текст, который, для того чтобы игра могла его использовать, нужно переделать в .rpyc. Именно .rpyc используются игрой. Если на примере: допустим, весь текст у нас лежит в файле scenario.rpyc, Утилитой получаем из него scenario.rpy, это наш исходный код, который мы можем переписать. Переписываем. Далее игре требуется .rpyc. Получить его просто: игра при запуске сама автоматически делает из всех .rpy, лежащих в её папке, файлы .rpyc. Если такой .rpyc уже есть (как в нашей случае: старый файл сценария scenario.rpyc), то он обновляется. Поэтому в общем-то без разницы, что положить в архив патча: scenario.rpy или scenario.rpyc. Игре нужен .rpyc, но из .rpy игра сама сделает .rpyc.

RenPy. Урок 1. Базовые команды

от BPS
Прочее   renpy

Автор: lolbot

Курс посвящен не столько Ren'Py вообще, сколько моддингу everlasting_summer-1.2. Однако данные знания будут полезны и при создании игр на данном движке.

Целевая аудитория: желающие попробовать себя на роль сценариста и/или редактора.

Требуемые навыки: уметь редактировать текстовые файлы, обладать зачатками разума.

Что нам понадобится?Текстовый редактор, поддерживающий:
— Unicode, в частности UTF-8
UTF-8 — многобайтная кодировка, стандарт юникода de facto. Русские символы кодируются 2 байтами, что хорошо видно ниже.

Если поддержки нет, вы скорее всего увидите что-то такое:
 
— Как CR/LF, так и Unix end of line
В разных ОС разные традиции кодирования переноса строк. В DOS и Windows используются 2 байта — CR и LF, в Linux — 1 байт LF.

Если поддержки нет, вы скорее всего увидите что-то такое:
 
— (желательно) замену табуляции на 4 пробела
Под Windows я использую AkelPad, под Linux — Kate

Как грузится Ren'Py?1. Компилирует все файлы *.rpy в папке /game/. Результат = *.rpyc-файлы
2. Загружает все *.rpyc-файлы из папки /game/
Вывод: если подложить .rpy-файл в любое место в папке /game/, то он подгрузится
Кстати, имя файла ни на что не влияет.

Структура rpy-файла- Текстовый, человекочитаемый файл
— 1 команда = 1 непустая строка файла
— Исключение — блоки
— Блок имеет команду-шапку на первой строке.
— А также команды-строки, входящие в него
— Которые тоже могут быть блоками
— Вложенные команды — на 4 пробела правее

Базовые команды label, jump и returnlabel <метка> — единственный в этом уроке блок
Команды внутри него выполняются сверху вниз
jump <метка> — переход к 1-й команде соответствующего блока
return — возврат к главному меню игры.

Базовые команды: описания и реплики"Вот так оформляется текст от имени автора"
th "Вот так оформляются мысли Семёна, те самые, которые с ~ по краям"
me "Реплика вслух от имени Семёна"

ОСТОРОЖНО: длинная строка не поместится в отведенную в игре рамочку.

Формат имя "Текст"

un — Лена (Уныл-тян)
dv — Алиса (Двач-тян)
us — Ульяна (CCCР-тян)
sl — Славя
mi — Мику
uv — Юля (ЮВАО-тян)
el — Электроник
sh — Шурик
mz — Женя (Мицгёл)
mt — Ольга Дмитриевна (Мод-тян)
cs — Виола (Коллайдер-сама)
pi — Пионер

Эпизодические говорящие:
all — Пионеры
voice — Голос
voices — Голоса
dreamgirl — …
kids — Малышня
lk — Луркмор-кун
dy — Голос из динамика
message — Сообщение
odn — Одногруппникscene <фон> — очистить сцену и показать фон
Список фонов
show <персонаж> <спрайт> — показать спрайт
Список спрайтов
hide <персонаж> — скрыть персонажа. При смене фона hide можно не делать, scene скроет их.

play music <музыка> — начать играть музыку.
Список музыки
stop music — прекратить играть музыку.

# <коммент> — такие строки Ren'Py игнорирует
Пустые строки не влияют на выполнение кода, просто делают его понятнее визуально.

label test:
    рlау music music list["sunny_day"]
    scene ext_house_of_mt_day
    "Я вышел из домика с намерением прогуляться."
    th "Интересно, разгадаю ли я загадку этого лагеря сегодня?"
    # Как бы ни так, ололол
    show mt rаge pioneer
    mt "Так, ты почему не был на линейке?"
    jump test2

Возможные ошибки
Tab characters are not allowed in Ren'Py scripts. — где-то табуляция вместо пробелов.
is not terminated with a newline. (Check strings and parenthesis.) — не закрыта кавычка
intendation mismatch — проверьте, всегда ли отступаете по 4 пробела
expexted statement — неправильная команда
При передаче show/scene необъяленного изображения предупреждение возникнет лишь во время игры. Сверху появится надпись "Undefined images" и имя изображения.

При попытке передать play неправильную музыку, ошибка возникнет во время игры. Игра упадет с ошибкой KeyError: '<музыка>'


$регистрация модификации
Для того, чтобы появилась возможность запуска модификаций, нужно зарегистрировать ваш мод. Вставляем следующий код в начало rpy-файла:
init:
    $ mods ["<ник>__<название_метки_перехода>"] = u"<Название мода>"

Для запуска нужно перейти в меню "Моды и сценарии" и выбрать <Название мода>, после чего произойдет переход к метке <название_метки_перехода>.
Например:
init:
    $ mods ["student1__lesson2_task1"] = u"Сцена 1"
label student1__lesson2_task1:

Обратите внимание, ник нужно отсекать ДВУМЯ подчеркиваниями __

.rpy с заданиями сохраняем в %gamedir%\game

Подсистема для их запуска
— Версия 1.1: требуется скачать и установить мод-пак. Далее: Новая игра -> Моды и пользовательские сценарии
— Версия 1.2: modloader встроен в игру. Настройки -> Моды и пользовательские сценарии


1. «Гуманитарная помощь»
Юичка не умеет писать гру-скрипты и прислала сценарий в виде txt-файла.
Задача: реализовать в кодё всё её фантазии, описанные в lesson1_task1.txt. Результатом должен быть rpy-файл, начинающийся с метки lesson1_task1
2. «Пьяный сценарист»

Повышенная концентрация этилового спирта в крови Мугички, иногда вызывает у неё приступы дислексии. Иногда после её изменений игра перестаёт работать.
Задача: поправить ошибки в lesson1_task2.rpy.

КАК СОЗДАТЬ ВИЗУАЛЬНУЮ НОВЕЛЛУ?

Результатом должен быть гру-файл, начинающийся с метки lesson1_task2
3. «Вот здесь я и живу»

Вы — Азунян. Напишите что-нибудь интересное!
Примерная тема: одна из девочек решила пригласить Семёна посмотреть на свою комнату.
Задача: результатом должен быть гру-файл, начинающийся с метки lesson1_task3
Минимальный размер файла: 50 строк.


  © aNNiMON (Melnik Software)
Онлайн: 20 (1/19)
 

Создание визуальных новелл далеко не такое сложное дело, как может показаться. И поможет нам в этом деле движок RenPy: http://renpy.org. С одной стороны, движок простой и будет понятен даже для начинающих. С другой стороны, движок достаточно мощный и позволяет создавать реально крутые игры. Для начала движок нужно скачать и установить. Ничего сложного в этом процессе нет, все настройки по умолчанию хороши. Вот так выглядит главное окно RenPy:

Слева список проектов, справа опции активного проекта (в списке проектов выделен синим). Чтобы создать свою игру нужно кликнуть “Добавить новый проект” под списком проектов. Далее движок задаст несколько простых вопросов. Помните, имя игры должно быть на английском языке.

Итак, после создания проекта можно приступать непосредственно к написанию игры. В списке редактирования выбираем script.rpy, открывается редактор файлов (редактор по умолчанию, предлагаемый RenPy — Editra достаточно хорош). Мне нравятся тёмные цветовые схемы для написания текстов, так что тема Dessert меня просто спасает. Вот как выглядит Editra после некоторой настройки у меня:

По коду тут тоже всё достаточно просто. В строке 7 определяем персонажа с именем “Эйлин”, имя которого будет писаться текстом цвета #c8ffc8 (цвета можно взять в любом графическом редакторе, например, GIMP или Photoshop). Для краткости написания персонаж назначен на короткое имя “e”. В 13 и 15 строке буквально написано: персонаж “e”(Эйлин) говорит на экране то, что указано в кавычках. Строки, начинающиеся со знака решётки (#) являются комментариями разработчика и на ход выполнения не влияют.

Сделаем немного графики для игры. По умолчанию разрешение нашей игры 800х600. Эту настройку можно поменять в файле options.rpy, но для первой игры такое разрешение оптимально. Поэтому нужно создать в Comipo панель размером 800х600. При изменении размера с помощью перетаскивания мышью возле панели пишется, какого она размера:

Пускай в игре мы хотим воссоздать вот такую сценку:

Экспортируем слои по одному. Начинаем с фонового изображения, подбираем чтобы высота была примерно 600, ширина 800. Подробнее для начинающих это описано в уроке про экспорт. Остальные слои экспортируем с теми же настройками. Вот так у меня выглядит экспортированный слой с рыцарем:

Для начала представим себе сюжет новеллы.

Как написать новеллу, используя «метод снежинки»

Я вижу новеллу примерно так (левый клик работает):

А вот так выглядит код для RenPy:

Код создания персонажей уже был рассмотрен. Здесь мы в строках 1 и 5 создаём новых персонажей: m и dex. Нововведением являются состояния персонажа и картинки для каждого состояния. Например, для персонажа m задано состояние oho, ему соответствует картинка Mala-o.png (строка 2).

Игра начинает выполнение с метки label start: (11 строка). Далее показываем, что сначала у нас всё будет происходить на чёрном экране (scene black). Строки 13 и 14 — просто текст, который будет показан на экране. Модификатор with показывает модификатор (анимацию), с которым будет отображаться данный объект. Анимаций много, применяться могут чуть ли не к чему угодно.

Строка 16: show dex norm at left with dissolve. Читается так: показать персонажа dex в состоянии norm, слева, с анимацией плавного появления. Строка 17 — также просто отображение текста, но так как перед текстом у нас есть имя персонажа, то оно тоже будет отображено.

Строки 23 и 24 — анимация обмена мест Мали и Дэкса. В этих строках используется команда show, но так как персонаж уже есть на экране, то к нему просто будет применена анимация.

По сути — всё, наша первая игра готова. Она имеет небольшой исходный код, не очень сложна для понимания. Здесь кроется ещё одна хитрость в изучении RenPy — изучать его надо постепенно, по одной добавляя новые фишки, и смотря как они влияют. Хорошим подспорьем является Руководство для начинающих. Ещё много полезных ссылок можно найти в русской Wiki проекта.

Удачи при создании игр!

Вернуться к урокам по Comipo

Теги материала : Для начинающих

Добавить комментарий

Закрыть меню