Platform: iOS, Android
Released: July 2021
Built in Unity
Website: https://www.shankstars.com/
Responsibilities:
-Designed progression and difficulty for singleplayer campaign
-Designed content and systems for seasonal events, battlepass, and periodic gamemodes
-Designed achievements and daily tasks and adjusted requirements and rewards to match intended progression and playtime
-Created 10+ new PvP levels intended to increase player choice and variety of approaches
-Redesigned and balanced 20+ character stats and abilities
-Wrote documents, features specifications, proposals, Jira tickets, and bugs
Devblog
While initially hired as a game balance tester, I ended up taking on additional game design responsibilities and eventually transitioning to associate game designer. I started out playtesting levels and characters and giving feedback to level designers about difficulty and enjoyment while adjusting the power of character abilities. Afterwards, I started designing and writing specs for some small features, like an UI element that shows players how a shot is affected by wind, scaled to a stat so it can be a tuning lever for characters.
Character Abilities
Eventually I was tasked with redesigning character to have three abilities instead of two. For this task, I first created three design goals, in order of priority: abilities should synergize with each other, abilities should be thematically cohesive with the character, and abilities should allow for multiple different uses. This ended up being more difficult than expected, as golf was pretty restrictive for designing abilities. While my design goals were only partially met, as consolation I did at least ensure that all abilities were unique in some way.
Campaign
Next up was designing the singleplayer campaign. The campaign needed to be a sequence of nodes on a visual map, not unlike in Candy Crush or AFK Arena. Nodes were made up of a group of levels played in sequence. I played through all of the levels and recorded how difficult they felt and how powerful I would recommend characters to be to beat the level. Then, I used this information to create nodes that both gradually increased in difficulty and recommended character power level. This meant that players would have to slowly upgrade their characters in order to proceed farther along the campaign. Since levels were eventually repeated, I reduced the required number of strokes to reach the hole in later repeated levels to increase the difficulty and required character power without having to make expensive level changes.
We had a limited amount of actual levels, and making new levels was expensive, I had to find ways to stretch the limited amount of content to match the amount of playtime that our product managers wanted. This involved making various different groups of levels. I decided to further group nodes into multiple “worlds” and gave each world a gameplay theme. My aim was to increase the feeling of variety by having each world feel a little different in gameplay. Additionally, it would also let me rotate which archetypes are required, allowing players to build and upgrade characters of certain archetypes in sequence rather than all of them at the same time.
To reduce the feeling of repetitiveness, I tried to maximize the time before levels were repeated. Unfortunately, due to the requirements and available levels, the campaign ended up being quite grindy and repetitive. I later proposed a weather system that would allow me to add various gameplay modifiers to nodes that would change the way levels in the node played, however that never got implemented due to the team working on higher priority features.
Achievements and Daily Quests
I also worked on several features designed to drive long-term engagement: achievements, daily/weekly quests, and seasonal events. I designed achievements to have a spectrum of easy to hard tasks but not too hard to ensure most casual players would be able to complete them at some point. Our product managers wanted achievements to give a continual stream of premium currency that started with a burst and decreased to a trickle over time. This would entice players with a lot of freebies at the beginning and serve as a way to steadily gain resources over the long run and encourage players to play more. As a result, I decided to make most achievements have levels where completing the achievement unlocks the next level, with a higher requirement to complete. By making these levels infinite, and having the requirements scale up to a cap, these achievements will naturally create a curve of currency income that was requested.
Furthermore, I tuned the exact requirements and rewards of each level to match our product managers’ desired currency income over time, based off of the estimated gameplay of an average player. Tuning achievements’ first level to be easily completable led to a different problem where players would get overwhelmed by multiple achievement completed popups after completing an early level. I re-tuned early achievement levels to be more spread out based on expected gameplay so there would be less chance of multiple achievements getting completed at once.
For daily and weekly quests, I decided to have tasks that were easy and quick to do, including a task for just logging in. The goal was to use daily quests as a way to encourage players to build a habit of opening the game and playing a level or two every day. Dailies were also designed to function similarly to achievements so the team could re-use code from achievements for this feature. Instead of also having weekly quests, I made dailies reward progress towards a reward track that resets weekly. The reward track only required 5 days worth of dailies to complete to give players the flexibility to miss a day or two. I chose a weekly reward track instead of having weekly quests to avoid having too many tasks that would overlap between dailies, weeklies, and achievements. A weekly reward track still helps give players a longer-term objective to work towards and is also better time-gated, preventing hardcore players from completing the weekly objective too quickly.
Events and Battlepass
Product managers wanted to run an event every month for engagement purposes, so I designed the seasonal event system. I brainstormed with other designers a holiday or theme for each month’s event to tie in-game events to real life events. Furthermore, due to limited engineering time available for this feature, I designed the feature to re-use the achievements and daily task system. Seasonal events were designed with a list of tasks that unlocked over the duration of the event and a seasonal store that gave out materials, gear, premium currency, and even new characters and skins in exchange for seasonal currency. By having tasks unlock over time, players were encouraged to check in on the event multiple times over the duration. The tasks rewarded seasonal currency so players could choose which items in the store they wanted. The amount of seasonal currency available to be earned was not enough to buy out the entire shop, so players had to prioritize what resources they needed at the time. Each month had a different rotation of tasks and store items to make each event feel different despite its formulaic nature. I discussed having minigames or limited time gamemodes for events, but due to priorities and cost, this was never implemented and the events feature was eventually turned into a battlepass.
The events feature was originally meant to boost engagement, but due to priorities at the time, it was not given many development resources. Since the events feature was not hitting the engagement metrics that the product managers wanted, after development time opened up, the events feature was redesigned into a battlepass. Now, instead of a store, there was a month long reward track and tasks gave progress on that reward track.
Due to their similarities, I combined the daily quest system into the battlepass, so the battlepass had both daily tasks, and longer tasks that unlocked over the course of the battlepass duration. Furthermore, I kept the weekly track for dailies, but it now additionally gave progress towards the battlepass as well. This not only kept the short and mid-term objectives but also tied them into the battlepass, so all the different objectives fed into long-term progress, improving engagement. Putting new characters and skins behind the battlepass also helped encourage players to play more to reach the progress necessary to unlock them. The battlepass was a resounding success, significantly improving overall player retention by over 40% and ARPU by more than 30%.
Monthly Tower
Another feature I worked on was the monthly tower challenge, a gamemode designed as a “chase” gamemode. The goal for players is to reach as high as possible in the tower to gain rewards before it resets. Not only that, but each character had a one use a day cooldown, encouraging players to build up multiple characters within an archetype to be able to progress in the tower faster. The intent behind this feature was to give players a challenge to chase after and encourage players to build up a wider variety of characters.
The tower was made up of floors, with each floor containing a group of different levels, and used the same underlying system as the campaign, in order to save development time. I tuned the floors to increase in required character investment, as well as have multiple floors requiring the same archetypes in a row, to time-limit players and encourage investment in multiple characters of one archetype. I also made multiple different towers with different levels and floors in order to have a rotation to give players variety. Monthly tower was also a success, increasing player retention.
Level Design
Due to one of our level designers leaving, I was pulled to assist our remaining level designer with creating new PvP levels. For these new levels, I decided on two core goals: to allow for player agency and strategy by having paths of varying levels of risk vs reward (i.e. have a path that is risky or requires accurate and skilled play, but confers an advantage), and to try and ensure that players behind still have a chance to pull off a comeback.
As a result, I focused on designing a mix of paths that were shorter but would put you in a bad situation if you weren’t accurate, and wider, more forgiving paths that were longer. I also tried to make it possible to return to the easier path or recover from bad situations within one stroke while still making some forward progress, so that it wouldn’t be an instant loss from one mistake. I learned a lot from our level designer thanks to his feedback and was able to improve a lot, such as improving my use of verticality in terrain to make more varied and interesting shots.