Inspiration

One night last semester, my groupmates and I were deep in the thralls of a CMSC351 homework assignment. As we computer scientists are wont to do, we decided to take a break. We wound up playing a game of GeoGuessr, and after we spent an hour tracing highways through rural Norway, searching for our location, we joked about makng a version of this game for the campus where we spend all of our time. Unfortunately, we didn't have much time to give this project the love and attention it deserved, and so when BitCamp sign-ups opened, we knew what we had to do.

What it does

TerraPinned is a simple, but surprisingly in depth game. When you press play, you are virtually transported to an iconic (or at least iconic in our approximation) location on the University of Maryland's fine campus. You are given a 360 degree view, and tasked with locating where exactly you are. You enter your location by dragging the pin on the map to the appropriate location. When you are confident in your answer, you can lock in your answer and you will be rewarded with points appropriate to how close/far you were.

How we built it

We used Node.js and React to build a functional website. We used Github to version control, and Python for various simple scripts throughout. We also used the Google Maps API for the map components and Panolens for the 360 virtual camera.

Challenges we ran into

None of us are experienced with React, Node.js, or even Javascript. As with any learning process we learned through failure. Lots and lots of failure :). We ran in to issues constantly, about concepts that normally we wouldn't find very challenging. For example, we spent a few hours stuck on accessing a JSON file in Javascript. Moreover, we struggled with where to host our project. We registered a website with Domain.com, and served it through a Github Page, but we had a lot of difficulty dealing with DNS connections and size constraints.

Accomplishments that we're proud of

Our goal was to learn something new and make something fun, and we feel that we succeeded on both accounts. We all are now intimately more familiar with the Javascript web development platform, as well as HTML and version control. We also made a project that we are proud of, that met the criteria we wanted to hit. We're also proud that we didn't give up. We worked all day and all night, and though we got discouraged, we powered through.

What we learned

We learned intermediate web development with Javascript and React. We learned how to divide work to suit each of our skills. Finally, we learned how to persevere, and that though sometimes you can feel discouraged, the joy of succeeding at something difficult is unparalleled.

What's next for TerraPinned

Ideally, we'd like to make the interface a little cleaner. We'd like to add loading screens and a nicer UI. Moreover, we'd like to add more locations, and maybe some vertical functionality. Currently, the game doesn't account for height (I.E. the fifth floor vs the second), and we'd like to change this.

Share this project:

Updates