O CrossVoice
Uwielbiam gry takie jak Mordhau i Hunt: Showdown i zawsze podobał mi się system kwestii głosowych w Mordhau, a także w Chivalry 2. W pewnym momencie zacząłem się zastanawiać, jak mógłbym użyć tej samej mechaniki w Hunt: Showdown, a czemu nie, także w każdej innej grze z czatem głosowym.
Ten pomysł przerodził się w pierwszy prototyp w Pythonie, który działał przez wirtualne urządzenia audio. Koncepcja się sprawdziła, ale z różnych powodów projekt przeleżał na półce kilka lat.
Później trafiłem na soundboardy takie jak Soundpad i zobaczyłem, co potrafią, odtwarzając dźwięki przez mikrofon. Ale każdy soundboard, jaki znalazłem, działał tak samo: jeden klawisz, jeden dźwięk. To skłoniło mnie, by wrócić do projektu i rozwinąć go znacznie dalej niż pierwotny prototyp. Zacząłem eksperymentować z C++, aby zbudować natywne rozwiązanie audio, które dało mi prawdziwą kontrolę nad tym, jak dźwięk jest przetwarzany i przesyłany.
Następnie zbudowałem resztę aplikacji w C#, zaczynając od interfejsu do zarządzania profilami i konfigurowania komend głosowych. Szybko zrozumiałem, że odtwarzanie dźwięków to tylko część problemu: wszystko musiało też działać z czatem głosowym każdej gry, także w grach korzystających z funkcji „Naciśnij, aby mówić”. To zaprowadziło mnie do routingu audio i niskopoziomowej obsługi klawiatury, aby te naciśnięcia klawiszy można było niezawodnie obsługiwać.

W miarę postępów prac CrossVoice się rozrastał. Profile ewoluowały tak, by porządkować komendy na stronach, z klawiszami i modyfikatorami, wariantami audio oraz ustawieniami takimi jak głośność, wysokość dźwięku i prędkość odtwarzania. Dodałem też stałą nakładkę, dzięki której możesz używać aplikacji i sterować nią w trakcie meczu, bez wychodzenia z gry.
Moim celem zawsze było to, żeby CrossVoice nie zależał od żadnej konkretnej gry. Konfigurujesz profile po swojemu i używasz ich w różnych grach, bez integracji z konkretnymi tytułami i bez potrzeby, by aplikacja wiedziała, w co grasz.
W pewnym momencie przestało mieć sens, żeby cała ta praca zostawała tylko w moich profilach. Czemu nie pozwolić graczom dzielić się swoimi i cieszyć się tym, co tworzy społeczność? Tak narodziła się społecznościowa część CrossVoice.
Tak CrossVoice wyrósł z prototypu w Pythonie na projekt, którym jest dziś. To, co zaczęło się jako pomysł podczas grania w Mordhau i Hunt: Showdown, stało się znacznie ambitniejszym projektem, w którym zbudowałem i rozbudowałem praktycznie każdą część aplikacji.
— Raúl Mateo