GameCube Genie
Project Details
Platform Worked With: Windows, Mac (Python Version Only)
Tools Used: C#, Visual Studios, Python, LibUSB
Where to Find:
Project Contribution Summary
I started the GameCube Genie project after encountering an issue while playing the private alpha for Vortex Rising. As a player who preferred Nintendo's GameCube controller, I found myself relying on a combination of third-party tools and Vjoy, an Xbox controller emulator, to use my controller. Unfortunately, this setup introduced significant input latency, rendering the gameplay experience nearly unplayable for many, including myself.
Considering that Vortex Rising was developed using Unity and C#, and my history of working with C#, I saw an opportunity to create a proof of concept for retrieving data directly from the GameCube adapter using C#. To achieve this, I researched and documented the data format when a GameCube adapter is connected to a PC. Utilizing this knowledge, I successfully implemented the first version of what would later be known as the GameCube Genie in C#.
Following the completion of this proof of concept, I presented it to the CEO of Vortex Games. After seeing this, I was offered a position to leverage my expertise in integrating native GameCube adapter support directly into Vortex Rising. Further details about this experience can be found in my portfolio on the [Rushdown Revolt portfolio page]
Sometime later I decided to undertake a weekend project to port the GameCube Genie from C# to Python. Although I achieved almost complete feature parity between the two implementations, I encountered a minor obstacle with PyUSB, which required the installation of a specific driver be installed. This made it so that users of the Python version would most likely have to also swap out their drivers.