CrossVoice के बारे में
मुझे Mordhau और Hunt: Showdown जैसे गेम बहुत पसंद हैं, और Mordhau का वॉइस-लाइन सिस्टम मुझे हमेशा अच्छा लगा, Chivalry 2 का भी। फिर एक समय मैं सोचने लगा कि यही मैकेनिक मैं Hunt: Showdown में कैसे इस्तेमाल कर सकता हूँ, और क्यों नहीं, वॉइस चैट वाले किसी भी दूसरे गेम में भी।
वह विचार Python में बने एक पहले प्रोटोटाइप में बदला, जो वर्चुअल ऑडियो डिवाइस के ज़रिए काम करता था। कॉन्सेप्ट काम कर गया, लेकिन कई कारणों से प्रोजेक्ट कई सालों तक ठंडे बस्ते में पड़ा रहा।
बाद में मेरी नज़र Soundpad जैसे साउंडबोर्ड पर पड़ी और मैंने देखा कि माइक्रोफ़ोन के ज़रिए साउंड चलाकर वे क्या-क्या कर सकते हैं। लेकिन मुझे मिला हर साउंडबोर्ड एक ही तरह काम करता था: एक कुंजी, एक साउंड। इसी बात ने मुझे प्रोजेक्ट फिर से उठाने और उसे मूल प्रोटोटाइप से कहीं आगे ले जाने के लिए प्रेरित किया। मैंने एक नेटिव ऑडियो समाधान बनाने के लिए C++ के साथ प्रयोग शुरू किए, जिससे मुझे इस पर असली नियंत्रण मिले कि साउंड को कैसे संभाला और प्रसारित किया जाता है।
वहाँ से मैंने बाकी ऐप्लिकेशन C# में बनाया, जिसकी शुरुआत प्रोफ़ाइल प्रबंधित करने और वॉइस कमांड सेट करने के इंटरफ़ेस से हुई। जल्द ही मुझे समझ आ गया कि साउंड चलाना समस्या का सिर्फ़ एक हिस्सा था: सब कुछ हर गेम की वॉइस चैट के साथ भी काम करना चाहिए था, उन गेम के साथ भी जो “बोलने के लिए दबाएँ” का उपयोग करते हैं। इसी वजह से मैं ऑडियो रूटिंग और लो-लेवल कीबोर्ड हैंडलिंग तक पहुँचा, ताकि वे कुंजी-प्रेस भरोसेमंद ढंग से संभाले जा सकें।

जैसे-जैसे विकास आगे बढ़ा, CrossVoice बढ़ता गया। प्रोफ़ाइल विकसित होकर कमांड को पृष्ठों में व्यवस्थित करने लगीं, कुंजियों और मॉडिफ़ायर, ऑडियो वेरिएंट, और वॉल्यूम, सुर और प्लेबैक गति जैसी सेटिंग्स के साथ। मैंने एक स्थायी ओवरले भी जोड़ा, ताकि आप मैच के दौरान, गेम छोड़े बिना, ऐप का उपयोग और नियंत्रण कर सकें।
मेरा लक्ष्य हमेशा यही रहा है कि CrossVoice किसी खास गेम पर निर्भर न हो। आप अपनी प्रोफ़ाइल अपने तरीके से सेट करते हैं और उन्हें अलग-अलग गेम में इस्तेमाल करते हैं, बिना गेम-विशिष्ट इंटीग्रेशन के और बिना इसके कि ऐप को यह जानना पड़े कि आप क्या खेल रहे हैं।
उस मोड़ पर इतनी मेहनत का सिर्फ़ मेरी अपनी प्रोफ़ाइल तक सीमित रहना ज़्यादा मायने नहीं रखता था। क्यों न खिलाड़ियों को अपनी प्रोफ़ाइल साझा करने दिया जाए और समुदाय जो बनाता है उसका आनंद लेने दिया जाए? इसी तरह CrossVoice का समुदाय वाला हिस्सा आकार लेने लगा।
इस तरह CrossVoice एक Python प्रोटोटाइप से बढ़कर आज का प्रोजेक्ट बना। Mordhau और Hunt: Showdown खेलते हुए आया एक विचार कहीं ज़्यादा महत्वाकांक्षी प्रोजेक्ट बन गया, जिसमें मैंने ऐप्लिकेशन का लगभग हर हिस्सा बनाया और आगे बढ़ाया है।
— Raúl Mateo