Threes

Threes is a tiny puzzle game that grows on you.

Threes Promo Art

In Threes, your goal is to combine numbered tiles by swiping them into one another to create the largest number possible. It sounds simple…but it’s also difficult and wildly addictive! Threes combine to create sixes, sixes create twelves, twelves create twenty-fours…can you achieve the max score of 1,594,323!?

Threes is available on the Apple App Store, Google Play, and Xbox One.

Development

Threes Gameplay

Threes was developed by Asher Vollmer and Greg Wohlwend for iOS. After the success of Threes on iOS, Hidden Variable helped support the game by adding new features and platforms.

I was initially responsible for porting the game to Android, which mostly involved integration of Android variants for things like leaderboards, achievements, cloud saves, and metrics. However, I also helped implement some more involved features that are worth highlighting.

Localization

When the desire to localize Threes arose, I was ready with plenty of context and pain points I had noticed while localizing our previous titles. Based on that past experience, I developed a localization framework that was streamlined, flexible, and easy to use.

First, the pipeline of storing localized data and getting it into game was simple. Localized data was stored in a Google Sheet, which could be easily shared with localization partners. To get new data into the game, we would simply export to CSV and then use an import tool in the Unity editor. This workflow worked well and allowed us to share translations with localizers, collaborate in real time, and update the in-game translations in a fairly automated way.

The system could support any localized text element by attaching an additional “LocalizedText” Component to any Game Object in Unity. The system was extendable to support any localized thing - for example, a “LocalizedTexture” or “LocalizedAudio” Components could be easily created too.

To assist in testing, this system also allowed previewing the text in any location in-editor. On a per-label and per-language basis, attributes such as text size or placement could be overridden. This system even supported Arabic and other “right-to-left” languages.

This system was a great success on this project, and a similar one has been used for future HVS projects.

Xbox One

Surprisingly, Threes was released on Xbox One. The impetus for this was the now-defunct snap mode, which was an excellent fit for a game like Threes. But even with snap mode gone, the game is still on the Xbox One store.

For this version of the game, I was responsible for implementing various Xbox features, such as leaderboards, achievements, controller tracking, player profiles, and rich presence. It was also a great opportunity to get familiar with Xbox dev kits, deployment to dev kits, and the Xbox ecosystem.

Night Mode

For those who couldn’t get enough Threes, it was sometimes a bit harsh on the eyes when playing in bed! I helped implement “Night Mode,” which allowed you to play the game with darker UI elements.

While this ultimately boils down to an asset swap, there were some challenges to getting it working and shippable. We made use of Unity’s resource system to dynamically load assets depending on the day/night preference. Due to memory constraints, we also needed to be careful to unload unused assets when performing the swap at runtime.

Freeplay

Threes was quite popular, but it was a premium game, which limited its exposure. To help with this, we created an acclaimed ad-supported version that carefully balanced player experience against the unpleasant, but unavoidable, need to show ads.

Our solution was to always have players opt-in to viewing an ad. Players could watch an ad to obtain “tokens,” which could then be used like a coin-operated arcade machine to play a round of the game. I helped integrate the advertising SDKs and implement the logic for tracking and using coins.

Conclusion

When Threes launched, it was a massive critical and commercial success. For my part, it was absolutely thrilling to be involved in the ongoing development and upkeep of Threes. It was exciting to work on a game that had proven to be so popular across the spectrum of gamers.