เกี่ยวกับ CrossVoice
ผมชอบเกมอย่าง Mordhau และ Hunt: Showdown และชอบระบบวอยซ์ไลน์ใน Mordhau มาตลอด รวมถึงใน Chivalry 2 ด้วย จนถึงจุดหนึ่งผมเริ่มสงสัยว่าจะใช้กลไกแบบเดียวกันนี้ใน Hunt: Showdown ได้อย่างไร และทำไมจะไม่ได้ล่ะ ในเกมอื่นที่มีแชทเสียงด้วย
ไอเดียนั้นกลายเป็นต้นแบบแรกที่เขียนด้วย Python ซึ่งทำงานผ่านอุปกรณ์เสียงเสมือน แนวคิดนี้ใช้ได้ผล แต่ด้วยเหตุผลหลายอย่าง โปรเจกต์จึงถูกเก็บขึ้นหิ้งไปหลายปี
ต่อมาผมได้รู้จักซาวด์บอร์ดอย่าง Soundpad และสิ่งที่มันทำได้ด้วยการเล่นเสียงผ่านไมโครโฟน แต่ซาวด์บอร์ดทุกตัวที่ผมเจอทำงานแบบเดียวกันหมด: ปุ่มเดียว เสียงเดียว นั่นผลักดันให้ผมกลับมาทำโปรเจกต์นี้อีกครั้ง และพามันไปไกลกว่าต้นแบบเดิมมาก ผมเริ่มทดลองกับ C++ เพื่อสร้างโซลูชันเสียงแบบเนทีฟที่ให้ผมควบคุมได้จริงว่าเสียงถูกจัดการและส่งออกไปอย่างไร
จากนั้นผมสร้างส่วนที่เหลือของแอปพลิเคชันด้วย C# เริ่มจากอินเทอร์เฟซสำหรับจัดการโปรไฟล์และตั้งค่าคำสั่งเสียง ไม่นานผมก็ตระหนักว่าการเล่นเสียงเป็นเพียงส่วนหนึ่งของปัญหา: ทุกอย่างต้องทำงานร่วมกับแชทเสียงของแต่ละเกมด้วย รวมถึงเกมที่ใช้ระบบกดเพื่อพูด สิ่งนี้พาผมไปสู่การกำหนดเส้นทางเสียงและการจัดการคีย์บอร์ดระดับล่าง เพื่อให้จัดการการกดปุ่มเหล่านั้นได้อย่างน่าเชื่อถือ

เมื่อการพัฒนาดำเนินไป CrossVoice ก็เติบโตขึ้น โปรไฟล์พัฒนาจนจัดคำสั่งเป็นหน้าได้ พร้อมปุ่มและปุ่มปรับ รูปแบบเสียง และการตั้งค่าอย่างความดัง ระดับเสียงสูงต่ำ และความเร็วในการเล่น ผมยังเพิ่มโอเวอร์เลย์ที่แสดงอยู่ตลอด เพื่อให้คุณใช้และควบคุมแอปได้ระหว่างแมตช์โดยไม่ต้องออกจากเกม
เป้าหมายของผมมาตลอดคือ CrossVoice ต้องไม่ขึ้นอยู่กับเกมใดเกมหนึ่ง คุณตั้งค่าโปรไฟล์ได้ในแบบของคุณและใช้ข้ามเกมได้ โดยไม่ต้องมีการเชื่อมต่อเฉพาะเกม และแอปไม่จำเป็นต้องรู้ว่าคุณกำลังเล่นอะไร
ถึงจุดนั้น การที่งานทั้งหมดนี้จะอยู่แค่ในโปรไฟล์ของผมเองก็ดูไม่ค่อยมีเหตุผล ทำไมไม่ให้ผู้เล่นได้แบ่งปันโปรไฟล์ของตัวเอง และสนุกกับสิ่งที่ชุมชนสร้างขึ้นล่ะ นั่นคือที่มาของฝั่งชุมชนใน CrossVoice
นั่นคือเส้นทางที่ CrossVoice เติบโตจากต้นแบบ Python มาเป็นโปรเจกต์อย่างทุกวันนี้ สิ่งที่เริ่มจากไอเดียระหว่างเล่น Mordhau และ Hunt: Showdown ได้กลายเป็นโปรเจกต์ที่ทะเยอทะยานกว่าเดิมมาก ซึ่งผมได้สร้างและต่อยอดแทบทุกส่วนของแอปพลิเคชัน
— Raúl Mateo