Final Project Post: Scavenger Stuffs

Scavenger Stuffs

Savannah Mann

A mobile game based around scanning pendants against hidden stuffed animals to collect characters in-game

Poster

Describe what your project does and how it works

Scavenger Stuffs was built around the idea to make wearable technology cheap and accessible. By pairing a medium expense, a free mobile app, and a $1 player pendant together, the entire game helps create a unique and fun twist on scavenger hunts.

The stuffed animals are intended to be bought at-cost for manufacturing ($20-$30) by local business, or donated to libraries and museums. Each stuffed animal is a standalone unit in the game, complete with its own unique design in real life, and in the mobile app.

Once a player finds a location which distributes pendants (Decorative tags which cost <$1 to create), they use the pendant to register for an account on the mobile game. From that point on, players can scan their pendants against any stuffed animal they find, and it will be added to their game’s account.

Scavenger Stuffs’ goal is to bring wearable technology down to a more accessible level, and to help get everyone exploring.

Describe your overall feelings on your project. Are you pleased, disappointed, etc.?

Not only is the product completely functional, but the overall plushie design and app exceeded my expectations for what would be done by the end of the semester. The game is consistently  working, easy to manage, and involved a great deal of work that was planned well and executed clearly. Overall, this was a very complicated project that succeeded thanks to a great deal of initial research and rigid goals.

Describe how well did your project meet your original project description and goals. 

This project both meets and exceeds the initial concept. The idea to have an RFID-based scavenger hunt seemed a bit difficult in terms of hardware, but ended up proving to be much simpler after soldering the pieces together. The plushie designs ended up being unique, quickly craftable, and durable, the three aspects I was hoping for in their design. As for the app itself, it proved to be almost bug-free in its late stages of development, allowing for users to recieve animals with only a 5-10 second delay from the initial scan. The app not only featured the animated animals which were not an initial requirement, but the “adventure” system was also implemented early on to add gameplay to the app.

Describe the largest hurdles you encountered.  How did you overcome these challenges? 

The biggest challenge with this project was the data-transfer between the RFID scanner to the Unity game. Initially, the plan had been to implement the backend APK from the Pi to update the server as expected, however the issue that I ran into was that there was no APK in existence for this server that ran through any executable Linux file. The workaround that I ended up making was a dummy Unity file that ran on another computer, using a Linux clone to rsync the file over then using the Unity APK for the server to update the server. It added a lot of silly, complicated steps and terminology between points A and B, but once I got the system ironed out it worked well and with managable delay. The surprising upside to all this was that I got to monitor every step of the data transfer via my SHH terminals, command line for the Linux clone, and my dummy Unity file’s custom screen. What I sacrificed in simplicity, I made up for in reliability and ability to monitor/debug.

Describe what would you do next if you had more time 

First step would be to move the stuffed animals off a local network. I’ve got a few pages of notes on some good techniques for this, but I would like to delve a bit deeper into the research before committing to one method over the other.

Next step would probably be to add a stat system to the “adventure” mode of the game to make it more challenging and to reward players for collecting new animas.

Then, I think it’s just a matter of making more stuffed animals!

List of materials:

Pendants

  • RFID Tag (Blue circle tag)
  • Sculpey White Clay
  • Acylic paint, chalk, watercolor, nail polish

Stuffed Animals

  • RFID-522 Reader/Writer
  • Raspberry Pi 0W
  • 4GB SD Card
  • Fabric & Stuffing (Polyfill + Crumpled Paper for most)

Program Components:

  • Unity (Mobile App)
  • Unity (Dummy)
  • GameSparks Server (Scavenger Stuffs Datatypes & Messaging)
  • Bash on Ubuntu for Windows10
  • RSync bashLoop.sh script
  • RFID Reader/Writer I/O initializer script

Project Post #7: Scavenger Stuffs

Weekly Accomplishments:

Very good news this week in that the issues from last week were resolved! Soldering the pieces in fixed a lot of the issues I was seeing with the RFID reader/writer, and as of right now we have the following setup working:

RFID Read/Write -> File Write -> RSync -> Server Upload

Server -> Game

