Что может понадобиться?
- Текстовый редактор с поддержкой кодировки текста utf-8. Например, Notepad++. Ни в коем случае, не используйте Microsoft Office, Libre Office: их инструменты слишком умны для наших задач и… они могут испортить код.
- Карта ресурсов игры.
- Если вам недостаточно карты ресурсов, доступ к содержимому rpa-пакетов можно получить с помощью этого инструмента. На момент правки этой страницы, подходит актуальная версия распаковщика.
- Документация по движку Ren’Py (в основном, на английском языке, но на YouTube и других ресурсах нередко можно встретить подсказки на вашем родном языке).
- Написанный вами или вашими друзьями сценарий (как вариант, на основе фанфика).
Первые шаги. Руководство для добавления вашей истории в игру
- Создайте папку для вашей истории. Для этого в папке с игрой найдите папку game, затем папку stories, а в ней создайте папку с именем латинскими символами и без пробелов, например: harry_and_first_lesson. Должен получиться такой путь: game/stories/harry_and_first_lesson/. В этой папке будут размещаться все файлы вашей истории.
- Добавьте файл с описанием вашей истории. У него должно быть расширение rpy (можно сделать новый текстовый файл, а затем заменить расширение с txt на rpy). В этом файле обязательно укажите информацию в виде словаря (код-значение). Это позволит игре увидеть и запустить вашу историю.
Вот шаблон:
init -100 python:
mods_list.append({
"name": "Название вашей истории", # Название. Это комментарий к коду
"tech_name": "уникальное_имя_истории", # Все метки (label) и переменные вашей истории должны начинаться с этого!
"description": "Описание вашей истории", # Описание истории
"language": "ru", # Язык истории (например, 'ru', 'en')
"start_label": "label_старта", # Label (метка) для старта
})
label label_старта:
"Ваш текст или действия здесь. Ваша история начинается в этом блоке кода."
return
3. Если вы хотите использовать дополнительные ресурсы: музыку, фоны, персонажей, то вы можете добавить папки для них в папку вашей истории. Их названиями могут быть: images, sounds, music, characters.
Советы:
- Проверяйте, чтобы названия файлов, папок и меток (Label) были уникальными, чтобы избежать конфликтов. Всегда начинайте их с вашего «уникального_имени_истории». Пример вы можете посмотреть в папке stories/example story
- Используйте комментарии в коде для удобства: добавьте символ # и после него укажите, для чего нужен этот фрагмент кода. будет полезно, когда через полгода решите вспомнить, что вы там писали…
Тестирование
Убедитесь, что история корректно отображается в списке этих самых историй в игре и запускается без ошибок.
Урок Профессора Флитвика
Вот так может выглядеть код короткой истории, с использованием фонов и персонажей.
init -100 python:
mods_list.append({
"name": "Школа создания историй Профессора Флитвика",
"tech_name": "flitwick_school_ru", # Уникальное имя истории
"description": "Профессор Флитвик научит вас создавать истории для этой игры!",
"language": "ru",
"start_label": "flitwick_start_ru", # Метка для старта
})
label flitwick_start_ru:
scene bg chants day
show fl norm:
xalign .32 ypos 30 zoom .4
show chants_tumb
show chants_tables day
with Dissolve(1, alpha=True)
fl "Добро пожаловать в мою Школу создания историй! Сегодня я расскажу вам, как создать эту самую для этой игры."
fl "Это очень просто, если следовать моим указаниям. Начнём?"
fl "Во-первых, создайте папку для своей истории."
fl "Её нужно поместить в папку {color=#6495ED}game/stories/{/color}, и назвать так, чтобы было понятно, какую историю вы создаёте."
centered "\"game/stories/your_story/\""
fl "Во-вторых, вам нужно добавить файл со сценарием. Назовём его, например, {color=#6495ED}your_story.rpy{/color}."
fl "В этом файле должна быть информация о вашей истории. Подробнее о том, как она записывается, смотрите в файле README.md"
show fl lecture3
fl "Обратите внимание на {color=#6495ED}\"tech_name\"{/color}! Это уникальное имя, чтобы избежать конфликтов. Все ваши переменные и метки (label) должны начинаться с него."
show fl smile
fl "Далее, создайте метку (label) с вашим стартовым сценарием. Он должен соответствовать {color=#6495ED}\"start_label\"{/color} из словаря."
fl 'label label_старта:\n "Ваш текст или действия здесь."\n return'
fl "Если ваша история использует дополнительные ресурсы — изображения, музыку и прочее — поместите их в ту же папку, где находится ваш сценарий."
fl "Например, изображения можно положить в папку {color=#6495ED}your_story/images/{/color}."
fl "После этого, протестируйте свою историю. Убедитесь, что она отображается в списке историй и запускается без ошибок."
fl "Вот и всё! Теперь вы знаете, как создавать истории для этой игры. Удачи!"
fl "И помните: уникальные названия переменных — залог успешного создания историй!"
return