Multiplayer battle game with custom controllers made using arduino's
The goal of this three week project was to create a game using a custom controller. The custom controller could be anything you could think of. We received an arduino teensy chip from school, which we could program to do all kinds of things.
We where thinking about this for quite a while. We considered a lot of options, but couldn't figure out what to pick. At some point we got around to a game that required gyros. Our teacher specifically said not to do anything with a gyro so first I was against the idea. The team worked it out more and I got quite excited about the game idea. I decided to research the gyro to see how hard it would be to get it working.
After some time I found a library for gyro functionality. Told the team and figured it wouldn't be so hard to implement. I did tell them I would probably need around 1 or 2 week of our three weeks to finish this task, as it is still quite complicated to get everything working.
So we started working on our project, got an extra teensy and bought two gyro chips. I tried the library I found. It didn't work so I took a couple of days to try and fix the issue, but I gave up and blamed the chip for being inaccurate. We swapped them for two a bit more expensive chips.
I found another library for our specific model, and applied this code to it. Again the data I got was gibberish. I gave in, as I had no clue as to why it did. The only thing left for me to try was solder the chip and the wires. So I did and to my surprise, this fixed all the issues I had. The chip finally returned the data I expected and could now start working on making it functional.
The data I got was chip specific and had to be converted to quaternion data. The library I found did have the conversion and it worked, somewhat. It was weird as it did work, but it made strange twists on some corners. At first I blamed the chip again, for being inaccurate, but then I found out that the quaternion math the library was using was completely off. I fixed all the math and the chip was now working perfectly, finally we could use it in the game.