Key Contributions
Reusable Card Prefabs and Util Functions for Crazy 8s and Solitaire
The SparkLabs team had a lot of requests for playable ads in the card games genre. I worked on many card game ads during my time there and was able to develop reusable components that I could carry from project to project.
In this clip, you can see a few of these reusable pieces at work. The card prefab, which includes the card background, number, card back, and overlay, was the baseline for every card game ad. I developed functionality including: flipping cards over, determining which cards could be played based on the current game state, and highlighting "active" cards.
The "PlayerHand" was another prefab that we can see in action here. This prefab determined where and how to display cards associated with a specific player. In the example video, the PlayerHand is being leveraged to position the cards on the screen and update the position when new cards are added or removed from each player's hand.
Another reusable system that may be less obvious is the "inactivity modal". This is the hand that points to cards & ensures the user stays engaged with the ad. This specific ad was a "fixed gameplay" ad, which means that the player only ever has one allowed action at any point (even if it doesn't look like it). I will talk a bit more about fixed gameplay in the following section.

Fixed Gameplay Boilerplate
One of the most common types of ads that we had was "fixed gameplay". These ads are essentially tutorials for the actual game. At any point in the ad, the player has only once choice to make and we just need to make sure that they are properly guided through their journey.
These ads often require very similar functionality from ad to ad. The requirements of the ad were frequently a series of tutorial steps and events that happen once each step is complete. Due to this consistent nature, I was able to build custom scaffolding to support making these ads much more quickly. In this case, it was in the form of boilerplate code rather than prefabs.
The boilerplate for fixed gameplay ads was a list of information about each tutorial step, a "showNextTutorialStep" function, and a "progressToNextTutorialStep". These functions provided a great jumping-off point for each fixed gameplay ad and allowed me to make much more rapid progress than if I had started from scratch.

Joystick Prefab
Joysticks were another mainstay among playable ads. We had many, many different kinds of Joysticks across our ads, and I modified our existing Joystick prefab to support another type of Joystick.
Typically, our Joysticks were always absolute in the sense that if you were holding to the left, you would move to the left. In the example here, you can see that the Joystick is closer to relative positioning.
This supports players feeling more closely tied to the experience of dodging objects as they approach the ramp. Moving the Joystick to a specific spot on the x-axis will result in your snake ending up at that exact spot.
This was feedback given by the design team during the development of the ad. I had to think on my feet and update our existing code to support this new behavior. Moving forward, if anyone wants this behavior for a playable they are working on, they will be able to do so with the Joystick Prefab.

What is SparkLabs?
SparkLabs is AppLovin's in-house creative agency. While working there I was a Gameplay Developer who worked exclusively on developing 2D creatives for third-party vendors.
What Did I Do?
While at SparkLabs, I worked as a Gameplay Developer using the Phaser game engine to bring design mocks to life. For each project, I had 3 to 4 days to go from mock to completion. During that time I had to complete the development of the project, go through QA with the devs to find and fix bugs, go through QA with designers to ensure the playable fit their vision, and resolve any issues brought up by the client.
I enjoyed my time at SparkLabs because of the high level of collaboration between designers and developers. I had a lot of freedom to suggest improvements and make design decisions. These improvements ranged from small visual tweaks to core gameplay changes. Because of the quick project turnaround, I was able to rapidly learn ad creative patterns and see what worked and what didn't.
I worked on a wide range of creatives from card games to tower defense to match three. Throughout all of these creatives, I was able to build out a suite of utility functions and reusable prefabs to speed up my development speed. During the first nine months, I was able to deliver over 30 creatives, (many of which can be seen in the attached video) at an incredibly high-quality bar.
Ethan's SparkLabs Work Showcase (LOUD VOLUME)
All product names, logos, brands, trademarks and registered trademarks are property of their respective owners. All company, product and service names used in this video are for identification purposes only. Use of these names, trademarks and brands does not imply endorsement.