Skip to content(if available)orjump to list(if available)

Show HN: Breakout with a roguelite/vampire survivor twist

Show HN: Breakout with a roguelite/vampire survivor twist

195 comments

·February 26, 2025

Hi HN ! This is an open source project I've been working on for a while. It's actually the third breakout-like game I've built. I really like the simplicity of the concept, having just one input (the puck horizontal position) and a simple gameplay that gives a low skill floor.

My girlfriend and I played a lot of the excellent LBreakoutHD, an open source breakout game that follows the traditional formula of having multiple lives, scoring points by breaking bricks and catching the good upgrades that spawn randomly and fall down, while avoiding bad upgrades.

She liked this game because it is non-violent, and doesn't make her sick like the first person 3D games. There are some issues though, it gets boring to break the last bricks, it's a bit unfair or slow sometimes, and the run length is too long with 30 something levels to clear for a high score.

I wanted to make a clone that would be fix those issues. I first tried to introduce more strategy by making the upgrades visible from the start, instead of them appearing randomly. You'd then strategize what to break first to earn more points. That first version is playable (https://breakout-v1.lecaro.me/) but a bit too complex.

I then wanted to simplify the gameplay, but make the game multiplayer in split screen (https://breakout-v2.lecaro.me/). Instead of bonus and malus, each brick drops some coins, and you need to catch them with the puck. This worked pretty well. You can play with the keyboard (A/D and LEFT/RIGHT keys) or mouse or both. The bomb explosions will blow coins around, including the coins of other players, and if you lose your ball, then a gap opens between your screen and the guy next to you, to give him a chance to lend you his ball. You can play using your phone as a controller by scanning the QR code, but make sure everyone is on the same Wi-Fi and that the the firewalls are down.

For my last version (https://breakout.lecaro.me/) is focused on the game feel and juice. It is about breaking bricks and catching coins, like the v2, but you can now pick upgrades at the end of each level. Your score unlocks more upgrades and levels that are added to the pool for the next runs. There are currently 31 upgrades and 91 levels to unlock.

Please have a try and tell me what you think. The game should run well on Firefox, safari and chrome on mobile and pc. It is available in F-Droid and on the play store, The source code is on GitLab. All links are in the game menu.

sphars

Nice, I like the perk system. Played a few rounds. Quick thoughts:

At first I didn't know that the coins were coins, it just looked like brick particles for visual effect. Maybe having a current coin counter or visual difference would've helped.

Speaking of coins, there's a couple times when the ball and coins were too similar in color, making it hard to find the ball amid a mass of falling coins. Maybe this is by design, but some contrast between coin color and the ball would help.

lecarore

Both valid points. I colored the coins for two reasons : they are pretty and the perk "coins stain bricks" means that if a red coin hits a blue brick, that brick becomes blue (which helps with other perks like "picky eater" and "color pierce"). I think there could be a short text that changes once you perform the action, so "click to start", "catch the ball", "catch the coins for score", and "clear all bricks", then it would be gone once you finish the first level.

airstrike

The game is great and clearly a lot of thought has gone into polishing! Congrats

FWIW it also took me a couple of levels to even realize how I was getting coins. A yellow glow around the coins or some shiny effect + clinky sounds would go a long way. The -2 +2 etc. callout numbers could also last longer on the page and just grow in size as they fade out? They were also quite hard to spot

lecarore

The -1 numbers are when your coin multiplier drops, that part isn't really explained or intuitive. i'm not even sure of how to call it. It's the number of coins that will spawn when you break a brick, and is displayed on your puck. I guess if i displayed " 2 x " on the puck and made coins look like coins, everything would be a bit easier to understand.

Willingham

I rather enjoyed that I got to make the discovery that the particles were coins, moreover, I enjoyed dropping STRAIGHT into the game without having to read anything or press any buttons. Lastly, this worked flawlessly on my iPhone, bravo to the work you did to make that happen!

lecarore

Thank you. Making coins looks like coins doesn't require adding text, so i'll definitely do that. And yeah, it's not so easy to convey upgrades effect without text, but at the same time at that point you kind of want a bit of rest so reading is ok. I really dislike game that take forever to load and show pointless menus before letting you play.

vessenes

I had this same thought; maybe just CSS to make them glow / glint a little? Or make the edges golden? I agree there could be a bit of juice on the coins. Or possibly the noise could be a little more clink/coinish.

lecarore

Yes, i'll make coins look like coins, sound like them, and roll around. Then if you pick the "coins stain bricks" perk, they'll be colored like before, but by then you should already know what they are.

smusamashah

I like the colors of the balls and kind of appreciate they don't look like coins. May be try showing a number going up over the paddle when a coin is absorbed

xnx

Yes. Coins should all be gold and spin on edge (so they don't present as just circles). Colored halo or trail can match the origin brick color.

lecarore

Yes, will do, this is definitely the top thing to change

genewitch

As a counter, it made sense and looked fine, they have weight and fall like they ought. Also having something interefere with the ball makes the game more difficult, but you added meta progression as well as per-run progression.

As a huge fan of incremental games, I liked it. I just don't like brickout, haha!

null

[deleted]

zeroq

Amazing! Well executed idea and great example that less is more. :)

Consider: (a) locking mouse (b) hiding cursor (c) fullscreen mode

Here's an example if you don't want to search docs: https://mdn.github.io/dom-examples/pointer-lock/

As other mentioned UI needs a few more iterations, but it's ok. I don't think you need to track coins during the run as you don't spend them to buy upgrades - which is not obvious and may require a change in how you communicate things - but on the other hand it's yet another thing tickle your lizard brain and generate additional dopamine boost. A life counter is a must.

Take a look at Electron or Tauri.

This is enough to put it on Steam. In current state it's a very solid freebie, and with some additional work you could charge an entry tier indie fee.

lecarore

Thanks for the feedback. Fullscreen is offered in the menu when "document.fullscreenEnabled || document.webkitFullscreenEnabled" is true. I've noticed it doesn't show in safari mobile, but you can trigger it by click aA / Hide toolbars. I'll look at the pointer lock, i could easily unlock it once you pause the game with a click, so it wouldn't be too intrusive. For the score, i'm thinking to put the score multiplier there instead, i'll experiment a bit. There's a life counter, in the sense that you start with 0 extra lives, but if you pick the extra life perk, you'll see 1 heart per life next to your score. The game being 100Kb, you can probably guess I'll pass the electron option, but Tauri could be considered. First, I'll just make the web app offline capable. Also, I'm pretty sure that "save page as / Web page, complete" would work on desktop and give you a usable app (YMMV). I personally dislike Steam (mandatory updates, slow UI, DRM, monopoly, online requirement), and never buy any game there, so it's not a priority to publish there for me, but I might put it there once I have enough interest and price if 4 euros. I'd rather have a good app on the web first, and deal with the various store's rules and painful UIs later, I'm doing this for fun after all.

zeroq

Silly me, I didn't noticed menu, I was trying to press F instead.

Mouse lock is a must on desktop, but you have to communicate it the user somehow so they don't get confused.

I understand your point about the game being 100kb, but once you decide to publish it on Steam the overhead doesn't matter. People are totally fine downloading 60Gb games, so couple megabytes won't hurt anyone. I gave you those two options because, at the end of the day it boils down to which platform you'll be more comfortable with and which will give you more usable options out of the box.

There is some work to be done with UI, but once you get there don't pass on Steam. If anything it will give you some bragging rights and another point in resume.

And like you said yourself, if you're willing to put some extra work, at 4-5 euro range it will be a steal on Steam. It may take some additional footwork to reach out to content creators to get some inital traction, but the concept is great and I would give it a chance.

onychomys

I'm another vote for hiding the cursor. It's pretty distracting, especially early on in a level when there's still a lot of low-level bricks.

lecarore

Pointer lock is now in the options, it also hides the cursor, let me know your thoughts.

lecarore

That's be an option soon :)

lecarore

Pointer lock is now in the options, it also hides the cursor, let me know your thoughts. Fullscreen mode should be toggled with the F key, or in the menu.

WickyNilliams

On Firefox android, I don't get fullscreen after adding to home screen. Not sure the cause. Slightly better on chrome but there's still some browser UI shown. I guess it needs to be a configured as a progressive web app. That would be amazing to maximise screen real estate

fuzzythinker

Also need (great if): spacebar launches ball, L/R arrows moves bar.

lecarore

Yes, that will come. But you have no chance to reach a decent score with binary like that honestly, it's like playing with mittens on.

peteforde

I just spent an unintentional few hours playing this game; it's genuinely great.

I will say that some of the color combinations were a little punishing. White balls on a white background is a lot. Some of the perks have very murky upsides; having the ball change color isn't ever an advantage, so far as I can tell. It would be nice if the perks had mouseover explanations. Even after hours, there's still a few I have no idea what they do.

Every time I bounce a ball, there's a -1 that doesn't seem to impact the score. What's that about?

If the arcade version of Breakout had had a skill tree, Nolan Bushnell would likely be richer than Richard Branson today.

bee_rider

Some of the perks seem to be downgrades or maybe they require synergy.

Compound interest will tank you combo… unless you use magnetism (necessary) and viscosity (very helpful), at which point you get exponential bonus going.

The perk that gives you more bonus the more bounces your ball does seems like it could be good, but it resets your bonus when you hit the ball with your paddle, so actually it is streak destroying. But maybe there’s some hidden combo with another perk?

lecarore

Yeah, there are a few footguns in here. Most bad perks are not so bad once combined with sapper+pierce+puck control ball + multiball + bigger explosions because levels finish in 2 seconds anyway

bee_rider

Speaking of finishing maps in 2 seconds—it seems to me that having the number of maps be the thing that determines the run length could be sort of limiting to your design choices in powerups. Enough kaboom and the run will just blow through the screens in an instant, and your run will be over before you can fully enjoy in your overpowered nature.

It could be interesting if time was a component to the whole thing instead. Look at Risk of Rain for inspiration, the game gets harder as time goes by. You have a finite number of power-ups that you can unlock per map, so the player is incentivized to try and keep progressing through the maps at a good rate.

In your case, maybe the player could “buy” a +1 map bonus for their run using coins. The cost in coins could be influenced by the current time and the map number. Then, the player will have to choose between strategies that slow them down but get more coins, and strategies that let them smash their way through maps.

peteforde

It's also worth mentioning that pierce is likely OP to use gamer parlance. It was the perk I would consistently choose over all others, for good reason; nothing else comes close to upgrading from a knife to a bazooka.

lecarore

Thanks, yeah i need to work on a deeper level of help for the curious players that really want to understand what's going on, without adding a wiki ^^

Y_Y

Fun game!

A couple of small translation issues I spotted: "Keep pressing here to play" should really mean "tap repeatedly", I think you should put something like "Press and hold here to play"; the other was one of the upgrade descriptions said something like "slower the ball" which I'd write as maybe "slow down the ball".

lecarore

Both good points, the message now says "Press and hold here to play" and "Slower ball: slow down the ball". English isn't my native language.

tln

You are a GENIUS. This game is so well done! Instant add to my home screen.

For me (Android Chrome) until you click, ie hold and release, the music doesn't play. So I went through a level in silence and got to hear the great sounds only after my first upgrade.

I love the combo of breakout and the homage to vampire survivor upgrades. Mentioning both in the title made the coin and progression mechanics already familiar and comforting.

Btw Realistic coins seems a little like skeumorphic UI design... The bricks and paddle don't look like the real world objects and to good effect.

lecarore

Thank you. I didn't try chrome on android much so I'll see how that goes. I'm going to guess that clicking the upgrade buttons was enough for chrome to allow me to play sounds, but clicking a canvas wasn't. Coins were initially just glowing colored circles but nobody understood they were coins, i went a bit too much to the other side, i'll find the right look eventually :)

GistNoesis

There is an issue with mouse control (I'm playing with a mouse pad but the problem should occur with a regular mouse too): When you move the mouse fast it gets out of the control area and then small movement don't respond anymore until the mouse gets back into the control area which usually results in an overshoot.

It makes the game feels unresponsive when you lose control of the pad because of this. It also breaks immersion because you must know where your pointer is instead of being the pad.

Couldn't play more than a few levels because of this.

lecarore

Pointer lock is now a thing, you can turn it on in the menu.

lecarore

Thanks for the feedback. I recommend turning on full screen in the menu, until I figure out how to add mouse lock .

GistNoesis

Full screen doesn't solve my problem (firefox ubuntu).

lecarore

Ah yeah, of course, sorry, I didn't think it through. i'll add the mouse lock option soon

saejox

That is crazy coincidence. i just released demo my rogue like breakout clone on Steam next fest. i picked a more of a bullet hell/shoot em up kind of approach. Faster the better.

I had great fun playing yours. Sound design is especially good.

https://store.steampowered.com/app/3499470/Rogue_Bricks_Demo...

lecarore

Your coins look like coins, i'm a bit jealous and will do the same :) So you're going for a longer play style, with many levels, and a character build where you have a very strong ship at the end ? I think trying to tell stories around such a simple mechanic with nicely designed levels and background is a great idea ! If you release out of steam at some point, I'd love to try it. I'm allergic to that platform and its constant updates, my gaming pc does not connect to the internet and will stay on windows 10 forever.

saejox

here i have updated it to latest. https://arcadenest-games.itch.io/rogue-bricks

lecarore

I'll give it a try. Itch quarantined your page, i'm not sure why. I don't care because my gaming pc is airgapped but you might want to look into it. When clicking download i got this :

WARNING: This Page Has Been Quarantined

Our system has flagged this page for additional review due to potential suspicious behavior from the page owner.

If someone has asked you to download from this page and you don't fully trust them, or their behavior isn't what you recognize, then we don't recommend downloading this file until our team has reviewed the page.

Password-protecting files or pages is a technique often used by scammers in an attempt to block virus and other security scans from detecting malware. Do not trust password-protected files unless you fully trust the uploader.

Learn more about the "Try my game" Discord scam.

saejox

Thank you. It is kinda like Tetris, blocks falling constantly. you have limited time to get strong and destroy blocks.

i struggled greatly on balancing. My solution was to make director behind the scenes to make sure player never gets bored. Downside is; game is quite hard for non breakout players. Aiming is crucial.

i did release the demo on itch.io But it lacks some features. i will update it tomorrow.

cautious-fly

Love the fact that on mobile if you stop touching it will automatically pause!

yonrg

I figured this can be used to cheat a bit. The paddle warps to the finger instantly on touch. You can use the pause to catch all coins

lecarore

Yeah, I'll try to alleviate that by making the pause take more and more time to happen when repeatedly use it in a level.

Matticus_Rex

Interesting. I was thinking it might lead to some cool emergent mechanics, especially combined with puck control ball, but I can see that being suboptimal, especially in how it introduces differences between mobile and mouse gameplay.

mycocola

It's pretty fun, but not in any way part of the survivor-genre.

lecarore

Right, I wasn't really sure about that title either. I didn't play vampire survivor, but I saw footage where the game stops completely as you level up, you get to think and choose an upgrade in peace, and then the frenetic action start again. It inspired me to add this mechanic to the game, instead of the quick thinking required in traditional breakout, so that's why i mentioned it. I don't think I can change the title here, but if a mod could remove the vampire survivor mention, it would make the title more accurate.

5-

> game stops completely as you level up, you get to think and choose an upgrade in peace, and then the frenetic action starts again

probably the classic example of this particular gameplay mechanic is crimsonland (2003, 2014), on which much of vampire survivors' gameplay is based.

lecarore

Thanks for the precision. Never heard of that game. It's also made by reflexive entertainment, the makers of Ricochet Infinity, another breakout game. The (game) world is small.

pryelluw

Great controls. Truly appreciate the effort to understand how a this game may be played on mobile. The upgrades are a nice touch. Maybe add some boss battles?

lecarore

Oh, that could be really cool, like a last level that starts scrolling down and go faster and faster until you die. But that's for a future major version of the game.

pryelluw

Maybe have an enemy that throws balls and you just hit them back to hurt them. Have a health bar that you need to deplete by hitting them before being able to pass the level. Dunno, might add some kind of story mode to it. Beating the boss would give the user some kind of upgrade or special weapon.

nonninz

This is amazing. I started playing it with my morning coffee and somehow it became 1pm...

Despite what other people commented, I really liked not really knowing what happens with some (most?) of the updated and having to try them to understand what they do and how to combine them. The last part is especially true: it was just SO SATISFYING when I realized that a perk I hated became my favourite once I was able to pair it properly and catch waterfall of coins :)

One thing I still don't get at all are the white and red ball "paths" that briefly appear from time to time. I don't get what they represent nor how are they triggered, especially as it doesn't look like the ball will actually do that exact path after it hits the puck (if I don't move it). It's a little annoying for the red one, that resets your coin counter, because I can't understand if I can avoid it somehow or do I have to take it as a "random debuff".

lecarore

Thanks. I guess one perk i could add is "3 random perks" where you have to figure out what you got haha. The flashing lines you see are signaling that you missed the bricks and didn't hit any. That will reset your combo. If you manage to never miss in a level, you'll get and extra upgrade and choice. If you miss less than 3 times, you'll just get an extra choice.

kruffalon

Hello,

This a tremendously good game, very clean in all ways that matter. Merci beaucoup!

Below is me wilding out a bit, feel free to ignore. The take home message is: great game, thanks!!

I do however wish for two things down the road:

More focus on the run

A) some kind of tracker for where you are in the run (level 2/10)

