Being massive procrastinators, multiple team members brought their Switch consoles with them for when they couldn't be bothered to do anymore work. This turned into our advantage when we realised we could use them as an input device! Spurred on by our new idea we decided to use the gyroscopic nature of the controllers to help keep data safe, by implementing a safe-combination lock in multiple axies.
What it does
You are asked to create an account, from which you can then take a joycon and orientate it in multiple positions and record a sequence. At a later date you can then log into the application by replication the sequence! If someone tries to gain unauthorised access, it will use the Twilio API to send you a text message telling you someone is trying to get in! There is also an option to use the shaking of a remote to let you in too, using ML to recognise the joycon's direction change from the accelerometer data.
How we built it
We used C# for everything, with the help of a lot of coffee!
Challenges we ran into
We created and successfully trained the model to detect change in data, getting it linked was incredibly difficult. The package we found for using the Switch JoyCons and reading the data was extremely out of date and did not work correctly. Instead we had to find the GitHub repo that was more up to date, but was exclusively for Unity development, using many unity based features. This meant we had the lovely job of forking the repo and editing it to work in C# without Unity. This also came with the issues of having to deal witih .dll files for dependancies that we had to manually find, build and place correctly for our program to function. To top it off, JoyCons have a habit of randomly disconnecting from a PC/Mac while still thinking it's connected. In all, JoyCons are a nightmare to work with.
Accomplishments that we're proud of
- Getting a joycon to interface with a desktop application correctly.
- Quick idea generation.
- Overcoming what seemed like game-over hurdles.
What we learned
- Where 32/64bit dlls live
- The finickiness of bluetooth and JoyCons
- C#, only 2 people knew C# well before coming ( I wanted to use python :( )
What's next for CombiCon
Cloud platform integration for a web api to secure sites.