Skip to main content

The Feature I Was Most Excited About Had to Go

· 4 min read

I spent two weeks building a weather system for Whisker 2. It was going to make the game feel alive and dynamic. Then I realized it was making the game worse, not better.

The Idea​

I wanted Whisker 2 to have a day/night cycle with weather that affected gameplay. The idea was:

  • Sunny days: Normal gameplay
  • Rainy days: Customers arrive slower but stay longer
  • Nighttime: Fewer customers but higher tips

I thought this would add variety and strategy. Players would adapt their approach based on the weather.

I even made a mood board with cozy rainy cafe aesthetics. I was so excited about this feature.

The Implementation​

I built the entire system:

public class WeatherSystem : MonoBehaviour {
public enum WeatherType { Sunny, Rainy, Cloudy }
public WeatherType currentWeather;

public float timeOfDay = 0f; // 0 = morning, 1 = night

void Update() {
timeOfDay += Time.deltaTime * 0.1f;
if (timeOfDay >= 1f) timeOfDay = 0f;

UpdateLighting();
UpdateWeatherEffects();
}

void UpdateLighting() {
float lightIntensity = Mathf.Lerp(0.3f, 1f, timeOfDay);
RenderSettings.ambientIntensity = lightIntensity;
}

void UpdateWeatherEffects() {
if (currentWeather == WeatherType.Rainy) {
customerSpawnRate *= 0.7f;
customerPatience *= 1.3f;
}
}
}

I added:

  • Particle systems for rain
  • Dynamic lighting that changed over time
  • Different background music for each weather type
  • UI indicators showing current weather
  • Modified customer AI for weather-based behavior

It took me two full weeks of work.

The Problem​

When I finally tested it in a full gameplay session, I noticed something horrible:

I had no idea why I was failing.

When I lost, I didn't know if it was because:

  • I played badly
  • The weather made it harder
  • The time of day changed difficulty
  • My strategy was wrong

The weather system added randomness, but not the good kind. It just made the game feel unpredictable and confusing.

Even worse: The lighting changes made it harder to see ingredients. At night, I kept grabbing the wrong items because everything looked darker.

When I Realized It Had to Go​

I showed the game to my friend who had played the earlier version. She said:

"This is cool but... I liked it better before. It feels more stressful now and I can't tell why."

That's when it hit me: The weather system wasn't making the game more fun. It was making it more complicated.

The core loop of Whisker 2 is:

  1. See customer order
  2. Grab ingredients
  3. Cook
  4. Serve
  5. Feel good when customer is happy

The weather system disrupted that loop without adding anything meaningful to it.

Why I Think I Made This Mistake​

Looking back, I think I added weather because:

  1. It sounded impressive. "Dynamic weather system" sounds way cooler than "you serve food to customers."

  2. I saw it in other games. Stardew Valley has seasons. Animal Crossing has weather. Those games feel cozy, so I thought weather would make my game feel cozy too.

  3. I wanted to show off technically. Implementing a weather system felt like "real game development" compared to just making a simple cafe game.

But I forgot the most important question: Does this make my specific game better?

The Decision​

I spent two weeks building it. Deleting it felt horrible.

But I did it.

I commented out all the weather code and played the game again. Immediately, it felt better. Clearer. More focused. The core loop worked again.

What I Learned​

Not every cool idea belongs in every game.

Weather works in Stardew Valley because the game is about planning around seasons. Weather works in Animal Crossing because the game is about living in a world that changes.

But Whisker 2 is about fast-paced cafe management and making customers happy. Weather just got in the way.

The lesson isn't "weather systems are bad." It's: Every feature needs to serve the core experience, or it's a distraction.

Now when I want to add a feature, I ask:

  1. Does this make the core loop better?
  2. Or does it just make the game more complicated?
  3. Am I adding this because it serves the game, or because it sounds cool?
  4. If I remove it, does the game get worse?

Sometimes the hardest thing as a developer is recognizing when your favorite idea doesn't actually fit the game you're making.

I still have the weather code backed up. Maybe someday I'll make a game where it belongs. But for Whisker 2, letting it go was the right choice.