oOoOo: Bird vs Bricks — I Made a Brick Breaker Where You Play the Soundtrack
I have apparently reached the point in my game-development career where I looked at Breakout and thought, “This needs an exhausted bird, ballistics, procedural music, and significantly more consequences.”
So I made oOoOo: Bird vs Bricks.
The premise is straightforward:
The tower goes up forever. Bird wishes to go up too.
Unfortunately, there are bricks in the way.
This is Birb
Birb is a bird in roughly the same way that a circle with legs is a bird.
He has five shots:
O O o o o
Two big ones. Three little ones.
You drag to aim, release to fire, and your shot ricochets through the tower destroying whatever it can along the way.
So far, this is recognizable brick-breaker territory.
The problem is that Birb does not possess an infinite extradimensional supply of balls.
When you fire something, it actually goes somewhere.
Birb then has to run across the ground and collect every shot before you can fire again. Wherever the last shot lands is where Birb ends up standing for the next round.
This turns out to matter quite a bit.
Birb is not a Roadrunner. Birb's legs get tired. Physics has already asked enough of him.
And the tower is still coming down.
I Didn't Want a Soundtrack
This started with a question I kept coming back to while building the game:
What should an endless game sound like?
The obvious answer is an endless soundtrack.
I didn't like that answer.
A fixed song has its own structure. It builds when the composer says it builds. It gets quiet when the composer says it gets quiet. Meanwhile, the interesting thing happening on screen is whatever the player is doing.
So oOoOo doesn't really have a soundtrack.
It has the pieces required to make one.
There is a tempo. There are drums. There is a bassline and a chord progression. And there is a grid waiting for notes.
You put the notes there.
Every brick you hit contributes to the music. The vertical position of the brick determines pitch, so the wall is effectively a giant keyboard: low bricks make low notes, high bricks make high notes.
A bad shot might leave you with little more than a beat and a bassline.
Run one shot through a long chain of bricks and suddenly the thing comes alive.
The music gets more complicated because you did something complicated.
That also means two runs through the game don't really sound the same. You're not listening to music while playing the game.
You're playing it.
This may have been an unnecessarily complicated solution to a problem nobody had.
It is also probably my favorite thing in the game.
The Numbers Aren't Hit Points. Well. They Are. But There's More to It.
Every brick has a number painted on it.
That number is how many normal little o hits it takes to destroy the brick.
A big O counts for double.
Simple enough.
Except damage is also multiplied by your chain.
A chain is every brick a single shot damages before that shot reaches the floor, and the multiplier is based on the chain squared.
That distinction is important.
Putting two shots through four bricks is not remotely the same thing as putting one shot through eight.
The game is deliberately stingy about giving you raw power. There isn't a button you eventually press that makes Birb arbitrarily stronger. If you fire directly into a brick without building a chain, you'll do lousy damage whether you're ten feet off the ground or thirty thousand feet into the sky.
If you want power, you have to manufacture it out of geometry.
That was one of the core design decisions behind oOoOo.
I wanted aiming to remain important after the first five minutes.
Naturally, the Bricks Become Increasingly Uncooperative
A wall of identical rectangles works for a while.
Eventually, though, you start finding things that clearly did not get the memo about being normal bricks.
There is armour, which shrugs off your little shots but is considerably less enthusiastic about being hit by a big O.
There are slabs: four bricks welded together into one structure. Each section has its own number, and the slab physically comes apart as you chew through it.
The bricks themselves also begin changing shape. Their corners gradually become rounder as you climb, which seems cosmetic until a shot catches one of those curves and goes somewhere a square brick could never have sent it.
Then there are the blue bricks.
Bumpers return your shot directly back along the path it arrived on.
Faster.
This can be extremely useful.
It can also be extremely funny.
Scatter bricks, meanwhile, have a somewhat more philosophical relationship with the concept of trajectory. They will send your shot approximately in the direction physics probably intended.
Approximately.
All of these systems interact, which is really the point. A bumper isn't just an obstacle if you can use it to extend a chain. A rounded brick isn't necessarily easier or harder than a square one. Sometimes the horrible angle it creates is exactly the angle you needed.
The tower gradually stops being something you shoot at and becomes something you shoot through.
There Is One Other Problem
The tower is descending.
At the end of each round, anything close enough to land on Birb's head during the next one turns red.
This is the game's entire warning system.
It does not tell you which shot to use.
It does not highlight the correct trajectory.
It does not particularly care whether the brick has 2 health or 2,000.
It turns the brick red.
What you do about that is your problem.
If one brick reaches Birb, the run is over.
There is only one Birb.
You cannot have another.
It Goes Up Forever
There isn't a final level waiting at the top.
There isn't a boss sitting on brick number 10,000.
The tower keeps going, the systems keep changing, and the question slowly moves from how do I break these bricks? to how long can I keep this increasingly questionable arrangement alive?
Which means score chasing actually made sense here.
Google Play Games Services is completely optional, but signing in adds two leaderboards, eleven achievements, five tracked statistics on your gamer profile, and cloud saves.
I also didn't want cloud saving to create the wonderful modern experience where playing on the wrong device causes yesterday to eat today.
So the cloud save merges with the local save rather than blindly overwriting it.
Because apparently even the game about a circle bird spitting circles at rectangles needed conflict resolution.
Anyway, I Made a Bird Game
oOoOo started as a very small idea.
Aim balls at bricks.
Then the bird had to retrieve the balls.
Then where he retrieved them started affecting the next turn.
Then chains became the source of damage.
Then the bricks started changing shape.
Then the bricks developed opinions.
Then I accidentally built a musical instrument.
This is generally how my projects go.
The end result is still a brick breaker. You can pick it up, drag backward, aim at something, and make bricks explode.
But underneath that is a game about finding increasingly ridiculous trajectories through a system that is constantly rearranging itself around you.
And, occasionally, producing a surprisingly good song while doing it.
Birb wishes to go up too.
Good luck, Birb.
Top comments (0)