Ren py как пользоваться
Перейти к содержимому

Ren py как пользоваться

  • автор:

Ren py как пользоваться

One Manga Day

*

  • Главная
  • DLC
  • Медиа
  • Играть онлайн
  • Манга
  • Уроки по Comipo
  • Вопросы
  • Помочь проекту
  • Связь

Создание простой игры в RenPy 28.03.2015

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

Главное окно RenPy

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

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

Главное окно Editra

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

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

Изменение размера панели в Comipo

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

Изображение в Comipo

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

Рыцарь Dex

Для начала представим себе сюжет новеллы. Я вижу новеллу примерно так (левый клик работает):

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

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
define m = Character('Маля', color="#76e2e4") image m oho = "Mala-o.png" image m keks = "Mala-yee.png" define dex = Character('Дэкс', color="#999999") image dex norm = "Dex-knight.png" image bg Green = "bg.jpg" label start: scene black "Неизвестно, когда случилась эта история. " with dissolve "Но когда-то. Она всё-таки случилась!" with dissolve scene bg Green with fade show dex norm at left with dissolve dex "О да! Отполированным он выглядит ещё лучше!" show m oho at right with dissolve m "Ого! Он у тебя такой большой!" m "Уверен, что умеешь им пользоваться?" dex "А то! Становись вперёд!" show dex norm at right with moveinright show m oho at left with moveinleft m "Ого! Действительно, умеешь!" show m keks with dissolve m "Кааайф! Почеши спинку ещё, а?" scene black "КОНЕЦ!" return 

Код создания персонажей уже был рассмотрен. Здесь мы в строках 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 проекта.

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

Теги материала

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

Как перевести любую визуальную новеллу на ваш язык? Автопереводчик Ren’Py игр!

<i>Меган из Lust Theory Season 2</i>» /><img decoding=

Этот блок временно не поддерживается

Краткое руководство (Quickstart)

Добро пожаловать в краткое руководство по использованию движка визуальных новелл Ren’Py. Цель данного руководства заключается в демонстрации того, как можно с нуля создать игру на движке Ren’Py, выполнив несколько простых действий. Мы разберём процесс создания игры на движке Ren’Py на примере простой игры «Вопрос» .

Ren’Py Launcher [ править | править код ]

Перед тем, как начать создание игры, вам, прежде всего, потребуется некоторое время, чтобы узнать, как работает Ren’Py Launcher. Модуль запуска Ren’Py позволяет создавать, управлять, редактировать и запускать проекты Ren’Py.

Для начала вам нужно скачать Ren’Py. Как только вы скачали Ren’Py, вам захочется извлечь и запустить его, для этого:

  • В Windows дважды щёлкните на исполняемый файл , который вы скачали. Он извлечет Ren’Py в папку с именем renpy-. Вы можете перейти в эту папку и запустить renpy.exe (файл renpy.exe может быть представлен в виде renpy, если расширения скрыты).
  • В Mac OS X дважды щелкните загруженный образ диска, чтобы подключить его в качестве диска. При открытии диска скопируйте папку с именем renpy- в другое место (не имеет значение куда, но папка должна быть перемещена из образа диска, доступного только для чтения. Не перемещайте приложение renpy из папки, в которой оно находится, так как оно не будет работать в другом месте). Затем перейдите в неё и запустите приложение renpy.
  • В Linux распакуйте tar-архив, перейдите в папку renpy-, а затем запустите renpy.sh.

После выполнения вышеуказанного, Ren’Py Launcher должен запуститься.

Ren’Py Launcher был переведён на многие языки. Для смены языка откройте «Настройки» в правом нижнем углу и выберите язык.

Выбор и запуск проекта

Сначала вам следует увидеть, что из себя представляет завершенная игра «Вопрос». Для этого запустите Ren’Py Launcher и выберите «Вопрос» на первоначальном экране. Нажмите «Запустить проект» для запуска «Вопроса».

Вы можете вернуться к демоверсии Ren’Py, делая то же самое, но выбрав «Обучение» , вместо «Вопроса».

Главный экран Ren’Py Launcher

Создание нового проекта

Создайте новый проект, выбрав «Добавить новый проект» в Ren’Py Launcher. Если вы впервые создаете проект, Ren’Py можем попросить выбрать директорию проектов. Это директория (также называемая папкой), в которой создаются новые проекты и выполняется поиск существующих проектов. Окно выбора директории может появиться под Ren’Py, так что не забудьте поискать его там.

После этого Ren’Py Launcher запросит имя проекта. Поскольку имя «Вопрос» уже занято, введите что-нибудь другое, например «My Question», и нажмите Enter.

Присвоение имени новому проекту

После этого Ren’Py Launcher попросит выбрать разрешение для проекта. По умолчанию 1280×720 – хороший компромисс между размером игры и качеством изображения. С этой целью для данного урока мы выберем 1280×720, затем нажмите кнопку «Продолжить». После Ren’Py Launcher попросит вас выбрать цветовую схему для проекта — цвет акцента и фона для нового графического интерфейса пользователя. Неважно, что вы выберете, так что просто выберите то, что вам нравится, и нажмите кнопку «Продолжить».