This means that the only outstanding issue is translating the RFID output to something recognizable by the game. When reading the RFID tag, any blank space appears to be changed into junk values, meaning that the user associated with it is not recognized (for example, if the user was “Maywood”, it is read in but the game sees it as “Maywood+junk vals” and doesn’t associate it with the user “Maywood”.

I started on a trimming piece to stop this error from occurring but messed up a bit of code in the process. First priority is fixing this bug so that we can finish the core functionality of the game.

It’d also be nice to do an automated RSync. That’s 2nd or 3rd priority.

As for other progress this week, we got the claws for Jody done, and the pendant designs are in the work. Instead of 3D printings, we’re going to use clay to envelop the tags and carve/paint designs in. Should be a much easier solution.

Also attempting to get a 3rd animal made before the end of the class. We’ll see how it goes.

Images:

Here’s a video of the program reading in a user’s name through the RFID reader/writer, ready to give them an anima

https://drive.google.com/open?id=1iwWv7HLuNg9Qk-LZaCYXrq_0CxLINis8

 

 

Additional Material List:

    1. Battery/USB Charger (still torn on which I’ll be using, but right now it isn’t a priority)
    2. MicroSD Card (this might add a bit to the expense of the plush
    3. Cost of Plastic for 3D printing the pendants (depends on whether I’m crushing the old pendant ot make the new one, or working around the original key fob. Again, I’ll make this call once I have a base product working).

Areas of Concern:

Now that most soldering is done, just a matter of fixing that RFID output formatter and setting up automated tasks for rsync.

It’d also be nice to get the pis hooked up to the wifi of wherever we’ll be presenting them, so that they won’t be tied to a 10ft radius around my phone.

Project Post #6: Scavenger Stuffs

Weekly Accomplishments:

This week was tackling the major issue of communicating between the RFID scanner and the Unity game. Thankfully, a solution has finally been found. It feels a bit over-complicated, but it works under manual testing and should hold up all the way:

  1. Power up Pi and RFID Read/Writer
  2. Power up computer on the same network, ssh to pi
  3. Scan pendant against RFID reader, output to file
  4. Rsync file to the computer via ssh (hopefully this will be automated in the near future)
  5. Run the dummy unity program which looks at that location and updates gamesparks accordingly
  6. Pull results from gamesparks in-game

The setup for this took a while, but it ends up being fairly simple in the pi and application. The video below shows the file transfer occurring.

Also done this week, more component acquisition. We have the paint and clay needed to finish up the goat, and two additional pis and scanners have been ordered, along with 10 extra tags. I will need 2 additional microSD cards, but they have not been ordered.

As for plush progress, I have a good idea of what the third animal will be and have some fabric set aside. The anteater plush now has eyes as well.

For the game side, login/registration was fixed, and the app was finally hooked up to read in acquired animals from the server. Users can tap to swap which anima they use in-game.

Images:

Video this week, showing off the new RSync between our pi and my laptop

https://drive.google.com/open?id=1uwSZU0IbvlXcYmhjvJBxuMjCMQBm7wx7

Additional Material List:

    1. Battery/USB Charger (still torn on which I’ll be using, but right now it isn’t a priority)
    2. MicroSD Card (this might add a bit to the expense of the plush
    3. Cost of Plastic for 3D printing the pendants (depends on whether I’m crushing the old pendant ot make the new one, or working around the original key fob. Again, I’ll make this call once I have a base product working).

Areas of Concern:

Right now, biggest concern is with soldering the RFID Reader/Writer and making sure it works consistently. Right now, every component works individually, but linking them up is always cause for concern. Here’s what it looks like now:

RFID to File: Tested, but torn apart for transport. Code is good, hardware needs to be redone

File to Computer: Tested as of 4/14

Dummy Unity to Game: Tested as of 4/7

Essentially, we have 3 groupings of technologies that need to be tied together. This means we need, respectively:

  1. The RFID reader/writer to work consistently after soldering
  2. A scheduled task to run RSync
  3. The dummy file to be updated to grab the file from the new location

3 is a quick fix, but requires me to take a few notes before implementing. 2 can be skipped until everything else is done because the test can be run manually. 1 is what concerns me most, since my soldering skills are pretty stale. We’ll see how it goes.

Project Post #5: Scavenger Stuffs

Weekly Accomplishments:

Second stuffed animal has been started and details have been added.

The game now has a working “travel” feature, allowing users to venture out with their animas for a set period of time. The user is updated every [x] seconds, showing what their Anima is up to

The server (GameSparks) has been fully set up to hold the information for the game. Right now, everything is being tested on the provided test harness, but I’ve been able to confirm some of the features such as the “Add Anima” script are working as intended on the gameside.

The RFID tags can now be read. The wiring is a bit iffy, so its not consistent yet. I’ve switched over to setting up on the RaspberryPI 0W for testing as a result. After many attempts with the bluetooth/wifi connections, I believe the best way of handling passing information will be making a dummy controller of Unity to load onto the pi and run to update the database.

Images:

 

Additional Material List:

    1. Battery/USB Charger (still torn on which I’ll be using, but right now it isn’t a priority)
    2. MicroSD Card (this might add a bit to the expense of the plush
    3. Cost of Plastic for 3D printing the pendants (depends on whether I’m crushing the old pendant ot make the new one, or working around the original key fob. Again, I’ll make this call once I have a base product working).

Areas of Concern:

Biggest issues this week:

  • The RFID Read/Writer works, but the wiring causes it to be a bit iffy as to whether its going to work or not. Shouldn’t be an issue once soldered, but I’m hesitant to solder without having a working temp on the 0W
  • Passing information is a bit odd since I don’t have a proper SDK for the pi. The best way of adding Animas will be writing to a file the RFID data as is implemented now, and then having a dummy Unity file waiting for that change and using the Unity SDK to pass the info up. The dummy Unity file works, and the RFID part works, so now it’s just a matter of making sure a Linux Unity build is viable and works as intended
  • (Also WIFI will be needed for the Animas due to this change. Not a bit deal, but since there is no graphical interface, I’ll either have to scan and jump on the nearest network or SHH into the pi whenever setting one up)

Project Post #3: Scavenger Stuffs

Weekly Accomplishments:

The first stuffed animal is almost done, barring the last few details of eyes and claws. “Jody” was given the last few fabric details earlier in the week, and the pocket installed has been tested to fit with the components ordered. The plush design should be done by end of week, if not the first day.

The game itself has begun progress as well. Jody has a digital sketch of herself in the game that has been rigged with basic animation, and the game’s UI has been set up for the main screen (without functionality besides simple button clicks). Using the DeepDreamGenerator AI found online, I converted some free-for-use background pictures into painter-like backgrounds for use in the game.

I’ve started work on getting the RaspberryPI set up as well with the RFID reader. Everything is wired together in the breadboard right now, and I’m just waiting on the SD card to load up Raspbian so I can get back to work.

Images:

Additional Material List:

    1. Battery/USB Charger (still torn on which I’ll be using, but right now it isn’t a priority)
    2. MicroSD Card (this might add a bit to the expense of the plush
    3. Cost of Plastic for 3D printing the pendants (depends on whether I’m crushing the old pendant ot make the new one, or working around the original key fob. Again, I’ll make this call once I have a base product working).

Areas of Concern:

I was initially a bit concerned by how elaborate the RFID reader would be to set up. I’ve found enough tutorials that hopefully I won’t run into a deadend, but I’m currently having issues with my MicroSD card not being recognized by my main computer which is slowing down progress. This seems like more of a minor hurdle though, and I’ve got plenty to work on in the meantime.

Project Post #2: Scavenger Stuffs

Scavenger Stuffs

Savvy Mann

Week 1:

  • Ordered materials needed to finish prototype design.
  • Began assembling prototype plushie (Jody)
  • Began art assets for UI (Home screen, buttons [rectangular + circle], backdrops)
  • Started research into bluetooth transmission as opposed to switching to WiFi
  • Checked into new alternative for pendant base

 

  • images post at least one image related to your project.  This could be a photograph, a sketch, a screenshot etc.

Changes:

  • Pendent base might be modeled around a pre-made RFID keychain, as they are cheaper and already pendent shaped
  • Stuffed animal material will probably with a less pliable/elastic material to feel less cold.
  • Data may be transmitted via bluetooth instead of WiFi, since the pi is capable of both.

Material List:

App (software):

  • Unity w/ Anima2D plugin
  • GameSparks
  • Phone w/ Bluetooth capability

Pendants(each):

  • RFID Writable Tag
    • Price: $0.20-$1
    • Qt: 10-20 (but you can buy 100 for $20 via the link)
    • Link

Stuffed Animal (each):

  • RFID Read/Write Module
    • Price: $5.49
    • Qt: 1
    • Link
  • Raspberry Pi Zero W
    • Price: $10
    • Qt: 1
    • Link
  • Polyform

Project Post #1 : Scavenger Stuffs

Scavenger Stuffs

Savannah Mann

Scavenger Stuffs is a project dedicated to bringing wearable tech to a broader demographic by creating a game where all components are not only fun and enjoyable, but also low-cost to produce, maintain, or replace. The game consists of a scavenger-hunt-like format where people download an app, travel to different locations to find stuffed animals, then scan a pendant against the stuffed animal to get a digital representation of that animal in their game.

  • What does your project do?:
    The Scavenger Stuffs app is a game where you can collect various types of animals and send them on adventures for set amounts of time. During their adventure they send you updates and in-game rewards. Scanning a pendant against one of the real-life plushes will reward players with more animals.

 

  • Who is your project for? 

The app is designed for age groups between 7 and 20, and parents are also encouraged to play the game along with their children.

 

  • What are the steps that a user would go through to interface with the technology?

The app will be available for download through the Google Play store. Players will be asked to create an account during this process. If a player has a Scavenger Pendent, then can register the name on the pendant to their account, and after that point any animal scanned with that pendent will result in that animal being added to the user account. From that point on, the user is free to roam around looking for and collecting animals, and they can send their animals off on adventures within the game itself.

 

  • What makes your project different from existing products?

Many location/product to virtual pet products have been done before (Webkinz, Pokemon Go, etc.), but none incorporate any technology in their designs other than a phone. Scavenger Stuffs allows for the game and components to be free-standing and cheaply manufactured, which means that players get a physical pendant to own, keep, and personalize at low cost, and locations which house the animal plush get an attraction to encourage visitors.

  • inspiration images/artists/designers/projects that are relevant to your idea

Image result for cool fantasy stuffed animalsImage result for cool fantasy stuffed animalsImage result for cool fantasy stuffed animals

  • digital or scanned sketches of your project
  • a bulleted list of the materials/tools you’ll use/need
    • 10-20 RFID Tags
    • 1 RFID READ/WRITE Module per Animal
    • 1 RaspberryPI Zero W per Animal
    • Fabric + Polyform Stuffing for each animal
    • Pendents to house tags (preferably 3D printed)
    • Unity Software
    • GameSparks Software
  • list of skills/concepts that you will need to master for completion (for example soldiering, sewing, etc)
  • timeline (where you would like to be when in the project)
    • Here are major milestone dates for you to work around
      • Milestone 1 (March 25): Prototype animal design is created and houses a functional PI unit which can communicate with the server.
      • Milestone 2 (April 8): App is developed to the point that the user can receive corresponding animals from scanning pendents
      • Milestone 3 (April 22): App features games and adventures for the user to embark on
  • a fallback plan
    • Worst comes to worst (if the RFID scanning goes poorly), users will be able to scan a QR code posted on the animal to recieve the reward in-game.

 

My idea for a wearable tech project is a mobile game with a wearable component and plushies. The intent of this project is to create a game with wearable tech with dirt-cheap wearable tech components that can be given away practically for free.

The main summary of the game is that users find and collect animals in their game by going to locations with the plushies and scanning their pendants against the plushie’s body to unlock that animal in their game.

This idea can be broken down into 3 components, each of which is considered a milestone:

  1. The Mobile App
    1. The game itself will be free-to-download and will not require any wearable tech (although, most of the fun comes in owning the subsequent wearable tech products). The game features the user having a collection of pets which they send on missions throughout the day. Each mission lasts a few hours, the player receives updates on what their pet is doing (“playing in a puddle, swinging across a rickity bridge, etc.), and once the pet completes their mission they earn some experience points and some small in-game reward (an apple, a trinket, etc.).
  2. The Animal Pendants
    1. Animal Pendants are wearable components of the game. Each pendant holds within it an RFID/NFC tag which contains a unique scannable number associated with its owner. The pendant is used to collect more animals. Because the hardware within the pendant is cheap ($1-2), small (around 1cm), and flexible, pendants can resemble anything ranging from necklaces to earrings to clip-on gadgets. Animal pendants are mainly stylized based on the animal designs and symbols created for the game.
  3. The Animal Plushies
    1. The animal plushies are stuffed animals that resemble animals that can be found in the game. Each of these animals has a RaspberryPI 0 W, an RFID/NFC reader/writer, and a battery within it. When a player scans their pendant against a plushie, they receive that animal in their game and can use that animal for adventuring in the gameplay. Each animal plushie costs around $15 in hardware (excluding cost of fabric/stuffing), and the intent is to market these towards small businesses, museums, libraries and other areas to draw in crowds.

Below are some mockups for the game’s UI and some ideas for the plushie designs. The two plushie ideas that people seemed to really like were a Sheep and an Otter, although close runner-ups were a Corgi and “A Loaf Of Cat”

I feel fairly confident in building the mobile app, and feel as though the hardware components will be rather easy to setup once I have one working model.

I feel like I could use some improvement in setting up the networking aspect of this, as well as the plushie designs.