Squatingdog

The Unofficial Fortnite Companion App

About The Project

Famous Fortnite streamer Squatingdog has been providing challenge maps to his followers for a long time. With his new app, the same maps are interactive and have a lot more features. Built from the ground up for Fortnite Battle Royale players, this app is updated weekly. Users are able to find everything they need to complete the challenges. With a 4.5 rating on Google Play and a 4.9 rating on the App store and thousands of reviews, we are particularly happy with the positive feedback we've had from users on this app.

Category

iOS/Android App

Industry

Gaming Reference

Services

Staff Aug, Web Dev, DevOps, Project Management

Challenges

One of the challenges that we prepared for was scaling the app smoothly as the user base joined and grew. With the launch of the app we knew that we needed robust systems in place to handle a large influx of users. For that reason we used Heroku because it has autoscaling.

In order to optimize the performance of the app, we switched from rendering all the markers within the frame of a user's view to rendering only those markers that are where a user is zoomed in on the map. Which markers get displayed is determined by how close that marker is to the center of a user's zoom point. It is the type of solution that is simple and easy for computers to implement and helped a great deal with the performance of the app.

Another feature that we are proud of is tracking the user's navigation history. When the app was originally released, it became clear that this was something the audience wanted! Based on how a user drills down and clicks on an item on the menu or a marker on the map, the back button takes you up the hierarchy of the item's category not back in history. This allowed users to navigate the menus more cleanly as well as keep track of the challenges more clearly. For example, if you go back and it happens to be a marker, it will automatically take you to the marker's location.

Technology

As with many of the mobile apps we work on, we built this in ionic. Ionic was capable of
handling all the features we needed to build, while also keeping the budget lean. With Ionic we can use a single codebase to deliver the app both to Androids and iPhones.

A main aspect of the app is rendering the maps for each season. We chose GoLang for the map tile server because it is fast, especially as a webservice. In combination with that we used the library Mapbox GL, a JavaScript library that uses WebGL to render interactive maps from tiles. We convert a single image of a map into a tileset composed of smaller images called raster tiles. The images get rendered as you zoom and out, providing the user a smoother experience as they interact with the maps. We built an admin side to the app where each map can be uploaded and activated for each new season. Perhaps one of the coolest pieces of technology we leveraged was an open source software called GDAL which  converts a standard image of a map into the raster geospatial data we need for WebGL.

We used Node to handle the thousands of concurrent users. Node is able to handle requests asynchronously, not waiting for each request to complete before moving onto the next. Instead it processes all requests as they come in. Our database is MongoDB with Redis for cache to help with the number of requests made.

Kick Off Your Project

Supercharge your already existing team or build your team with us. Diagnose the skillsets you need from design, to frontend, to backend, to devops, to project management.