Выбор разрешения для проекта

Выбор акцентного и фонового цвета для темы по умолчанию

На данном этапе Ren’Py начнет обработку, которая займет некоторое время, и выдаст простой шаблон игры. В шаблоне используется изображение-заполнитель и текст, но он работоспособен и поддерживает ожидаемые функции, такие как откат, загрузка и сохранение. Выберите «Запустить проект» для запуска.

Простая игра (A Simple Game) [ править | править код ]

label start: "Сильвия" "Привет! Как прошёл урок?" "Я" "Хорошо. " "У меня язык не поворачивается признаться, что всю лекцию профессора Эйлин я витал в своих мыслях." "Я" "Идешь домой? Не хочешь прогуляться со мной?" "Сильвия" "Конечно!" 

Это очень простая игра, созданная на движке Ren’Py. Он не содержит ни изображений, ни музыки, но все же демонстрирует разговор двух персонажей и строку повествования.

Чтобы опробовать на практике вышеуказанный пример, зайдите в Ren’Py Launcher и выберите «My Question Project» , а затем «script.rpy», расположенный под «Редактировать Файл» . Если вы делаете это в первый раз, то Ren’Py может попросить выбрать текстовый редактор (мы рекомендуем начинающим разработчикам использовать Editra), после чего он загрузит выбранный редактор. Когда закончится загрузка, script.rpy будет открыт в редакторе.

После того, как редактор откроется, удалите всё, что находится в script.rpy, потому что мы начнем создание с нуля, и всё, что находится в файле, нам не нужно. Скопируйте приведённый выше пример в script.rpy и сохраните файл.

Теперь вы можете запустить сохраненный пример. Вернитесь в Ren’Py Launcher и выберите «Запуск проекта». Ren’Py запустится. Обратите внимание, что без каких-либо дополнительных действий, Ren’Py предоставляет меню «Загрузки» и «Сохранения» (для загрузки и сохранения игры), а также «Настройки» (для изменения различных параметров). Когда будете готовы, нажмите «Запустить проект» и поиграйте в этот пример игры.

Используемый пример демонстрирует некоторые из часто применяемых операторов в Ren’Py.

В первой строке кода находится оператор label. Оператор label используется для того, чтобы дать имя месту в программе. В данном случае, мы создаём метку, имеющую имя start. Label start – особенная метка, поскольку переход к ней происходит тогда, когда скрипты Ren’Py запускаются, как только пользователь нажмет «Начать игру» в главном меню.

Остальные строки – операторы say. В коде используется две формы оператора say. Первая форма – строка (начинается двойными кавычками, содержит последовательность символы и заканчивается двойными кавычками) на отдельной строке, которая используется для повествования и мыслей главного героя. Вторая форма состоит из двух последовательностей символов, заключенных в двойные кавычки («). Вторая форма оператора say применяется в диалогах, причем первая строковая последовательность является именем персонажа, а вторая – то, что персонаж говорит.

Обратите внимание, что все операторы say выводятся с отступом в четыре пробела. Это из-за того, что они входят в блок под оператором label. В Ren’Py блоки должны иметь отступ относительно предшествующего оператора и все операторы в блоке должны иметь одинаковое количество отступов.

Когда строки содержат символы двойных кавычек, то эти символы требуется предварить обратной косой чертой. Например:

"Сильвия" "Ты когда-нибудь слышал знаменитое изречение Линкольна, \"Проблема с интернет-цитатами заключается в том, что многие из них не являются подлинными.\"" 

Хотя в этой несложной игре почти не на что посмотреть, она является примером того, как легко что-то сделать, работая в Ren’Py. Чуть позже мы добавим изображения, но прежде, давайте посмотрим, как объявить персонажей.

Персонажи (Characters) [ править | править код ]

Одна из проблем, связанных с первым примером, заключается в том, что код требует, чтобы вы постоянно вводили имя персонажа всякий раз, когда он говорит. В играх с большим количеством диалогов, вероятно, вам придётся вводить много информации. Кроме того, имена обоих персонажей отображаются с одинаковым цветовом акцентом, выбранном при запуске игры. Чтобы исправить это, Ren’Py позволяет определить персонажей заранее. Это даёт вам возможность связать короткое имя с персонажем и изменить цвет имени персонажа.

define s = Character('Сильвия', color="#c8ffc8") define m = Character('Я', color="#c8c8ff") label start: s "Привет! Как прошел урок?" m "Хорошо. " "У меня язык не поворачивается признаться, что всю лекцию профессора Эйлин я витал в своих мыслях." m "Идешь домой? Не хочешь пойти со мной?" s "Конечно!" 

Первая и вторая строки кода определяют персонажей. Первая строка кода определяет персонажа с коротким именем «s», полным — «Сильвия», при этом имя отображается в зеленоватом цвете (цвета красный-зелёный-голубой в формате HEX, как они используются на веб-страницах).

