Macboxx

Macboxx
RustPython

This one may take some explaining.

TLDR: Macboxx is a Rust-based keyboard mapper which allows for Boxx style controller inputs for the Dolphin Emulator. It is designed for Super Smash Bros. Melee.

Background

Super Smash Bros. Melee is a game that has a very active competitive scene, despite being released in 2001. One of the tools that has allowed this scene to remain so active is Slippi, which allows players to compete online using an emulated version of the game.

Most players connect their Nintendo Gamecube controllers to their computers using a USB adapter in order to play on the emulator, but this isn't the only option available.

Boxx style controllers

Around 2018, Aziz (Hax$) Al-Yami released an alternative to the Gamecube controller targeted specifically at Melee players. This was called the "Boxx" since it consists of a box-shaped chassis with arcade style buttons in an ergonomic layout.

It didn't take long for players to begin iterating on what can be used as a controller for Melee, with players even playing on their keyboards.

Using the keyboard as a controller for Melee

People have been using keyboards as a controller for Melee for a few years, but with the release of the Boxx, it seemed natural to emulate it's control style for the keyboard. This is just what agiradeau did with b0xx-ahk, which emulates the exact buttons available to players who use the Boxx.

What's this project then?

I found myself without a Gamecube controller in March 2022 when I moved from California to Germany, and wasn't able to take my controller with me. I still really wanted to play Melee, so I learned how to play on a keyboard. Unfortunately, I wan't able to take advantage of tools like b0xx-ahk, since it uses autohotkey and VJoy, which are both Windows only. Of course, I was on a Macbook.

What to do?

I wrote Macboxx, which is a platform agnostic keyboard mapper written in Rust to allow Boxx style inputs games running on Dolphin Emulator (not just Slippi). The key difference between this and the normal keyboard mapping in Dolphin is the separation of x and y modifier keys, which allow for partial control stick tilts on independent axes.

This project was originally written as a single Python script, but I wanted it to be a bit more performant, since input times are critical for this game. So I re-wrote it in Rust, which had the added benefit of allowing me to publish it in Cargo, the package manager for the Rust ecosystem.

Let's get in contact:

© 2024 Patrick Maloney