WarGelya

WarGelya

Пикабушник
2134 рейтинг 32 подписчика 4 подписки 36 постов 15 в горячем
Награды:
5 лет на Пикабу

Музыка в меню зависит от времени суток на RenPy

Музыка в меню зависит от времени суток на RenPy Визуальная новелла, Renpy, Gamedev, Длиннопост

Картинка взята из ПокеСообщества, в виде примера как выглядит Меню в Визуальных Новеллах

init python:
# окно игры – в центр экрана
import os
os.environ['SDL_VIDEO_CENTERED'] = '1'


# функция переводит текущее время в название времени суток
import datetime
def get_t():
h = int(datetime.datetime.now().strftime("%H"))
res = "night" # по умолчанию ночь
# границы любого времени суток можно поменять
if (h > 6) and (h < 11):
res = "morning"
if (h >= 11) and (h <= 18):
res = "day"
if (h > 18) and (h < 23):
res = "evening"
return res
last_t = None
# функция меняет музыку и освещение в меню
# в зависимости от времени суток
def change_mus():
global last_t
if last_t != get_t():
last_t = get_t()
# перезапускаем отрисовку меню
renpy.restart_interaction()
# меняем мелодию в главном меню
config.main_menu_music = last_t + ".ogg"
if renpy.music.get_playing() != last_t + ".ogg":
renpy.music.play(last_t + ".ogg")
# функцию - в action
ChangeMus = renpy.curry(change_mus)
# картинка для фона главного меню
style.mm_root.background = "mm.jpg"


# в main_menu после style "mm_root":
# timer .05 repeat True action ChangeMus()
# if last_t:
# add last_t


init:
# фильтры для освещения
image morning = "#8404"
image day = "#0000"
image evening = "#0484"
image night = "#000b"


# Игра начинается здесь.
label start:
"Вы создали новую игру Ren'Py."
return

Собсна ссылка на архив: https://yadi.sk/d/TYQcSSMA38dTEo

Чтобы запустить нужно разархивировать содержимое test-timemusic.zip в папку с вашим проектом игры. Не советую скидывать содержимое в готовое или почти готовое, да и вообще, если вы хоть как-то изменили новую игру, то лучше не надо. Покопайтесь в коде.

Автор: Руслан Небыков. Страница:

Музыка в меню зависит от времени суток на RenPy Визуальная новелла, Renpy, Gamedev, Длиннопост
Напомним: РенПи - это движок для визуальных новелл на основе Питона и Реная.
Показать полностью 1

Мини-игра жанра QTE (быстро нажимай нужные кнопки) на RenPy

Мини-игра жанра QTE (быстро нажимай нужные кнопки) на RenPy Визуальная новелла, Renpy, Gamedev, Длиннопост

Строите мод к Бесконечному сезону года или создаёте свою ВН на движке RenPy? Тогда вам безусловно понадобятся мини-игры для разбавления всяких текстов и картинок.

Код:


init python:
import string


# переменные (вручную не трогать)
qte_word = ""
next_k = ""
qteTime = .0
qteMaxTime = 5.0
abc = list(string.ascii_lowercase)


# инициализация игры при запуске экрана
# параметры передаются при вызове экрана игры
# если слово пустое, то генерируется рандомное длиной length
# time - время, отведенное на игру в секундах
def qte_init(word="", time=5.0, length=5):
global qte_word, next_k, qteMaxTime, qteTime
qteMaxTime = time
qteTime = time
qte_word = word.lower()
if word:
next_k = qte_word[0]
else:
for i in range(0, length):
qte_word = qte_word + renpy.random.choice(abc)
next_k = qte_word[0]
renpy.restart_interaction()
# нажатие очередной нужной кнопки, переходим к следующей
def next_key():
global qte_word, next_k
qte_word = qte_word[1:]
next_k = ""
if qte_word:
next_k = qte_word[0]
renpy.restart_interaction()
NextKey = renpy.curry(next_key)
qteInit = renpy.curry(qte_init)


# сам экран игры
screen scr_qte(word="", time=5.0, length=5):
# инициализация
on 'show' action qteInit(word, time, length)
modal True
if qte_word:
# уменьшаем время, отведенное на игру, и проверяем, не вышло ли оно - проигрыш
timer 0.01 repeat True action [SetVariable("qteTime", qteTime - .01), If(qteTime <= .0, true=Return(False))]
# отображаем, какую кнопку нужно нажать
text next_k.upper() align(.5, .5) size 96
# если что-то нужно нажать, то опрашивает клавиатуру
if len(next_k) == 1:
key next_k action NextKey()
else:
# все кнопки нажаты - победа
timer .1 action Return(True)
# шкала времени
bar value StaticValue(qteTime, qteMaxTime) align(.5, .1) xmaximum 600

Собсна ссылка на архив: https://yadi.sk/d/PfDAzZ6v3EgRw8

Чтобы запустить нужно разархивировать содержимое test-qte.zip в папку с вашим проектом игры. Не советую скидывать содержимое в готовое или почти готовое, да и вообще, если вы хоть как-то изменили новую игру, то лучше не надо.

Автор: Руслан Небыков. Страница:

Мини-игра жанра QTE (быстро нажимай нужные кнопки) на RenPy Визуальная новелла, Renpy, Gamedev, Длиннопост

Напомним: РенПи - это движок для визуальных новелл на основе Питона и Реная.

Сообщество Визуальных Новелл

Сообщество Визуальных Новелл Визуальная новелла, Renpy

Набирающий обороты новый жанр текстовых квестов. Сообщества по БЛ и Катава есть, но жанрового нет, а посты про ВН пишутся в Лиге Геймеров и Аниме сообществе. Новое сообщество будет сплавом геймдева с артами, исходниками, примерами и обзорами игр такого жанра от коллег из Азии и Запада.


Моих постов о данной тематике нет, скину посты других людей:

http://pikabu.ru/story/vnezapnoe_otkryitie_4861460

http://pikabu.ru/story/selphine_amp_ritona_4831466

http://pikabu.ru/story/eshchyo_odna_feyk_novella_4310868

http://pikabu.ru/story/vizualnaya_novella_po_komiksu_s_pikab...

Как легко создать pixel art с помощью Аseprite, не умея рисовать.

Как легко создать pixel art с помощью Аseprite, не умея рисовать. Pixel Art, Gamedev, Рисование, Гифка
GIF725 Кб

Ссылка на программу: https://www.aseprite.org

Мерзкий ребёнок

Мерзкий ребёнок Комиксы, Альбом, Перевод, Длиннопост

Кто ты?

Кто ты? Комиксы, Утро, Вопрос, Длиннопост

Значение музыки

Значение музыки Поездка, Комиксы, Перевод, Длиннопост

Человеческий мир: Начало и конец

Человеческий мир: Начало и конец Комиксы, Ангел, Экология, Мир, Длиннопост
Человеческий мир: Начало и конец Комиксы, Ангел, Экология, Мир, Длиннопост
Человеческий мир: Начало и конец Комиксы, Ангел, Экология, Мир, Длиннопост
Человеческий мир: Начало и конец Комиксы, Ангел, Экология, Мир, Длиннопост
Отличная работа, все прочитано!