WaW: Истории. Создание собственных историй

EN FR PL RU UA +

Что может понадобиться?

  • Текстовый редактор с поддержкой кодировки текста utf-8. Например, Notepad++. Ни в коем случае, не используйте Microsoft Office, Libre Office: их инструменты слишком умны для наших задач и… они могут испортить код.
  • Карта ресурсов игры.
  • Если вам недостаточно карты ресурсов, доступ к содержимому rpa-пакетов можно получить с помощью этого инструмента. На момент правки этой страницы, подходит актуальная версия распаковщика.
  • Документация по движку Ren’Py (в основном, на английском языке, но на YouTube и других ресурсах нередко можно встретить подсказки на вашем родном языке).
  • Написанный вами или вашими друзьями сценарий (как вариант, на основе фанфика).

Первые шаги. Руководство для добавления вашей истории в игру

  1. Создайте папку для вашей истории. Для этого в папке с игрой найдите папку game, затем папку stories, а в ней создайте папку с именем латинскими символами и без пробелов, например: harry_and_first_lesson. Должен получиться такой путь: game/stories/harry_and_first_lesson/. В этой папке будут размещаться все файлы вашей истории.
  2. Добавьте файл с описанием вашей истории. У него должно быть расширение 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.

Советы:

  1. Проверяйте, чтобы названия файлов, папок и меток (Label) были уникальными, чтобы избежать конфликтов. Всегда начинайте их с вашего «уникального_имени_истории». Пример вы можете посмотреть в папке stories/example story
  2. Используйте комментарии в коде для удобства: добавьте символ # и после него укажите, для чего нужен этот фрагмент кода. будет полезно, когда через полгода решите вспомнить, что вы там писали…

Тестирование

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

Урок Профессора Флитвика

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

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