Silnik gier: kategorie głośności (Muzyka · Efekty · Główna)
Silnik gier 2D Moonlight Studio dostał kategorie głośności — czyli to, czego potrzebuje ekran opcji każdej gry: osobne suwaki na muzykę, efekty i głośność główną. Do tej pory dźwiękiem sterowała tylko jedna gałka „całość"; teraz gracz może ściszyć muzykę i zostawić głośne strzały, albo odwrotnie.
Trzy magistrale
Każdy dźwięk należy do kategorii:
- Główna — ścisza całość,
- Muzyka — podkład, ambient,
- Efekty — strzały, kroki, kliknięcia UI.
Zmiana głośności kategorii mnoży wszystkie dźwięki, które do niej należą. Regulacja jednej nie rusza pozostałych.
Sterowanie ze skryptu
Ekran opcji ustawia głośności ze skryptu gry:
mp.set_bus_volume('music', 0.3) -- muzyka ciszej
mp.set_bus_volume('sfx', 1.0) -- efekty bez zmian
mp.set_bus_volume('master', 0.5) -- wszystko o połowę ciszej
Zmiana działa od razu na już grających dźwiękach — przesuwasz suwak w trakcie utworu i muzyka reaguje na żywo, nie dopiero od następnego dźwięku. Odczyt bieżącej wartości pod suwak:
local v = mp.bus_volume('music')
Do jednorazowych efektów jest krótka forma:
mp.play_sound('boom.ogg') -- na magistrali Efekty
mp.play_sound('click.ogg', 'sfx', 0.8)
Detale, które łatwo przeoczyć
- Wzmocnienie działa. Głośność powyżej 1.0 podbija dźwięk — także na jednorazowych efektach, a nie tylko na muzyce.
- Głośność suwaków to ustawienie gracza, nie część sceny — gra zapisuje ją i wczytuje własnym systemem zapisu, tak jak jasność czy sterowanie.
- Stare sceny bez kategorii wczytują się bez zmian — dźwięk domyślnie ląduje w „Efektach", a plik sceny zostaje identyczny co do bajta.
Co dalej
Fundament miksu jest gotowy. W planie: więcej kategorii (osobno interfejs, ambient), automatyczne ściszanie muzyki pod dialogiem oraz zapamiętane profile miksu.