Що може знадобитися?
- Текстовий редактор із підтримкою кодування тексту 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": "ua", # Мова історії (наприклад, 'fr', 'en')
"start_label": "label_старту", # Label (мітка) для старту
})
label label_старту:
"Ваш текст або дії тут. Ваша історія починається в цьому блоці коду."
return
3. Якщо ви хочете використовувати додаткові ресурси: музику, фони, персонажів, то ви можете додати папки для них у папку вашої історії. Їхніми назвами можуть бути: images, sounds, music, characters.
Поради:
- Перевіряйте, щоб назви файлів, папок і міток були унікальними, щоб уникнути конфліктів. Завжди починайте їх з вашого «унікального_імені_історії». Приклад ви можете подивитися в папці stories/example_story
- Використовуйте коментарі в коді для зручності: додайте символ # і після нього вкажіть, для чого потрібен цей фрагмент коду. Буде корисно, коли за півроку вирішите згадати, що ви там писали…
Тестування
Переконайтеся, що історія коректно відображається в списку цих самих історій у грі та запускається без помилок.
Урок Професора Флітвіка
Ось так може виглядати код короткої історії, з використанням фонів і персонажів.
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