Posted February 26, 2026 by DAMStudio
#post mortem
Catball Bash! A fast-paced, physics-based arcade game where you bounce balls off walls and try to make your opponent miss.
Play it here: https://damstudio.itch.io/catball-bash
I’m Paulo DAM, a generalist artist with a background in design and animation. I’ve worked as a web designer and as an artist in a game studio — but never really as a programmer.
Learning to code was something I tried multiple times. ActionScript, JavaScript, PHP… every time I started, I eventually dropped it. It never fully clicked.
This game started with a simple goal:
I needed a project to finally learn how to code.
I had almost no real programming knowledge — just some YouTube tutorials.
Catball Bash! became my “I’m actually going to finish this” project.
The game was made in Unity.
Other than that, I tried to keep the entire pipeline free or open-source whenever possible:
Most of the work happened inside Blender, Krita and Unity.
This was supposed to be a small project.
Something manageable.
Something I wouldn’t abandon halfway through.
I brainstormed ideas, made mind maps, and chose something that felt simple enough to finish.
At the time… I believed it was small.
The very first step was building a prototype. I needed to confirm that:
Only after validating the prototype did I decide:
Then I created a backlog and defined a workflow pipeline.
Choosing a low-poly art style with a single shared texture was a great decision.
It:
Creating new environments and assets was always fun, and I’m genuinely happy with how the game looks.
From the brainstorming phase, I started organizing tasks and tracking progress.
This helped massively.
Even in a solo project, not having to guess “what should I do next?” saves mental energy. There were lots of bumps and unexpected problems, but having everything mapped out kept the project alive during hard moments.
The software helped — though I might try something different next time.
I scoped it too big.
At first it didn’t feel big. But once I started calculating how long everything would take… yeah.
Did I really need 12 levels? No.
Fewer levels would have achieved the learning goal just fine. My main objective was to learn programming, not to build a massive content-heavy project.
The extra levels were fun to make — but they extended development time unnecessarily.
The project took much longer than expected.
In the beginning, progress was steady. Then life happened.
There were small pauses — days, weeks — and one major hiatus that lasted months.
Momentum is fragile in solo development.
Every long break increases the mental cost of returning to the project.
Coding actually went better than I expected — but it’s also where I have the most room to grow.
I did my best to write clean code, but since I was learning, I’m sure there are architectural mistakes and inefficiencies.
The project was limited by my coding ability, and because of that, some features had to be cut.
Still, compared to where I started? Huge progress, the fact that it works is something I’m proud of.
I’ll probably revisit this project in the future.
When I do, I want to:
But for now, I’m moving on.
The next project will be smaller.
Much smaller.
While I decide what my next “big” idea should be.
Finishing this project means more to me than releasing it.
At the beginning, I had huge plans:
But those were extras.
The real goal was finishing a game and learning to code.
And I did.
That alone makes this a successful project in my eyes.
I learned a lot — not just about programming, but about scope, consistency, and finishing what you start.
Next time, I’ll do better.