The Daily Grind Dev Diary

Grindstone

Grindstone is a puzzle game where epic adventures are just your 9-to-5. It’s your job to mine grindstones from the Creeps that lurk on the mountain in over 250 levels of intricate puzzles and hazards, all in the hopes of saving up enough grindstones to take your family on a much needed vacation.

With the launch of Grindstone on Steam, we wanted to take some time to write up a bit of the process and design intent behind all three Daily Grind modes, with a special focus on the Fortune Grind! CAPY’s Kaitlin Tremblay sat down with lead programmer Ken Yeung and artist Vic Nguyen to talk game design, programming, art, writing, and the special anxiety around shipping a leaderboard. [h1]The Daily Grind[/h1] [img]https://miro.medium.com/max/700/1*MpoOu1M4XOvbMEY3HuE2wA.jpeg[/img] The initial idea for Daily Grind happened pretty early on. According to programmer and lead designer on Daily Grind, Ken Yeung, the idea for it came about right after Grindstone was initially launched in the fall of 2019. Ken explained that everyone on the team always wanted a horde or endless mode for the game (and, to be fair, talk of a “true” endless mode is still a common topic of conversation amongst the Grindstone team). The desire for an endless mode was focused around a simple idea: a way for folks to jump in and play, and jump out, without worrying about level progression. So for this new mode, there were two main approaches the team considered: 1) grind for resources or 2) a ranked mode. Part of the decision that led to a ranked mode was that a resource grind mode would have a big effect on the economy of the game, and Grindstone really wasn’t designed with major resource sinks. That led the team to deciding on a ranked mode: a mode that didn’t have an inherent ceiling and could continually grow and expand as the game’s brand new live update cycle progressed. This also gave the added benefit of providing players with more ways to choose what they wanted to do in any given session. Grindstone was a linear game up until this point, so the inclusion of daily modes helped break that linearity up. Okay, so the team had a pitch: a ranked mode with a daily leaderboard. Now the question was: how do we communicate this to the player? Specifically, the team made the decision to not let players keep the resources they obtain during their Daily Grind runs. The reasoning for this is two-fold: 1) there isn’t a huge resource sink in the game, and 2) players don’t use their own gear in Daily Grind. So keeping resources from the ranked competitive mode would unnecessarily impact the balance of the main game progression. And not to say that we didn’t want to encourage the difficult competitive mode as the place to spend your time grinding. In order to explain this to players, the idea that players were making an offering of their resources was suggested, and ultimately, agreed upon. Since the Daily Grind would, by definition, sit outside of the core progression up the Mountain, it needed a separate home. It didn’t make sense to put it on the Mountain itself or in the Howling Wolf Inn, since both of those areas are strictly bound up with the main progression and resource loop of the game, and the Daily Grind was explicitly different and apart from this. Not putting it on the Mountain also directly helps counter the linearity of the game. This need, plus the concept of players providing an offering of resources, led to the idea of religious offerings and that, in turn, led to the idea of the “Sword Church”, a bloody place of worship for stonegrinders who show devotion through sacrifices of guts and grindstones. But if there was a Sword Church, then there needed to be a Sword Priest, and Jjertrude the Jlorious was born. [h1]Meet Jjertrude the Jlorious[/h1] [img]https://miro.medium.com/max/700/0*SpVUFf8qBBBfEOU2[/img] Enter: Jjertrude. At first, Jjertrude was just named the Sword Priest and was originally considered to be a nerdy Star Wars fan. The idea that this character would be a self-effacing “well, actually”-type character made artist Vic Nguyen think of his son (lovingly, of course!). According to Vic, his son was three-years old at the time and “there’s no one more confident and kind of a know-it-all than a three-year-old.” So Jjertrude’s attitude was locked in, channeling all the confidence and bravado of a toddler. [img]https://miro.medium.com/max/700/1*1q-F7yXVyi1vOLc0bIze9A.png[/img] Throughout iteration, the Sword Priest didn’t remain a fandom nerd. Vic changed her to an older woman of colour, because he wanted to increase representation for people often not seen in the games they play, and a new NPC in the world of Grindstone was one way to help do this. This led Vic to designing Jjertrude as the bravado-dripping elderly stonegrinder we know today, complete with her perfect pageboy haircut and her perpetually runny nose. Even Jjertrude’s runny nose was inspired by Vic’s son. “As creators I think we often try to sneak things into our work that inspire us in our personal lives,” Vic said. “My son goes to daycare and has a perpetual runny nose. That’s where my mind was at while we were conceptualizing Jjertrude.” And there’s nothing more charming than a confident, slightly condescending elderly woman chastising you while wiping her nose with her hand. So when I joined to write Jjertrude, I looked at the concept for the Sword Priest, I knew a few things off the bat: I knew she’d be the NPC representing the competitive mode, and that we all wanted her to be incredibly capable, revered, but also a bit of a jerk. This made her voice pretty easy to identify, but extremely difficult to write. The idea for her voice and characterization didn’t really stray or divert too much during development. We wanted an NPC who would goad, taunt, and generally challenge players to compete in the daily modes — but the trick with writing Jjertrude was she couldn’t be mean. We didn’t want Jjertrude to be a bully; just sort of a condescending aunt who thinks she’s the best and that others can only hope to aspire to her level of greatness. So a lot of her initial dialogue went through what I referred to as the “meanness” pass: I wanted her to taunt, but not be mean, so I ran each initial line of dialogue by quite a few folks on the team to make sure her voice was hitting that difficult-to-find mark. So with her voice and concept settled, she needed a name. “Sword Priest” was good, but we were in the midst of providing all characters and enemies proper player-facing names, and Sword Priest was no exception to this rule. I originally named her “Prayr”, but it just wasn’t clicking. “Prayr” was intended to follow in the naming convention of Lagr (the owner and bartender) and Knifr (the blacksmith), but something about “Prayr” just wasn’t hitting the right tone. It was pious in a way that didn’t fit her persona. So game director Dan Vader and I went back to the drawing board. Naming Jjertrude was ridiculously fun. Grindstone trades in linguistic blasphemy, by throwing in errant “j”s, umlauts, and generally whatever nonsense we can think of to undermine the ability to reliably pronounce a single word. So we knew there needed to be lots of “j”s. At this point, we had Jorj and we had Jjary (is it pronounced Gary? Jerry? It’s a choose your own adventure of pronunciation, really), so we started by just googling femme names that started with a G, knowing full well that G would become a J. We tossed around names like “Jloria”, “Jjill”, “Jjeena”, “Jjylian”, “Jjwendoline”, and “Jjoldie Jhawn”. But Dan Vader hit upon “Jjertrude”, and we both really liked “Jjertrude” and “Jloria”, so Prayr née Sword Priest became Jjertrude the Jlorious and we never looked back. [img]https://miro.medium.com/max/700/1*pxKWZlW6K0QSbDYchXTlMg.png[/img] Then it was onto deciding what the look of the church and shrines would be. Even though we were launching with only Greed at first, we knew we wanted to visually differentiate the different modes that we would be later adding in our live roadmap. This led Vic to creating statues as a way of indicating which mode you were playing. Originally for these statues, the idea was to depict some old, mythical stonegrinder, one that Jorj and other stonegrinders would revere or aspire to be like. But the idea transformed to tying that statue to an actual character in the game, and there was the answer: the statue should be of Jjertrude! She thinks she’s the best stonegrinder around, so of course the shrine statues should be of her excelling at that particular type of offering. For Greed, Jjertrude is gorging herself on grapes, resting atop some grindstones. For Quick, Jjertrude is the epitome of fastness in her sneakers and runner’s pose. And for Fortune, Jjertrude is showing her range in a bow tie and suit, the ultimate game show host. [h1]The First Two Modes: Greed and Quick Grind[/h1] The Daily Grind was created with its first mode, Greed Grind. Greed Grind was essentially just the initial idea of an endless mode, but with a cap. So players would progress level to level, with each subsequent level getting harder and harder, but with the difficulty offset by providing the player with a gear choice in between each level. The rules for Greed were essentially the exact same rules as the main game: create chains, get grindstones, kill enemies, and escape through the door. According to Ken, “Even the name ‘Greed’ essentially was just naming the default way of playing Grindstone”. Grindstone relies on a risk/reward tension for maximizing how well you do in each level, and “greed” is often the term applied to this type of behaviour. Are you greedy enough for grindstones to stick around well past clearing the level goal? Then there’s a chance of high reward, but it’s not without the risk of losing it all as the board gets more difficult to navigate safely. But further into the development of Greed Grind, the team realized that because it’s a ranked leaderboard mode, there needed to be a scoring system. The introduction of a scoring system immediately made the mode play differently than the rest of the game. You weren’t just gathering resources and collecting grindstones. You were trying to get the biggest chains possible as an end unto itself, to fully clear the board of jerks to convert their guts into points, and on top of that, trying to avoid getting hit to preserve your hearts to survive the difficult mode, but to also have all your hearts add to your final score. So by necessity we were now introducing external rules to how Grindstone played in the Daily Grind mode. “New rules meant there was some freedom to change up the concept of how Grindstone plays a bit,” Ken explained. And these different rules gave rise to the three mode ideas: Greed, Speed, and Power.” [img]https://miro.medium.com/max/700/1*KWo3OPmWhqiLHy7MUzQUwQ.png[/img] Greed, more or less, shipped pretty much how it was envisioned from the start: a difficult, 4-level ranked mode, where players were scored based on a variety of factors, with the amount of grindstones obtained, doors opened, and hearts retained weighted the highest, but with things like jerk and creep kills scored to provide minute differentiation between the top scorers. But obviously Speed and Power didn’t ship as either Speed or Power. Speed changed to Quick Grind. Quick Grind was built to be played quicker than Greed Grind, because while Greed was a lot of fun, it could take awhile to complete a run and the team wanted to introduce a mode that allowed for shorter play sessions. During the development of Quick, various countdown-type mechanics were discussed. Should the mode be about counting down time, moves, or kills? What were the merits of each? What were the blockers of each? Which one was actually fun? Eventually we settled on moves, because time itself felt too cumbersome with the length of animations (and we didn’t want to penalize players who wanted to spend time strategizing about board management). Kills were already inherent to the scoring system for Daily Grind, so that didn’t feel different enough to warrant its own mode. So that left moves, then. We tested out the idea that you get 10 turns to score the highest, using the same scoring system as Greed — and it was a hit! It was quicker than Greed but it was challenging, because with only 10 moves, every move counted. And due to the fact that a run typically took about 10 minutes (compared to the 45-minute plus of Greed), replaying to maximize your score was a lot more feasible with Quick. [img]https://miro.medium.com/max/700/1*i2aYT4ojLP55CeI2pukM9w.gif[/img] And then there was Power Grind, a mode which, admittedly, none of us knew what it was going to be about until we started prototyping it in the winter of 2020, almost a full year since the launch of Grindstone and the initial concept for Daily Grind. [h1]The Third Mode: Fortune Grind[/h1] [img]https://miro.medium.com/max/700/1*hoayxh1qTFaxmChvaU11yA.jpeg[/img] When we first thought of the Daily Grind modes, we always pictured them as a trifecta: Greed, Speed, and Power. So the initial idea for this third mode was based on the idea of power, or how hard can you hit something? Beyond just the vague idea of “power”, we wanted it to feel very different from the previous two modes. So what was a mode that was based on power (aka how big of a chain can you create to hit something), and that didn’t resemble either Greed or Quick? We had, honestly, a few ideas, but mostly no idea at all. Some very early art concepts from Vic included a heavy gameshow vibe, and we were playing with different ideas, such as, “How much power can you smash a box with?” or “Choose a door, and see what’s behind it!” or “Spin the wheel and see what you get!” All of these ideas felt really fun, and were really visually distinct, so we were all immediately sold on that theme. [img]https://miro.medium.com/max/632/1*XKx14C-e3qSBcA5S-dL3DA.png[/img] [img]https://miro.medium.com/max/700/0*rOLHh_YDROPK8T3G[/img] Another idea that sprang up from early discussions and concepts was letting the player’s choices affect the level itself. So if players were trying to hit a box or a door or a wheel with a big chain, maybe how hard they hit it could decide how many enemies were spawned onto the board, or what gear they got, or what level hazards they had to navigate around. This idea of a surprise consequence or reward felt like a really natural fit with the new gameplay mechanic of letting the size of your chain result in a different effect. The initial prototype of the wheel spinning idea sparked a lot of discussion with the team. It opened up a debate of how random a ranked leaderboard mode could and should be. We were really hyper focused on solving that central question: Could a random wheel spin be a fair and competitive game mechanic? Initially, we designed against any randomness at all. However, after some playtesting feedback came back, the strictness of it wasn’t quite working. It wasn’t fun and it was confusing. Were we overthinking it? The main feedback we got was: there’s a giant wheel on the board and hitting that should be fun! But it wasn’t. Not yet. Everything we did to try and fully control any bit of randomness was starting to get in the way of how much fun it is to just hit a giant wheel really, really hard. So we changed course and re-approached the design around this idea of letting some randomness back in with the wheel spin. This got us to a place of: every player starts the mode with the exact same enemies, hazards, and rewards on the wheel. But the amount of each that you get is determined entirely by how big of a chain you hit the wheel with! So a 10 chain is only going to give you a multiplier of 2, but a 20 chain will give you a multiplier of 4, and so forth. The goal is that more enemies will net you a higher score, but will be a lot harder to contend with. Then with that decided, it came down to balancing: how hard is this, what enemies make it too hard, how many wheel spins should each player have before they have to smash the wheel to exit, etc. [img]https://miro.medium.com/max/452/1*tZ4nPNNwR4ZHlHD7tgEE0w.gif[/img] This was a lot of fun! But it did mean that the rules of Fortune Grind became vastly different from how the rest of the game works. Most of Grindstone’s existing levels didn’t function well in this mode, because they were designed with a specific number of enemies and hazards in mind. Fortune Grind, necessarily disrupts this, because the number of jerks and such on the board are entirely in the hands of the players. So levels had to be exhaustively hand-picked from the game, and new code was added that could manually tweak level parameters on the fly in order to make sure all the selected levels worked well in this mode and weren’t too hard or too easy. But there were more wrinkles. Because of the random nature of the Fortune Grind Wheel, we couldn’t fully predict what sorts of enemies and hazards would be mixed together in a level. In the main game, most interactions between enemies and objects have to be individually crafted to best fit into the rules of the puzzle system. However, with Fortune Grind, there were certain combinations that were never encountered before. Most of the time this resulted in obviously buggy behaviours, like, what would happen if a Vine Hjeart started to grow on a conveyor belt? Well, it continued to grow, but it broke apart from its body, like a bisected worm (which, admittedly, sounds cool as heck, but just looks broken). Or, what happens if a lot of tombstones spawn? Will players ever be able to get a big enough chain to destroy the tombstones if the level itself has too many indestructible items in it, limiting movement? In the end, we caught and resolved a lot of problematic interactions from extensive playtesting amongst the team. Each day most of the team would play the seed for that day, log any bugs, discuss design iterations and balancing tweaks, and of course, try to outrank everyone else on the leaderboard. And we’re all really happy with the final result! Fortune Grind is bombastic and fun, and we’re all really proud of how it turned out. We even made a ridiculous trailer for it (the temp version with game director Dan Vader putting on his best gameshow host voice is, unfortunately, lost to the sands of time now). [previewyoutube=2wmfFOimM7w;leftthumb][/previewyoutube] [h1]Final Thoughts[/h1] Everyone on the team has had a lot of fun with the Daily Grind. When initially prototyping Greed Grind, everyone would play, taunt each other’s position on the leaderboard, and have in-depth discussions about the fairest scoring system, what was working, and what wasn’t working. Everyone was invested, and more than a year later, still are. “A lot of people on the team are constantly watching the leaderboards and cheering on their favourite players,” Ken said. “And that’s really cool.” (Please, if you are elenianag, we want to give you t-shirts and stickers!) According to Ken, it was also the first time CAPY did this type of leaderboard, with a strong dedicated scoring system to handle multiple versions, modes, and days, and it was a bit scary from a technical perspective. But overcoming the fear paid off! “Being able to stare at the exact number of people playing each day is super interesting, but also totally nerve-racking!” It’s been enormously fun to see both fans and team members get really hyped and invested in the social aspect of a leaderboard. Some team members are still always playing and chasing the leaderboards. We’re also curious to see what scores players are posting and trying to, often unsuccessfully, figure out how they’re able to double, or even triple, the highest scores we were able to get as devs. And that’s really cool, because it’s always good when your players kick your butt at your own game.