На второй строке кода создаётся персонаж с коротким именем «m», полным — «Я», при этом имя отображается в красноватом цвете. Остальные персонажи могут быть определены посредством копирования одной из первых строк и изменением короткого и полного имени, а также цвета отображения имени.

Мы так же изменили в коде операторы say, чтобы использовать объекты Character вместо строки с именем персонажа. Это сообщает Ren’Py использовать персонажей, которых мы определили.

Изображения (Images) [ править | править код ]

Визуальная новелла не визуальная новелла без картинок. Вот еще одна сцена из новеллы «Вопроса». Она также включает операторы, которые выводят изображения перед игроком. Данный пример кода может полностью заменить предыдущий раздел скрипта, если вы захотите протестировать его.

define s = Character('Сильвия', color="#c8ffc8") define m = Character('Я', color="#c8c8ff") label start: scene bg meadow "Вскоре мы дошли до луга, расположенного недалеко от района, где мы оба живем." "Это живописный вид, к которому я привык. Осень здесь особенно прекрасна." "Когда мы были детьми, мы часто играли на этих лугах, так что места здесь переполнены воспоминаниями." m "Эй. Эммм. " show sylvie green smile "Она обернулась и улыбнулась. Она выглядит так приветливо, что я чувствую, что избавляюсь от нервозности." "Я спрошу её. " m "Эмм. Ты согласишься. " m "Ты станешь художником для моей визуальной новеллы?" show sylvie green surprised "Молчание." 

Эта часть скрипта вводит два новых оператора:

  • оператор scene (6-я строка) очищает все изображения на экране и отображает фоновое изображение;
  • оператор show (16-я и 26-я строка) отображает спрайт поверх фона и, соответственно, изменяет отображаемый спрайт.

В Ren’Py у каждого изображения есть имя. Имя состоит из тега и, если нужно, одного или нескольких атрибутов. И тег, и атрибуты должны начинаться с буквы и содержать буквы, цифры и подчеркивания. Например:

  • В операторе scene (6-я строка) тегом является «bg», а атрибут — «meadow». В силу сложившейся традиции фоновые изображения должны использовать тег bg.
  • В первом операторе show (16-я строка) тегом является «sylvie», а атрибутами — «green» и «smile».
  • Во втором операторе show (26-я строка) тегом является «sylvie», а атрибутами — «green» и «surprised».

Одновременно на экране может отображаться только одно изображение с заданным тегом. При отображении второго изображения с этим же тегом, что и у изображения, выведенного на экран ранее, второе заменяет первое изображение, как это происходит в 26-й строке.

Ren’Py ищет файлы изображений в директории images, которую можно найти, выбрав «images» в разделе «Открыть папку» в Ren’Py Launcher. Ren’Py не делает никакого различия между спрайтом персонажа и фоновым изображением, так как они оба рассматриваются, как изображения. Ren’Py предполагает, что спрайты персонажа будут в формате PNG или WEBP, а фоновый рисунок — в формате JPG, JPEG, PNG или WEBP. Имя файла очень важно, так как расширение удаляется, имя файла задается в нижнем регистре и используется в качестве имени изображения.

Например, следующие файлы, помещенные в директорию images, определяют следующие изображения:

  • «bg meadow.jpg» -> bg meadow
  • «sylvie green smile.png» -> sylvie green smile
  • sylvie green surprised.png» -> sylvie green surprised

Поскольку имена файлов пишутся строчными буквами, нижеследующее также имеет место.

  • «Sylvie Green Surprised.png» -> sylvie green surprised

Изображения могут быть помещены в подкаталоги (вложенные папки) в директории images. Имя каталога игнорируется и для определения имени изображения используется только имя файла.

Ren py как пользоваться

Уроки RenPy для новичков

Уроки RenPy для новичков

Привет. Меня зовут Космический Кот. Я начинающий автор визуальных новелл, ютубер и, кроме того, у меня есть небольшой опыт программирования.
Начиная разбираться с созданием визуальных новелл на движке RenPy я заметил, что на русском языке не так много информации, доступной для новичков. Я считаю, что любое творчество должно быть доступно как можно большему количеству людей, независимо от их профессии, навыков или уровня интеллекта возраста.
Поэтому я начал серию видео-уроков по RenPy для новичков. Видео рассчитаны на людей, которые мечтают создать визуальную новеллу, но не имеют опыта программирования и не знакомы с Python. Всё, что вам нужно — это любовь к визуальным новеллам, к творчеству и желание учиться и делать ошибки.
RenPy — это просто! И вы сможете создать собственную новеллу, если приложите некоторые усилия.

Базовый курс будет состоять примерно из 40 уроков, в которых будет всё самое необходимое для создания полноценной новеллы с выборами, развилками сюжета, параметрами, разными концовками, галереей.
На данный момент есть уже более 20 видео.

После этого, я перейду на более продвинутые темы.
Добро пожаловать и приятного обучения!

Все уроки с кусочками кода собраны на отдельном сайте.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *