Найти в Дзене
NO MORE

подробный урок по REN'py для начинающих

доброго времени суток, сегодняшний пост будет о том как команда @Pud games создает игру под названием "на пути времени" начнем с того что я один из членов команды PUD games и в этой команде я ответственный за программный код это задание требует немного усидчивости, хорошей памяти, и блокнотика с ручкой если вы в чем то не уверенны начнем наш урок ЧАСТЬ-1: (важно понимать то что если вы хотите продавать игру то вам нельзя использовать бесплатный контент и если вы хотите использовать работы других художников музыкантов с АП(авторскими правами) надо будет скорее всего согласовывать с авторами этих артов/рисунков/саундтреков и.т.п.) для начала создаем новый проект в renpy даем ему название. дальше есть 2 варианта в случае если у вас уже есть готовые фоны и текстурки персонажей в формате PNG то вы можете загрузить их в папку "images" в противном случае сразу переходим к написанию кода для этого выбираем вместо "images" "script.rpy" в меню выбора текстового редактора советую выбрать "atom"

доброго времени суток, сегодняшний пост будет о том как команда @Pud games создает игру под названием "на пути времени"

начнем с того что я один из членов команды PUD games и в этой команде я ответственный за программный код

это задание требует немного усидчивости, хорошей памяти, и блокнотика с ручкой если вы в чем то не уверенны

начнем наш урок

ЧАСТЬ-1:

(важно понимать то что если вы хотите продавать игру то вам нельзя использовать бесплатный контент и если вы хотите использовать работы других художников музыкантов с АП(авторскими правами) надо будет скорее всего согласовывать с авторами этих артов/рисунков/саундтреков и.т.п.)

для начала создаем новый проект в renpy даем ему название.

название проекта
название проекта

дальше есть 2 варианта в случае если у вас уже есть готовые фоны и текстурки персонажей в формате PNG то вы можете загрузить их в папку "images"

-2

в противном случае сразу переходим к написанию кода

для этого выбираем вместо "images" "script.rpy"

-3

в меню выбора текстового редактора советую выбрать "atom"

он будет наглядно показывать вам правильно ли вы написали команду или нет.

ЧАСТЬ-2:

когда у нас открылся атом мы можем увидеть что проект не пустой и там уже что то да записано.

это разработчики renpy позаботились о нас и дали нам подсказки.

(лично я долго не мог разобраться по ним поэтому пишу этот пост таким же людям как и я)

-4

у нас есть пункт определения персонажей игры он пишется довольно просто и вызывается командой:

define (английская буква обозначения персонажа в последствии ) = Character('(имя персонажа)', color="(hex цвет)")

пример команды

define a = Character('Андрей', color="#c8ffc8")

где a-вызов персонажа

color-цвет имени

-5

разобрались? Идем дальше!

у нас дальше идут команды:

label start:

scene bg room

show Andrey happy

-6

зная английский даже совсем чуть чуть мы понимаем что

scene-это сцена

show-это показать

start-это старт/запуск/начало

ну что же давайте разбираться.

label start:- это начало вашей игры. отсюда идет точка отсчета

scene bg room- это то что выведется на экран как фон где bg room я назвал файл с фоном который заранее загрузил в папку "images"

show Andrey happy- эта команда покажет нам на экране персонажа файл которого уже загружен в папку "images" и назван этот файл Andrey happy

для того чтобы спрятать персонажа используем команду hide

пример:

hide Andrey happy

для плавного появления или исчезания персонажа используйте сразу после команду with dissolve

пример:

hide Andrey happy

with dissolve

для того чтобы добавить эффект движения мы можем использовать связку этих команд

пример:

show Andrey happy здесь счастливый Андрей плавно появился в кадре

with dissolve

hide Andrey happy а здесь он резко пропал

show Andrey после чего плавно заменился на текстуру просто Андрея

with dissolve

вроде все понятно. Идем дальше!

тут нас встречает следующий текс

-7

a "привет это урок по RENpy для яндекс дзена."

a "желаю удачи в ваших проектах!"

если подняться немного выше в этом уроке было указано что мы за букву а обозначили персонажа по имени Андрей и его имя подсвечивается зеленым цветом в игре

-8

для того чтобы написать текст от имени Андрея достаточно прописать в коде букву за которую он отмечен и текс выглядит это следующим образом

a "(текст который должен сказать Андрей)"

ВАЖНО!!! не забывайте в конце предложений в коде ставить . / ! / ?

в противном случае код выдаст ошибку.

для того чтобы показать слова автора или мысли героя писать букву обозначения не требуется

пример:

"(текст который должен показывать мысли/слова автора)"

(важно понимать что выводящееся на экран изображение персонажа и текста ни как ни зависят друг от друга как вы пропишите это в коде так оно и будет показано в игре)

ЧАСТЬ-3:

как поставить игрока перед выбором развития событий?

существует команда menu:

пример как прописывать

menu:
"я не смог разобраться но прочитаю этот пост еще раз!":
jump (название лэйбла куда отправится игрок)
"я смог создать игру по примеру этого поста!":
jump good end

для того чтобы все хорошо работало мы должны создать лэйблы

это довольно просто

пишем команду label (название):

и даем ему название

пример:

label dzen lesson:

незабываем про двоеточие

ВАЖНО В КОНЦЕ КАЖДОГО ЛЭЙБЛА ДОЛЖНА БЫТЬ КОМАНДА ЗАВЕРШАЮЩАЯ ЕГО ЛИБО ВЫБОР КУДА ПОЙДЕТ СЮЖЕТ!!!

команда завершения лэйбла пишется следующим образом:

return

если же выбор не должен влиять на то в какую сторону уйдет сюжет а должен только повлиять на ответ то можем сделать это следующим образом

menu:
"я не буду!":
"привет"
"хорошо сладкий!":
a "пока"

здесь так же можно использовать ответ от определенного человека или передать мысли/слова автора используя все тот же метод который описан в конце 2 части этого урока

-9

всем спасибо за внимание!

если этот пост соберет 100 лайков так же подробно опишу как двигать персонажей по экрану и как воспроизводить звуки, а так же как менять интерфейс и обложку игры