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": "ua",  # Мова історії (наприклад, 'fr', 'en')
        "start_label": "label_старту",  # Label (мітка) для старту
    })


label label_старту:
    "Ваш текст або дії тут. Ваша історія починається в цьому блоці коду."
    return

3. Якщо ви хочете використовувати додаткові ресурси: музику, фони, персонажів, то ви можете додати папки для них у папку вашої історії. Їхніми назвами можуть бути: images, sounds, music, characters.

Поради:

  1. Перевіряйте, щоб назви файлів, папок і міток були унікальними, щоб уникнути конфліктів. Завжди починайте їх з вашого «унікального_імені_історії». Приклад ви можете подивитися в папці stories/example_story
  2. Використовуйте коментарі в коді для зручності: додайте символ # і після нього вкажіть, для чого потрібен цей фрагмент коду. Буде корисно, коли за півроку вирішите згадати, що ви там писали…

Тестування

Переконайтеся, що історія коректно відображається в списку цих самих історій у грі та запускається без помилок.

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

Ось так може виглядати код короткої історії, з використанням фонів і персонажів.

init -100 python:
    mods_list.append({
        "name": "Школа Професора Флітвіка з написання історій",
        "tech_name": "flitwick_school_ua",  # Унікальна назва історії
        "description": "Професор Флітвік навчить вас писати історії для цієї гри!",
        "language": "ua",
        "start_label": "flitwick_start_ua",  # Мітка для старту
    })

label flitwick_start_ua:
    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