Description
The DIY Switch “Devkit” was created in the preproduction phase of Arboreal, as a kind of dare from one of the other programmers. While working in the preproduction phase I was curious if we would be able to have Nintendo Switch support. I got one week to show that i could make something that would help us in development.
I already knew that the Switch Joycons connect via bluetooth, and surprisingly they do show up when connected to a PC, but their button mapping is all over the place, as well as the thumbstick is not properly sending info with the basic gamepad driver. Never the less i created a prototype for android and taped the controllers to the side of my phone. It worked, but since the joystick was only 8 - directional it wasn’t what i wanted.
Then i stumbled on a github page with a basic driver for the joycons, which allowed for the remapping of the Joycon to a normal Xbox controller, including thumbsticks. This would work on PC, but i specifically wanted to test the handheld mode, since that is the biggest hurdle to overcome.
Then i had an idea: I just need a screen roughly as big as a Switch, i don’t need it to be portable.
So over a week i bought a touchscreen designed for the Raspberry PI, designed some custom 3D printed parts to hold the joycons in and some low profile wires, and the custom “Devkit” was born.
Sadly nothing became of it in the end, my college informed us that they were able to make an actual devkit available to us in our last 6 weeks of development, but by that time we could not spare any resources to make the port, although the DIY devkit did give us a morale boost at multiple points throughout development, when we tested our builds on it.
LEARNING ACHIEVEMENTS
SolidWorks
This was the first time i got to use solidworks to design a physical parts. A friend of mine introduced it to me when i bought my 3D printer, and i messed around in it for a little bit, but actually designing custom parts, taking measurements and thinking about how this physical item would work was all new to me.
Simplifying my problems
In the beginning i thought that i would need to write my own driver, and that this week would just explore that. But taking a step back and looking around if other people already tried allowed me to greatly decrease development time on something that might not have any use in actual production. In the end it is just a screen with a 3d printed box that holds a controller, but it did help to discover the potential UI and control problems we would have.