This project is admittedly a few years old now. It was developed for a game investment pitch I’d put together coming off the back of over 3 years of working on the Disney Infinity franchise.
I fell in love with the idea of rejuvinating the trading card gaming world by adding a digital layer - nothing especially original at the time but no one had done it successfully and, in my mind at least, there were a few reasons why. Some games interfaced cards with mobile devices directly, using their built-in RFID / NFC capacity, however not all mobile devices have this and others (Apple) restrict its use, I wanted much broader coverage. Some games were PC only using a wired peripheral which I felt was too limiting. Most of the games being developed were not very good.
My ambition was to capture the essence of something like Disney Infinity or Skylanders, but make it considerably more accessible to kids. Using RFID enabled trading cards would keep the costs of acquiring “commodities“ much lower than the expensive toys in other brands. It would also mean that the game would be playable for the most part with no additional devices. I really liked the notion that kids would be able to trade cards with their friends or play the game in the local park or school playground, but then also be able to play a significantly richer version of the game at home with the family tablet or on parents phones. In order to achieve the latter and cover the broadest range of devices possible, I had the idea of using a Bluetooth peripheral as almost all mobile and tablet devices are Bluetooth enabled. This would connect to a device wirelessly and be powered by a built in battery. The peripheral would read data from RFID trading cards and transmit it to a running app on the connected device.
To fully prototype this I had to build an initial proof of concept - something I could demonstrate to investors - and spent a couple of months researching Arduino hardware and software. In the end, I built a simple device that leveraged RFID and Bluetooth LE modules running a custom Arduino program in conjunction with some readily available modules. This would interface with a Unity app I built using a combination of quite a bit of custom C# coded and an off-the-shelf Bluetooth plugin. The plugin (at the time) was not threadded and caused quite severe performance throttling when the app was running, so I had to make a few modifications to limit the rate at which it checked for incoming Bluetooth data without adversely making the system feel unresponsive or laggy.
I started doing some really loose visual development with a co-worker at the later stages of my pitch development and was leaning towards a sci-fi steampunk aesthetic for the main IP called “Battlemasters“.
The following videos show the prototype in action with some very simple game assets that I acquired for testing. I didn’t want to burn time creating my own at this stage. The following images are snippets from a bigger pitch deck that I put together (some imagery in pitch sourced from Google).
On the back of the RnD I did with the Arduino I also took what I learned and built a wired version that could connect to PC and send RFID data to Unreal using the open source UE4Duino plugin. The following video shows a very crude prototype I built in Unreal Engine that used the RFID data to switch character class on the player. Each class could interact with the world in unique ways - the engineer being able to repair things, the secret agent having a stealth action, etc. NPC’s in the world would only interact with the player when matching their class.