О CrossVoice
Я люблю такие игры, как Mordhau и Hunt: Showdown, и мне всегда нравилась система голосовых фраз в Mordhau, а также в Chivalry 2. В какой-то момент я задумался, как использовать ту же механику в Hunt: Showdown — а почему бы и нет, в любой другой игре с голосовым чатом.
Эта идея превратилась в первый прототип на Python, работавший через виртуальные аудиоустройства. Концепция работала, но по разным причинам проект на несколько лет отправился на полку.
Позже я наткнулся на саундборды вроде Soundpad и увидел, что они умеют, воспроизводя звуки через микрофон. Но все саундборды, которые я находил, работали одинаково: одна клавиша — один звук. Это подтолкнуло меня вернуться к проекту и зайти гораздо дальше исходного прототипа. Я начал экспериментировать с C++, чтобы создать нативное аудиорешение, которое давало бы мне реальный контроль над тем, как обрабатывается и передаётся звук.
Затем я написал остальную часть приложения на C#, начав с интерфейса для управления профилями и настройки голосовых команд. Вскоре я понял, что воспроизведение звуков — лишь часть задачи: всё должно было ещё и работать с голосовым чатом каждой игры, включая игры с режимом «Нажми, чтобы говорить». Это привело меня к маршрутизации звука и низкоуровневой обработке клавиатуры, чтобы эти нажатия клавиш можно было надёжно контролировать.

По мере разработки CrossVoice рос. Профили научились упорядочивать команды по страницам — с клавишами и модификаторами, звуковыми вариантами и настройками вроде громкости, высоты тона и скорости воспроизведения. Я также добавил постоянный оверлей, чтобы вы могли пользоваться приложением и управлять им во время матча, не выходя из игры.
Моей целью всегда было, чтобы CrossVoice не зависел от какой-то конкретной игры. Вы настраиваете профили по-своему и используете их в разных играх — без интеграций под отдельные игры и без того, чтобы приложению нужно было знать, во что вы играете.
В какой-то момент стало не очень логично, чтобы вся эта работа оставалась только в моих профилях. Почему бы не дать игрокам делиться своими и наслаждаться тем, что создаёт сообщество? Так сложилась часть CrossVoice, связанная с Сообществом.
Так CrossVoice вырос из прототипа на Python в проект, которым он является сегодня. То, что началось как идея во время игры в Mordhau и Hunt: Showdown, превратилось в гораздо более амбициозный проект, в котором я создал и развил практически каждую часть приложения.
— Raúl Mateo