Уроки 1-10

Основы, картинки, диалоги

Урок 1: Подготовка, необходимые программы.

Готовимся к работе и скачиваем необходимые программы: движок, редактор кода, графические программы и другие.

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

Ссылки на скачивание программ

Урок 2: Бесплатные спрайты, музыка, звуки и другие ресурсы.

Если вам понадобятся ресурсы, которые вы можете использовать в своей новелле, то есть множество сайтов, на которых вы можете найти их.

Легче всего найти подходящую музыку и звуковые эффекты. Фоны и спрайты персонажей крайне рекомендуется создавать своими силами.

Заметки

Основные лицензии под которыми распространяются бесплатные ресурсы:

Подробнее о лицензиях Creative Commons можно узнать на официальном сайте.

Сайты на которых вы можете найти ресурсы для игры:

Тест 1: Лицензии и бесплатные ресурсы

В различных лицензиях легко запутаться. Многие музыкальные треки, звуковые эффекты и изображения можно скачать в Интернете совершенно бесплатно. Но это не означает, что все эти ресурсы вы можете спокойно добавлять в свою игру.

Никогда не стоит забывать на каких условиях вы можете использовать бесплатные ресурсы, и как они повлияют на вашу новеллу.

Этот тест поможет вам разобраться в лицензиях Creative Commons.

Урок 3: Первое знакомство с Ren'Py.

Ren'Py включает в себя отличную справочную систему, которая тоже сделана в виде визуальной новеллы.

Справка, как и весь интерфейс, переведены на русский. Поэтому знакомство с движком не вызовет проблем.

Знакомимся со структурой игры в Ren'Py и самыми важными файлами.

Основные файлы и папки проекта "Ren'Py"

Урок 4: Создание проекта.

Наконец-то, приступаем к созданию визуальной новеллы. Сперва создадим проект и зададим его основные настройки. Заодно познакомимся с некоторыми основами работы с редактором кода, если вы до этого не программировали.

Вам понадобится программа Notepad++ или другой редактор кода.

Урок 5: Персонажи и реплики.

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

В этом уроке мы начинаем постигать азы программирования в "Ren'Py".

Заметки и фрагменты кода

# Всё после символа решетки и до конца строки - это комментарий

# Ren'Py полностью игнорирует комментарии

# Используйте их для заметок и временного отключения строк


# Создаём персонажа с именем Димон, его имя будет выводиться светло-синим цветом

define d = Character('Димон', color="#4ca6ff")


# Новая игра начинается после этой метки

label start:

    # Укажите название переменной персонажа ("d") и после пробела его слова в кавычках.

    d "Реплика Димона."


    # Если не указывать персонажа, то получим слова автора.

    "Слова автора."


    # Эта команда завершает игру и переходит в главное меню.

    return

На самом деле команда "return" не обязательно завершит игру. Она выходит из текущей метки и возвращает в предыдущую. Но пока не думайте об этом. Мы вернемся к этой теме в будущих уроках.

Тест 2: Основы

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

Урок 6: Фоны и спрайты.

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

Заметки и фрагменты кода

# Очистить всю сцену и задать новый фон.

scene bg name

with fade # Переход через чёрный цвет

# Выведется картинка с именем "bg name".


# Отобразить спрайт. Поверх фона выведется картинка "dimon smile".

show dimon smile


# Убрать спрайт. Уберется любой спрайт, который начинается со слова "dimon".

hide dimon

В этой папке находятся спрайты персонажей и фоны, которые вы можете использовать для тренировки. Если будете распространять свою работу, то не забудьте указать авторов из файла "Автор.txt".

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

Урок 7: Размер фона. Прозрачность спрайтов.

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

Кроме того разберемся, что делать в ситуации, когда ваши герои изображены на белом фоне. Для этого нам понадобятся программы Gimp и FastStone Image Viewer.

Среди файлов из урока 6 есть папка "Неправильные картинки". Файл "agustina smile.png" в ней имеет белый фон. Если хотите, потренируйтесь убирать его. Файл "saki normal.png" и фоны "bg room.jpg" и "bg street.jpg" не соответствуют по размеру остальным картинкам. Приведите их в нормальный вид, изменив размер.

Урок 8: Изменение расположения спрайтов.

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

Заметки и фрагменты кода

# Расположение картинки слева

show dimon smile

at left   # или right/top


# Точное расположение по горизонтали и вертикали

show dimon smile:

    xalign 0.5

    yalign 0.5


#  Особая метка, выполняется при старте новой игры

init: 


# Создаём своё расположение спрайта

$ mypos = Position(xalign=0.5, yalign=0.5)


# $ строка с любым кодом Python

Урок 9: Быстрое изменение спрайта персонажа в диалоге.

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

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

Заметки и фрагменты кода

# Привязать спрайт к персонажу.

define d = Character("Димон", image="dimon")


# Изменение спрайта персонажа прямо в реплике.

d smile "Привет, я Димон."

d angry "Я очень злой!"


# Изменить спрайт на одну реплику, после неё вернуть прошлый спрайт

d @ smile "Привет, я Димон."

d @ angry "Я очень злой!"

Урок 10: Переходы.

Самый простой способ оживить новеллу - это добавить переходы при смене фона или другого изображения. В "Ren'py" есть достаточно много встроенных переходов, которые очень просто использовать.

Заметки и фрагменты кода

# Показать спрайт персонажа с плавным переходом

show dimon smile

with dissolve


# Скрыть спрайт персонажа с плавным переходом

hide dimon

with dissolve


# Один переход можно указать сразу после нескольких картинок.

# Тогда эти картинки появятся с переходом одновременно.

show dimon smile

show alice angry at right

with dissolve


# Точно так же переходы можно использовать при смене сцены.

scene bg class

with fade


# Можно указать сцену и персонажей с одним переходом.

scene bg class

show dimon smile

show alice angry at right

with fade

Ссылка на информацию о переходах на официальном сайте РенПай.

Поэкспериментируйте с разными переходами самостоятельно.

Тест 3: Картинки

Данный тест закрепит основные понятия и команды по работе с фонами и спрайтами.