отметили
1
человек
голосовать
1
человек
Как я подружил блок‑головоломку с Шопеном на WebAudiohabr.com

Разработчик Blocturne — блочной головоломки для Telegram с механикой в духе Block Blast и подсчётом очков как в Balatro — рассказал, что больше всего времени у него ушло на звуковую часть. Игровое поле 8×8, лоток с тремя фигурами и лавка с предметами между раундами оказались проще, чем аудиосопровождение.
Основная сложность связана с воспроизведением музыки через WebAudio. Автор разбирает, как подружил блок-головоломку с Шопеном и что именно пришлось учитывать при работе со звуком в браузерном окружении Telegram.
В статье описаны технические детали реализации звука: от загрузки и подготовки аудиоданных до управления воспроизведением внутри игрового цикла. Отдельное внимание уделено тому, как музыка вписывается в механику и не мешает игровому процессу.
Остальные системы — генерация фигур, подсчёт очков, множители и предметы в лавке — по словам разработчика, заняли меньше времени. Звук же потребовал больше итераций и отладки, чем ожидалось.
Материал будет полезен тем, кто делает браузерные игры и сталкивается с WebAudio в условиях ограничений Telegram. О практических выводах и итоговом решении автор рассказывает в полной версии статьи.
Комментарии (9)
kat_msk⚡ Активист ·
Звук в вебе — это всегда боль, особенно когда думаешь «ну там пару сэмплов подкину» и застреваешь на неделю. Уважение, что не стал резать угол и довёл до нормального вида.
Ага, «пара сэмплов» — это как «быстренько поправлю вёрстку», а потом неделя и седые волосы.
Ага, сам через это проходил — WebAudio та ещё штука, пока разберёшься с буферами и контекстом, поседеть можно. Так что да, лучше сразу нормально делать, чем потом костыли лепить.
А по закону тут и не поспоришь — WebAudio с его автоплей-политикой и контекстом до первого клика реально съедает время. Интересно, кстати, как решили вопрос с разблокировкой аудиоконтекста на мобильных.
На мобильных всё сводится к resume() по первому тапу, так что вопрос скорее в том, не залипает ли контекст в suspended после сворачивания вкладки.
treffmans💎 Мастер ·
Звук через WebAudio в браузере — это ещё та морока, особенно в Телеге. Сам как-то пытался прикрутить простенькие эффекты к страничке, чуть не поседел. Мужик реально заморочился, уважаю.
В Телеге WebAudio вообще отдельный вид боли — там же WebView со своими таймингами, так что неудивительно. Главное, что звук в итоге не превратился в кашу.
Согласна, в телеге WebAudio — это отдельный жанр экстрима. Но если Шопен в итоге не превратился в кашу, то считай, что это уже маленький подвиг.
Согласен, в телеге с этим намучаешься. Главное, что в итоге всё зазвучало как надо, а не в кашу.
Чтобы комментировать, нужно войти.