Addagrams is a tile-based word game on mobile focused on giving players the creative freedom to rearrange
the letters into the words they can come up with in their own vocabulary.
Game Programmer
Team Size: 2
Scale: Mobile Game
Development Period: March–August 2023
Tools Used:
C#
Unity
Git
Firebase
Atlassian
Features
- Word tile gameplay that allows the player to solve anagrams with their own vocabulary.
- Procedurally generated puzzle library.
- Powerups to give hints help players spot word pairs.
- Customizable avatar tiles to represent oneself.
- Leaderboard where players can show off their smarts and personality, and pin favorites/friends to the top to compare faster.
- Multiple difficulty levels keep pace with players' progress.
Contributions
- Rearchitected the tutorial system and instructions to close down on iteration time.
- Remote Config for Ad graceperiods and chances pre and post game.
- Halved file sizes and decreased read time of puzzle data by converting from JSON to binary.
- Integrated packages for In-App Purchases and sharing.
- Rebuilt the pop up system to use a stack so popups wouldn't overlap or break an information flow.
- Deeplinks for possible friendlies leaderboard & friending.
Development of Addagrams
“Chat with Nicholas Perell for an hour and you'll find he's a bright, dedicated,
and empathetic team member willing to jump in head first to get the job done. After working with him ... my only regret is that
I couldn't keep him for longer. You'd be wise to scoop him up.”
Noah Rosenfield, CEO of 1Ton Games
I was contracted by 1Ton Games to get the game ready for release. I refactored existing architecture, and implemented new features in
collaboration with Design. Addagrams launched May 2023 on both Android and iOS, garnering 5K downloads in
the 1st month.
Noah and I first met at my first
NYC Indie Games Social back in 2023. We hit it off pretty well and we enjoyed hearing eachothers' little "war stories" and lessons from past endevors in game
development. It turned out Noah's latest endevor at the time,
Addagrams, had been cooking for a while. The
game loop was figured out, and the demo I and others played at the social was awesome. There was just a lot to the "meta game" on the
phone in terms of menus, popups, game modes, and IAPs that he was still struggling to get over the hill of.
We kept in touch and reconviened the once-a-month at the socials to ask how projects were going on both our ends. I guess I was personable
enough, because (to my delight and fortune) Noah took a chance on me; contracted me to work with him from the programming end so he
could focus more on the design.
Our first sizeable undertaking was the game's tutorial. Noah had ideas for how to improve the tutorial significantly, but he wanted an
approach that'd avoid any sort of almost-copy scripts for tutorial-versions of the gameplay systems nor needing to jump into the code
for every tweak to the tutorial flow.
Mocks ups Noah provided:
Looking through his mockups for the new iteration and discussing with him some future tweaks we could forsee, I broke all the parts down
into the categories of "requests" which the tutorial would apply to the base game and "reports" coming from the base game that might cause
the tutorial to go onto the next step.
By structuring each step as a list of requests and a list of reports, the tutorial steps became easily reoderable and adjustable.
Extra programming would only be needed for new reports or requests unused elsewhere. We iterated on the tutorial many times, and the
approach minimized additional programming for the feature.
There also were parts to the base game I had a hand in. The "reveal" power-up, the "NEW LETTER" pop-ups, and the chance to offramp
after round five by framing the four afterwards as bonus.
I integrated packages and APIs to achieve the "meta game" features. For having a classic mode for the users to play a game of Addagrams, I recreated the algorithms initially made using TypeScript in C#. I halved file sizes and
decreased read time of puzzle data by converting from JSON to binary, and created an algorithm for traversing the data to generate a
puzzle when players pick classic mode.
After the launch in May, I worked on some further refactoring so Noah could possibly use some of these systems in future mobile games.
Upgraded the codebase's means of reporting events and requesting actions. Implemented and taught the client about C#'s built-in event
syntax for reporting. Adapted the service locator and command design patterns for where there was requesting (i.e. pop-ups and analytics).
The game had a table at 2023's PlayNYC, showing off the newly released app. I said hi to Noah, we caught up, and I subbed in to run the game's
booth a little near the end so he had a chance to walk around himself.