B) a perk that lets you chose (2-4 choices) what level to go to next (so you can pick ones you like OR search for hidden combos)

C) a perk that lets you prolong the run with 1-3 levels (making it easier to score higher and also to look for hidden combos)

.

Some complexity to the unlocking system

Since you say you are inspired by Vampire Survivors I think there is a lot of space to have more complex unlocks.

Like having levelled a perk to 3 unlocks another perk, 2 level 2 perks can combine to a different perk. 3 specific perks combine to a new one, etc

Completing a set of levels unlocks a final level in the same theme.

Unlocks based on misses per level and/or run.

Unlocks based on coin-catch percentage, obviously 100%, but also others.

Even time based unlocks (completing all levels in a run under X sec, completing every level slower than the previous one, or Mario style time unlocks, so ending on 11, 22, etc)

lecarore

Merci for the feedback.

A/ I had a current level display before, but now the menu is in its place. I guess once you pass level 1 i could display your current level instead of "menu" at the top right. I also want to show the score and multiplier, i'll have to do hard choices. B/ Yes, letting users pick the next level is a great perk, it's a bit of a code change but not that hard, i added it to the possible new perks list. C/ This perk already exists (menu/unlocks/+1 level) but you need to score a bit to get it.

I've played a lot of nova drift where the is a lot of complexity to the upgrades system in-run. In previous versions of breakout 71 you would permanently unlock perks level by level but that was a lot of code and not contributing much to the fun, so I got rid of it and you for example just unlock all 3 levels of "extra level" at total score 13000 (all run scores summed).

I did restrict some perks about ball to ball interactions (ball_repulse_ball, ball_attract_ball to having first picked the multiball perk) because otherwise they'd do absolutely nothing.

The misses, coin catch % and level clearing speeds are already tied to an in-game behavior of having more options and being able to upgrade more than once after a level, so I don't know if I'd also add another thing that depends on it. Keyboard users (where it's really hard to not miss 50% of shots) will be mad :)

I never heard of Mario style time unlocks, that sounds like silly fun. You get something for finishing the level in a sepecific amount of seconds, no matter how many minutes?

kruffalon

It seems I misremembered about mario or that i'm just bad at searching, the only thing I could find now is that the trigger for the fireworks is ending on specific number, oh well :)

Obviously you know your game better and have a clear idea of what you want to accomplish. For me it was mostly a case of seeing a long list of unlocks and the only way forward was play another game (repeated a lot of times).

One thing I like about Vampire Survivors is that you can try to figure stuff out and for me that is a much more enjoyable way to play "just one more" run (even though I still haven't found even close to everything, which I would have if it was only time that was needed)

Anyway, thanks again for the game and good luck going forward!