Уроки 1-10
Основы, картинки, диалоги
В этом разделе:
Урок 1: Подготовка, необходимые программы.
Готовимся к работе и скачиваем необходимые программы: движок, редактор кода, графические программы и другие.
Все программы бесплатные. На работе с ними мы коротко остановимся в ходе курса.
Ссылки на скачивание программ
Ren'Py - движок визуальных новелл;
Notepad++ - редактор кода;
GIMP - редактор графики;
FastStone Image Viewer - просмотрщик картинок с базовыми возможностями редактирования;
Audacity - редактор аудио.
Урок 2: Бесплатные спрайты, музыка, звуки и другие ресурсы.
Если вам понадобятся ресурсы, которые вы можете использовать в своей новелле, то есть множество сайтов, на которых вы можете найти их.
Легче всего найти подходящую музыку и звуковые эффекты. Фоны и спрайты персонажей крайне рекомендуется создавать своими силами.
Заметки
Основные лицензии под которыми распространяются бесплатные ресурсы:
CC0 - никаких ограничений на использование;
CC BY - нужно указывать автора;
CC BY-SA - обязательно распространять свою работу под этой же лицензией;
CC BY-ND - нельзя изменять ресурсы;
CC BY-NC - запрещено продавать или зарабатывать иным образом на работе.
Подробнее о лицензиях Creative Commons можно узнать на официальном сайте.
Сайты на которых вы можете найти ресурсы для игры:
Музыка: Incompetech, Patrick de Arteaga, BenSound, AudioNautix
Звуковые эффекты: FreeSFX, SoundsCrate
Шрифты: Goole Fonts
Разные ресурсы: OpenGameArt, itch.io
Тест 1: Лицензии и бесплатные ресурсы
В различных лицензиях легко запутаться. Многие музыкальные треки, звуковые эффекты и изображения можно скачать в Интернете совершенно бесплатно. Но это не означает, что все эти ресурсы вы можете спокойно добавлять в свою игру.
Никогда не стоит забывать на каких условиях вы можете использовать бесплатные ресурсы, и как они повлияют на вашу новеллу.
Этот тест поможет вам разобраться в лицензиях Creative Commons.
Урок 3: Первое знакомство с Ren'Py.
Ren'Py включает в себя отличную справочную систему, которая тоже сделана в виде визуальной новеллы.
Справка, как и весь интерфейс, переведены на русский. Поэтому знакомство с движком не вызовет проблем.
Знакомимся со структурой игры в Ren'Py и самыми важными файлами.
Основные файлы и папки проекта "Ren'Py"
Папка Game - здесь расположены папки и скрипты вашей новеллы;
Папка Images - картинки, спрайты персонажей, фоны;
Папка Gui - картинки интерфейса;
script.rpy - основной файл сценария;
options.rpy - настройки игры;
gui.rpy - файл для изменения интерфейса;
screens.rpy - галерея, внутриигровые меню и другие элементы интерфейса.
Урок 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: Картинки
Данный тест закрепит основные понятия и команды по работе с фонами и спрайтами.