Hello everyone!
I'm excited to share another dev update! This time, most of my work has been focused on balancing the Summer Season, so I figured it would be nice to share a bit of the process behind it.
Before I can start pulling levers and pushing buttons, I first have to make them!
The past two Seasons have been developed using roughly the same process.
I start with all my notes and task cards, breaking down the Season ahead into all the distinct elements and features I need to build.
For Summer, some of these were:
A new Swarm system
Locusts
A Locust spawning system
Heat zones
Flower dry states
A hydration meter
And many more little systems that connect everything together
I then put their code and art in place, making sure each feature works as intended from start to finish, regardless of the actual values it will eventually use.
For example, at this point I don't really care whether something has 10 HP or 100 HP, or whether it consumes 1 resource per second or 10. I just need to make sure the system itself works.
It's also always at this stage that I realize just how much stuff I didn't think about during the brainstorming process.
So, naturally, a couple of new tasks appear. Hehe. 😅
Once all the individual pieces are working, it's time to start setting them up on the board.
This is where I build the level logic that connects everything together: how one system interacts with another, how mechanics affect each other, and how everything ultimately comes together into a playable experience.
Once again, I keep the actual numbers separate from the systems themselves. The important variables are exposed in a central place where I can easily access and modify them whenever I need to.
And this is going to be VERY useful for the next step.
Every value or mechanic that can be changed through gameplay gets its own upgrade node on the tree.
I lay these out in general areas, grouping them by theme, mechanic, or purpose depending on the context.
(Rough version I set up on Canva to visualize how it should go)
(How its going inside Godot)
This is where I make sure that, as a player, I have access to every upgrade and button that can meaningfully change the experience during a session.
At this point, the whole machine is basically built.
Now it's time to break it.
With everything in place, we finally reach the most tedious part:
Playing.
Playing again.
And again.
And again.
And again.
Alongside my feature notes, I also keep notes describing the experience I'm trying to create for each Season. This is the stage where I try to make sure the actual gameplay experience matches that vision as closely as possible.
Sometimes I'll play for five minutes and think:
"Okay, this is WAY too expensive."
Other times I'll play for an entire hour before realizing that there's another value somewhere that needs to be changed.
The first sessions are, of course, the most broken and unfun ones. That's when most of the big changes happen.
I'm constantly jumping back and forth between my big variables script, the prices and values inside my upgrade nodes, and a handy spreadsheet that I use to track and visualize how different values grow according to the progression factors I'm aiming for.
There are ways to establish formulas and graphs to model progression in incremental games. I actually tried this approach early on, but found it quite difficult to pin down.
There are simply too many variables and interactions to take into consideration. With so many different systems, upgrades, strategies, and situations happening at once, the formula would eventually start breaking down.
And even if I managed to make it work, there was another problem: a formula creates a predictable path.
That's not really what I'm trying to achieve with Beencremental. I want to create a unique experience where different approaches and strategies can lead to different outcomes, rather than having everything follow one perfectly calculated progression curve.
So, pretty early in the project, I decided that a purely formula-driven approach wasn't going to work for me. Instead, I'm relying much more on actually playing the game, experimenting, and adjusting things by hand until the numbers start feeling right.
The more I play and balance, the further the "trenches of unbalance" move.
At first, I can barely play for a few minutes before finding something that completely breaks the experience.
Then I fix that problem.
Play again.
Find another one.
Fix it.
Play again.
Eventually, I can get further and further into a session before reaching a point where I find something that needs to be adjusted.
It's tedious, but there's actually a pretty cool bonus to this process: I'm starting to notice that, no matter how much time I spend playing these same levels, I'm still having fun.
Even after hours of replaying the same scenarios, I don't find myself getting tired of the music or the sound effects. They don't feel repetitive, and I never get that urge to just mute the game and put something else on in the background.
A huge part of that goes to my buddy Oukkurun, who did an incredible job with the music and sound design.
I also get to experience the game over and over again from completely different perspectives. I try different strategies, different upgrade paths, different ways of approaching the same situation, and slowly the numbers start falling into place.
It's what makes me feel comfortable eventually putting the game in front of other players. By the time I do, I've already experienced the game MANY times and have a pretty good idea of what kind of experience I'm asking them to play.
So far, I've played the Summer Season for around 15+ hours.
I think I'm about 3/4 of the way toward the final "balanced" version that I'd feel comfortable putting in front of playtesters.
There's still plenty of work to do, but seeing the season slowly go from a chaotic pile of numbers and unfinished systems into something that actually feels like Beencremental is incredibly satisfying.
I hope you find this kind of behind the scenes info useful, and I hope you're as excited as I am to see what comes out of this Season!
As always, I hope to see you around next week, or over on our Discord server!
See you next week! 🐝