We started off with an idea to build a card game using augmented reality.
What it does
It is allows users to play any card game by just printing cards with our qr codes, which serve as targets for our augmented reality app. The app uses the phone’s camera to detect the qr codes and generate any playing card designs the user may want.
How we built it
We built it using Unity and C#. For the AR functionality, we used the Vuforia Engine which has its own API for creating features on the target images and generating a database which can then be used locally in Unity.
Challenges we ran into
Firstly, we tried developing a react-native app, however, we found that it is very difficult to add the unity AR features to it, therefore we decided to use flutter instead. We spent a lot of time developing the Flutter app, but ended up having similar problems as with react-native, so we decided to leave the flutter development for a future project. While developing the flutter app, part of the team was working on setting up Firebase for user authentication and data storage, however, since we had little to no experience with Firebase, we didn’t manage to finish the implementation and decided to simplify and handle things locally. Since we are generating a lot of different objects in Unity which represent the individual cards, we tried writing a c# script which could dynamically generate the cards, however, we ran into problems with the Vuforia Engine as the API wasn’t compatible with the version of Unity we were using.
Accomplishments that we're proud of
We are happy that the app actually works and can very accurately track multiple cards at the same time.
What we learned
We learned a great deal working on this project, the main one being: when something looks straightforward, it usually isn’t. Some of us never worked with Unity before so we had to learn very quickly to be able to implement and test different versions of the app. Since a lot of our ideas for deployment didn't work out, we had to resort to writing in C#, which we also didn't have much experience with. In essence, this project was a 24 hour bootcamp, we expanded our horizons by building cool tech with tools we didn't know how to use.
What's next for Magic Cards
It can be used to play other card games such as Rummy etc. We started with one game, and it can eventually be scaled to play multiple card games. The app has potential in areas other than gaming too, for instance in security. We would like to extend this project to create custom codes which can be read only through our AR app and show only information relevant to the viewer.