Exploreians
Discover new places and meet Companions! These Companions can summon anything you need help for later, play games with you, and find new items to level up. This game is great for kids to know they can meet fun friends anywhere!
Companions ruled the planet before the age of humans, but they have been forced to hide out of sight thanks to evil spirits known as Yokai that now roam freely. With the Exploreians watch app, perhaps you can coax the companions out of hiding to aid you in your journey.
Meet the Companions
How It's Played
Load the Exploreians app on the Pebble Time, and the main screen will appear.
As you walk around, your watch will notify you with a slight vibration that a new Companion has been found. The Companion appears depending on your location and the terrain. Press the back button to go back to the main screen and wait for another Companion to appear.
Future Vision
In future versions of the app, you will be able collect a Companion and add it to your collection. A list of collected Companions can be viewed showing you how many of each type you have. Additionally, you will be able to play games with each Companion and use them to fight the Yokai!
Down the road we want to add features like adding challenges where you can go to locations and find 3D companion inspired gear that community members drop off.
GitHub & the Tech
We wrote 2 apps. One in JavaScript and another in C.
Pebble.JS: https://github.com/figmentbml/pebblehack
Pebble C: https://github.com/figmentbml/pebbleHackTake2
We used:
- Thingiverse - 3D printing community to find tons of awesome 3D files
- Lulzbots - 3D print a Foxtrot sample ring
Meet the Team!
Pamela - Design & Marketing
Why: Coming up with the UI design, so it is easy to see new companions. We wanted to create a fun experience for anyone to enjoy!
Challenge: Pebble JS doesn't allow color images for Pebble time. We really wanted to have fun colorful companions. I was able to redesign companions in color last minute.
Solution: Instead of using Pebble JS, we were able to use colored images.
Shawn - GPS SmartStrap
Why: We need to determine the player’s location on Earth in order to figure out what type of terrain they are in.
Challenge: One possibility was to use the Pebble API to poll a connected smartphone for location data. While this was a solution, we wanted the game to be played by anyone who had a watch and not necessarily a phone (e.g. children).
Solution: We designed and made a prototype GPS SmartStrap with an Arduino Pro Mini and Flora GPS module. The SmartStrap allows the app to be played independently of a smartphone.
Beth - UI
Why: Because every game needs a way to interact with the player!
Challenge: This was a great time to get familiar with the Pebble watch and its UI possibilities. We initially used Pebble.js to build the game, but needed to switch over to C late Saturday night so our biggest challenge was rewriting UI hours before pencils down.
Solutions: Between Shawn’s knowledge of C and my limited experience with the Pebble API, we busted out a proof of concept.
Andrew - Land Cover Data
Why: Part of our story is to explore the world around you and what better way to explore then by traveling to places that have water, trees, farmland or even urban areas?
Challenge: Using your GPS location get the land cover for the area you are in proved to be rather difficult as there are very few providers of this data and none had a simple API to query. The best data provider allowed you to pass individual coordinates in a CSV file and get a CSV back with the land cover data appended. We also wanted to keep everything on the watch and not use the internet to make an API call somewhere so having the ability to download and store the land cover data would be ideal.
Solutions: For the hackathon we created a grid of GPS coordinates covering Boulder that we uploaded to the data provider to get the land cover data. We then had to convert this data into a usable format for both speed and file size. Since we originally were using Pebble.js we converted this grid into a multi-dimensional JS array. We realized that Pebble.js wouldn't suit our needs so we had to convert it again to a C array.
Comments
Please log in or sign up to comment.