Σχετικά με το CrossVoice
Λατρεύω παιχνίδια όπως τα Mordhau και Hunt: Showdown και πάντα μου άρεσε το σύστημα φωνητικών φράσεων του Mordhau, όπως και του Chivalry 2. Κάποια στιγμή άρχισα να αναρωτιέμαι πώς θα μπορούσα να χρησιμοποιήσω τον ίδιο μηχανισμό στο Hunt: Showdown και, γιατί όχι, σε οποιοδήποτε άλλο παιχνίδι με φωνητική συνομιλία.
Αυτή η ιδέα έγινε ένα πρώτο πρωτότυπο σε Python που λειτουργούσε μέσω εικονικών συσκευών ήχου. Η ιδέα δούλευε, αλλά για διάφορους λόγους το έργο έμεινε στο ράφι για αρκετά χρόνια.
Αργότερα έπεσα πάνω σε soundboards όπως το Soundpad και είδα τι μπορούσαν να κάνουν παίζοντας ήχους μέσω του μικροφώνου. Όμως κάθε soundboard που έβρισκα λειτουργούσε με τον ίδιο τρόπο: ένα πλήκτρο, ένας ήχος. Αυτό με ώθησε να ξαναπιάσω το έργο και να το πάω πολύ πιο μακριά από το αρχικό πρωτότυπο. Άρχισα να πειραματίζομαι με C++ για να φτιάξω μια εγγενή λύση ήχου που θα μου έδινε πραγματικό έλεγχο στο πώς γίνεται η επεξεργασία και η μετάδοση του ήχου.
Από εκεί και πέρα έφτιαξα την υπόλοιπη εφαρμογή σε C#, ξεκινώντας από ένα περιβάλλον για τη διαχείριση προφίλ και τη ρύθμιση φωνητικών εντολών. Σύντομα κατάλαβα ότι η αναπαραγωγή ήχων ήταν μόνο ένα μέρος του προβλήματος: όλα έπρεπε επίσης να λειτουργούν με τη φωνητική συνομιλία κάθε παιχνιδιού, ακόμη και σε παιχνίδια που χρησιμοποιούν «Πάτημα για ομιλία». Αυτό με οδήγησε στη δρομολόγηση ήχου και στον χειρισμό πληκτρολογίου χαμηλού επιπέδου, ώστε αυτά τα πατήματα πλήκτρων να διαχειρίζονται αξιόπιστα.

Όσο προχωρούσε η ανάπτυξη, το CrossVoice μεγάλωνε. Τα προφίλ εξελίχθηκαν ώστε να οργανώνουν τις εντολές σε σελίδες, με πλήκτρα και τροποποιητές, παραλλαγές ήχου και ρυθμίσεις όπως ένταση, τονικό ύψος και ταχύτητα αναπαραγωγής. Πρόσθεσα επίσης μια μόνιμη επικάλυψη, ώστε να χρησιμοποιείτε και να ελέγχετε την εφαρμογή κατά τη διάρκεια ενός αγώνα, χωρίς να βγαίνετε από το παιχνίδι.
Στόχος μου ήταν πάντα το CrossVoice να μην εξαρτάται από κάποιο συγκεκριμένο παιχνίδι. Ρυθμίζετε τα προφίλ σας όπως θέλετε και τα χρησιμοποιείτε σε διάφορα παιχνίδια, χωρίς ενσωματώσεις ειδικές για κάθε παιχνίδι και χωρίς η εφαρμογή να χρειάζεται να ξέρει τι παίζετε.
Κάποια στιγμή δεν είχε πολύ νόημα όλη αυτή η δουλειά να μένει μόνο στα δικά μου προφίλ. Γιατί να μην αφήσουμε τους παίκτες να μοιράζονται τα δικά τους και να απολαμβάνουν ό,τι δημιουργεί η κοινότητα; Έτσι πήρε μορφή το κομμάτι της Κοινότητας του CrossVoice.
Έτσι το CrossVoice εξελίχθηκε από ένα πρωτότυπο σε Python στο έργο που είναι σήμερα. Ό,τι ξεκίνησε ως ιδέα παίζοντας Mordhau και Hunt: Showdown έγινε ένα πολύ πιο φιλόδοξο έργο, στο οποίο έχω φτιάξει και επεκτείνει σχεδόν κάθε μέρος της εφαρμογής.
— Raúl Mateo