Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

I never thought balancing a scoring system could be this difficult.

In my complete innoncence, I figured giving one point per brick would be more than enough. After all, every part of the level would be worth the same amount of points. It's also incredibly simple to implement. From there, it's up to you to launch your balls well and squeeze out as many points as possible...

I was so wrong...

Idle games don't have that many player actions to begin with, so if your score only goes up one point at a time, it quickly becomes boring. Even worse, because my game is competitive, it's almost impossible to come back once you're behind. You can tell who's going to win way too early. No comeback. No suspense. You just clench your butt and wait for the match to end.

Clearly, that wasn't working.

To make things more exciting and keep the outcome less predictable, I started looking for a way to give bricks a wider range of point values. I wanted to keep the system simple and make it fit naturally with the game's pixel art aesthetic, so now each brick is worth points based on its color.

Colors are stored as four RGBA channels ranging from 0 to 255. The score is simply the sum of the first three channels.

White = 255 + 255 + 255 = 765 Black = 0 + 0 + 0 = 0

I made one exception for black so it's still worth 1 point. Ideally though, I just wouldn't use pure black in my levels. That means every brick is worth somewhere between 1 and 765 points.

The result feels so much better, both visually and emotionally. But the comeback problem isn't completely solved yet. Around halfway through a match, one player still tends to pull ahead. I'm hoping that adding random power-ups next will help keep games unpredictable until the very end.

Another issue with the previous version came from the level design itself. Pixel art makes for beautiful levels, but it also creates very few tunnels where balls can get trapped and bounce around in long chains. Personally, that's one of the most satisfying things to watch in a Breakout game.

So I added a power meter that fills up as your ball destroys bricks. Once it's full, it activates a temporary ability that lets the ball pass straight through bricks. This naturally creates new tunnels, kicks the action back into high gear, and adds another layer of unpredictability since your opponent can take advantage of those tunnels too!

Now I'm still debating one thing: should this power activate automatically, or should players decide when to use it?

What do you think?