Run a Cow Daycare! (LD51 Postmortem)

Moo Moo Care

This was my first time making a pico-8 game, it was really fun! Try your hand at helping Lorelei run a cow daycare here: https://ldjam.com/events/ludum-dare/51/moo-moo-care

mooemmoo/emcare_cover.png

Game

This is a game about running a cow daycare. You get more money the happier the cows and customers are, save up $500 to retire!

Overall

Overall I'm pretty happy with this game, it is definitely in my top 3 jam games I've made. I've made idk 20 or so jam games throughout the years, so I've been around for a little while!

My favorite aspect of this game is how the systems work together naturally instead of having artificial forces pushing the player. Why plant grass? To make the cows happy. Why build fences? To make sure the cows don't run away, and to help them eat grass. Why build multiple pens? So cows aren't over crowded, making them unhappy. The list goes on, I'm very satisfied with how all of the systems came together (more details below).

Probably my least favorite aspect of the game are the controls. Movement (as many in my comments pointed out) is a struggle sometimes, and it is easy to get confused as to which button does what. For reference, each button can do up to five different actions depending on what Lorelei is looking at! I've never designed a game which needed such a complex control scheme, definitely a learning experience here!

mooemmoo/emcare_0.png

System

For anybody who has never balanced a system like this, let me tell you it is a lot of work to get right! I devoted a whole 2 hours of development time just to balancing and getting some crucial play-testing in. Warning, this part may spoil the game if you haven't played yet!

First I had to create a target end-time for the game, I went with approximately 10 minutes. That might be a bit long for some, but I wanted people who really enjoyed the game to be able to get a good experience out of it. You can understand the core mechanics in a few minutes, but it takes a good five-seven minutes before you've really mastered everything. I felt like ten minutes was a good target for somebody who really liked the game.

After that, it's a matter of how many cows the player will experience through the game. I went with about 24, meaning each cow would have to give about 20 money on average, taking about 25 seconds per cow. In the end I went with 30 seconds per cow, 25 felt a bit fast for my taste.

Now how to give the player cash? There always needs to be multiple interacting systems for a player to find something interesting, so I had four things influencing cash. They all work roughly against each-other, though some more than others.

  1. Speed in dealing with customers. This is the primary driver for the player. It is most immediate and easiest to control.
  2. Cows eating grass.
  3. Cows not bumping into each other.
  4. Cows not eating poop.
  5. As a bonus, players can pet the cows to make them happier. In practice this isn't done much because there is so much else to do, but it is a nice Easter egg!

To balance these, we used desmos to graph some functions!

Untitled.png

Customers

The phone rings every ten seconds, if the player chooses to answer the phone then after a certain amount of time a customer arrives. The amount of time really determines the difficulty of the game! It is a trade off though. Obviously a long wait-time will make the game easier, as that is more time for the player to do things before needing to interact with the customer. However, a very short wait-time is also easy! Because there is no context-switching between answering the phone and picking up the cow. Thus, the hardest time is a medium-length time. I went with five seconds as the minimum lag time between answering the phone and a customer arriving.

Beyond that, I chose a logarithmic function to generate the wait time between 10 and 5 seconds. Logarithms have a way of feeling natural to players for difficulty curves, so I thought it would be a good fit.

After picking up, every customer takes 30 seconds to come back and pick up their cows. I didn't think it was needed to vary this timer much.

Grass

The player can spend 2 money to plant grass, this was my first stab at a number and it seemed to work well. Players can also spend one money to build a fence, and three to build a gate. These all seemed to work well, so I didn't tweak them much. The main concern was how happy eating grass made the cow! I started this number at 5 money, but after much testing it would up being $15! Goes to show, it always helps to get playtesting in for balance!

Other factors

Other factors weren't really that important to me, so I didn't spend much time on them. But a cow will lose 5 happiness every time it bumps into another cow, and lose 2 every time it eats poop. These factors combine, so cows that are too cramped start losing a lot of happiness quick.

This is balanced by the timer on how often movement vs eating occurs. Movement occurs 4 times faster than eating, so if the cow bumps 75% of the time, any increase in happiness from eating would cancel out! This felt pretty good to me, I didn't want to punish players too much since it is just a quick jam game. In general, I wanted to err on the side of giving the player more money.

Conclusion

In conclusion, this game more than any I've made was about balance! It was a lot of fun to really be able to sink my teeth into something like that during a jam game, and I think the results paid off! So far, three people have beaten Moo Moo Care, and they seemed to like it a lot!

If you want to give it a try after reading, check it out here: https://ldjam.com/events/ludum-dare/51/moo-moo-care