return to table of content

Brickception

ranting-moth
18 replies
1d6h

Linux/Firefox: Paddle doesn't move and the paddle popup doesn't bounce the ball.

Linux/Chrome: Paddle doesn't move but the paddle popup does bounce the ball.

Retr0id
13 replies
1d6h

Same Linux/Firefox experience here, and I'm on Wayland, which I have a feeling might be relevant.

Edit: also GNOME 45

remedan
10 replies
1d6h

To add another data point, it works for on me on Linux/Firefox/X. So the Wayland theory might be correct.

prmoustache
8 replies
1d5h

Which makes me glad I am using wayland. I am not comfortable with the idea that one browser window could be aware of things like the position of another browser window on my desktop.

alt227
4 replies
1d4h

Are you really that worried that firefox is aware of the desktop coordinates of 2 of its own windows?

dahart
2 replies
1d1h

Firefox knows where all its windows are, of course, but that’s not the potential issue being raised. The problem is allowing untrusted javascript access to that info. Luckily, Firefox doesn’t do that, it only allows you (JavaScript author) window information for the windows you’ve directly opened in code.

boudin
0 replies
1d1h

Actually I don't think Firefox knows the position of the window in Wayland. I thought that coordinates of windows were considered as a compositor concern and not shared with the client.

bandrami
0 replies
15h49m

Not on Wayland it doesn't. Nor does it know if either window is visible, nor if it has been damaged since the last render.

berkes
0 replies
1d2h

Better even: the parent window knows the position of it's child window. So firefox only knows the one window. And that in a situation where you actively had to allow the permission for the parent to spawn the child in the first place.

Sounds nothing but reasonable to me.

dahart
2 replies
1d1h

The browser doesn’t communicate such things between unrelated clients, say, on different domains. The browser does allow a site to communicate with the popup that it opened, which is what this game is doing, and is not problematic.

sdeframond
1 replies
19h7m

Are you aware of the window.screenX property? It does not really seem to have any restriction. Does it?

https://developer.mozilla.org/en-US/docs/Web/API/Window/scre...

dahart
0 replies
12h31m

Yes, you can access window.screenX for your own window, but not for other windows. If you’re writing code for an iframe embedded into a domain that’s not yours, your code does not have access to the parent’s windows.screenX.

mnd999
0 replies
1d4h

Same with sway. It also tiles the windows for you, which doesn't help.

Prunkton
1 replies
1d5h

works fine for me on:

  KDE 5.27.9
  Qt 5.15.11
  Wayland 1.22.0-1
  Firefox 120.0
upper bound of the inner window is not perfect though

humanfromearth9
0 replies
1d3h

so you have KDE on top of Qt on top of Wayland on top of Firefox -> are you running wayland in Firefox? if yes, you might run Firefox in Wayland instead of xorg to have some further *ception

jcovik
0 replies
1d1h

Game is working fine for me.

Linux/Chrome on gnome with enabled wayland ozone.

focusedone
0 replies
1d2h

Linux/Firefox: Works fine here. KDE Neon 5.27

Only issue is the low resolution screen on my old Thinkpad makes it difficult to see the entire game area.

Super cool game! Plays great on higher res screens, just wanted to test on Linux.

Self-Perfection
0 replies
5h15m

Linux/Xorg/Firefox/KDE Paddle coordinate gets updated only when I release the paddle window.

Jnr
0 replies
1d1h

Linux/Wayland/Firefox: it doesn't interact with the window since wayland probably doesn't provide location data.

Linux/Wayland/Chromium: chromium crashes as soon as I click "launch game" :))

myself248
4 replies
1d2h

Have we completely decided as a culture that "inception", which once meant "beginning", now means "recursion"?

I liked to think that words had meaning.

ryukoposting
1 replies
16h45m

If language never evolved, then most of us would be "instructors of the sentient hunks of distilled sand."

account42
0 replies
6h36m

Doesn't that sound so much cooler than software engineer or programmer though?

madeofpalk
0 replies
1d2h

It does have a meaning. It's a pop culture reference.

dahart
0 replies
1d1h

No, we haven’t decided that inception is synonymous with recursion, but even if we had, lots and lots of words have always had multiple meanings, and meanings that come and go, and meanings that change over time. Language is fluid and is defined by its usage and not by static prescription, which is one of the fun aspects of language. Embrace it and enjoy the ride! ;)

bestouff
4 replies
1d7h

Doesn't work here (Firefox 115.2)

Paddle doesn't move.

xlogout
0 replies
1d5h

I think it might be a Xorg vs. Wayland thing rather than browser version. IIRC Wayland does not report coordinates of the window relative to screenspace.

shmde
0 replies
1d6h

The inner browser top(acting like a paddle) is not detecting collision with the ball

Firefox Version 120.0

pedrogpimenta
0 replies
1d7h

Same here. On Linux with KDE, if it matters.

alt227
0 replies
1d6h

Works fine for me on firefox 120 on windows

vaxintar
3 replies
1d2h

Completely broken with my i3 setup

askiiart
0 replies
1d1h

It works with my sway setup [1], but only on Chromium, not Librewolf. I'm pretty sure it's just a Librewolf/FF issue, since it seems to open pop-ups in new tabs, not as windows.

[1] https://git.askiiart.net/askiiart/dotfiles/src/branch/main/s...

Nav_Panel
0 replies
21h53m

same but I didn't expect anything different from a TWM for a game that relies on floating windows

KMnO4
0 replies
21h14m

I opened the link, and laughed at how dumb I am to think this would work in i3

layer8
2 replies
1d4h

Make it a two-player game by making the paddle of each player the brick wall of the other player. This is also easily extended to N > 2 players.

humanfromearth9
0 replies
1d3h

This could just be crazy, given that brick walls may be composed of various types of bricks that break with various numbers of hits and also given that the walls will have various shapes depending on which bricks you break first.

This drastically changes the game in the sense that as a player, you can't decide precisely which bricks of the opponent you break (as opponents move their walls): you have some influence on which one of your bricks you break and you most fundamental goal is to make sure that the ball just bounces against your own paddle/wall to send it back and not lose a life.

And the more you touch the ball with your paddle, the more the paddle's size shrinks (because of all the broken bricks), which contributes to make the game harder for you and might give your adversary some chance to come back.

That's a terrific idea, even without the brickception (just a simple brick-wall-paddle).

goldenkey
0 replies
1d3h

Might as well just include everyone's games inside of everyone else's game as nested entities whose microstates determine the above games macrostates.

This is very similar to Reflective Towers Of Interpreters: https://blog.sigplan.org/2021/08/12/reflective-towers-of-int...

burrish
2 replies
1d7h

Very original, can't wait to play this at work

matsemann
0 replies
1d5h

Just make it Excel themed!

Karliss
0 replies
1d6h

Very original

It's a copy of someone else doing exactly the same thing (2 layers of breakout played by moving window) but in C++ (which the author credits) both years before the following. Although the general concept of having games creatively use windows is probably much older. I assume it showed up now because of recent trend of people rediscovering that this concept works in (some) browsers and making various non breakout variations of it of it https://news.ycombinator.com/item?id=38413660

WindyMiller
2 replies
1d5h

Wildly annoying that this isn't called 'Brickursion'.

dylan604
1 replies
1d1h

If you've missed the reference to Inception, then that's on you. I think it is aptly named.

WindyMiller
0 replies
7h11m

Don't worry, I get it. I just think it's a bit daft that the title is now so thoroughly associated with a fairly mechanical part of how the film functions, when it's not only a pre-existing word but also refers to a much more significant idea within the film itself. Plus, the 'rick' of 'brick' sounds a bit like the 'rec' of 'recursion'.

But I think I was a bit harsh in this case, the way the two parts of the game interact is more reminiscent of the dream layers in the film than is often the case with such Inception references.

traveler1
1 replies
1d7h

Unfortunately doesn't work on the Arc browser and presumably Orion, or any other browsers which put pop-up windows into a new tab instead.

vladvasiliu
0 replies
1d7h

Doesn't work on Edge 119.0.2151.93 either.

Initially it doesn't open the pop-up. Once I allow it, it opens correctly in a new window, but the smaller window doesn't move with the mouse.

passion__desire
1 replies
1d1h

Reminds me of Gettier Problems in Epistemology :

A desert traveller is searching for water. He sees, in the valley ahead, a shimmering blue expanse. Unfortunately, it’s a mirage. But fortunately, when he reaches the spot where there appeared to be water, there actually is water, hidden under a rock. Did the traveller know, as he stood on the hilltop hallucinating, that there was water ahead?

Here's a real world example :

https://www.instagram.com/p/CzWlxkbp0vT/

Imagine a video feedback loop version of gettier problem where the problem is resolved only at the Nth nested level.

Sort of like this short story : https://qntm.org/responsibility

iamgopal
0 replies
1d1h

Once I changed half my working code ( and wasted an Hour of time ) before realising that I was testing different code. On the other hand, now newer code had 10 times more testing points.

eshack94
1 replies
20h36m

This reminds me of an old PC game called DX-Ball that my uncle and I used to play back in the late 90s/early 2000s.

Super cool project, OP!

rpdillon
0 replies
20h3m

DX-Ball was really great! The block breaking animations and overall polish are very memorable for me.

You sent me searching for it with your comment, and it's still around: https://gamesnostalgia.com/game/dx-ball

File size: 380k. I miss those days.

Uptrenda
1 replies
1d4h

I love it, OP. Really creative take on the original game and this is a totally unique use of windows as an input. It's smart on many levels.

I wonder if this game could be used as a benchmark for alternating attention (switching between tasks.) People with disorders like ADHD and others that effect executive function are supposed to have difficulty with this. So it would be interesting to see if ones score increased off medication vs on medication. Or even if a healthy person saw an increase with stimulants.

Psychologists love games like this because it lets them study isolated aspects of cognition in a standardized way. It's honestly a cool project.

metabagel
0 replies
1d1h

It's smart on many levels.

Two levels. ;-)

xer0x
0 replies
23h19m

Neat! I didn't know this was possible!

wly_cdgr
0 replies
21h16m

I absolutely don't want to play it all the way through but that is irrelevant, love it

vinberdon
0 replies
1d2h

This is beautiful.

trizoza
0 replies
1d6h

This is soooooo gooooood! Love it! :D:D

tibanne
0 replies
1d7h

Only one level deep?

Does time go faster in the smaller one?

sva_
0 replies
17h14m

It is rather difficult with a tiling window manager

stevage
0 replies
1d4h

Wow, this is clever. And for once, it's cleverly weird in a way that is interesting to play.

Not only do you have to deal with playing two games of breakout at once, but the same mouse controls two paddles simultaneously, but at different scales.

The interesting challenge is when the two balls are briefly in sync but you can't hit them at once. You have to move the window paddle up so you hit its ball earlier, then go and get the tiny ball. Easier said than done though...

sonicanatidae
0 replies
1d1h

Very clever. Well done!

smittywerben
0 replies
1d

This game is so silly it makes me laugh. It works great on Windows 10. I don't have that fancy trimmed chrome titlebar just the regular box style.

It reminds me of a program my brother wrote in high school that would spawn invading spaceships (Java Triangles) onto your desktop and they would bonk your mouse around.

Meanwhile, I was in the corner of the lab playing Starcraft.

signatureMove
0 replies
20h3m

I would like to see additional windows spawned after a certain point for a true 'brickception' experience.

seabass-labrax
0 replies
1d6h

This is absolutely wonderful! I didn't think it would work with my setup (bspwm and Firefox 115), but it did. I consider myself pretty good with these kinds of games, but this really does take Breakout to a new dimension, with a difficulty to match!

riwsky
0 replies
16h14m

Reminds me of one of my favorite games of all time: The Mountain and the Motorcycle: https://achewood.com/2004/07/13/title.html

pacfish
0 replies
1d5h

Hard crashes Chrome for me (all windows instantly disappear on pressing 'LAUNCH GAME') - Chrome beta (120.0.6099.35) on Wayland (not using X) on Ubuntu 23.04. I wasn't expecting it to work due to Wayland, but the crash was impressive!

omnibrain
0 replies
1d6h

Reminds me of reYal, a game with "recursive" controls a friend of mine created: https://store.steampowered.com/app/1080780/reYal/

nialv7
0 replies
1d

Why stop at depth 2? ;-)

neilparikh
0 replies
21h20m
mft_
0 replies
1d7h

Great idea!

(It doesn't seem to allow 'steering' of the ball by varying where it hits the bat, though?)

mck-
0 replies
22h48m

Reminds me of a thread on HN from 2013 that turned tic-tac-toe into something much more interesting and in a same way meta [1]

I made a simple online playable game of it back then: http://mck-.github.io/T3/

[1] https://news.ycombinator.com/item?id=5898506

matthewiiiv
0 replies
1d4h

This is simultaneously, amazing and terrible. Congratulations!

levodelellis
0 replies
1d6h

Hitting the last brick was the worst. Instead of pausing the top maybe swap the playing fields so I have more control over the paddle/ball? It took over 2 minutes just to hit one brick in the smaller one

kderbe
0 replies
19h57m

If this gives you an appetite for more block-breaking, check out Pippin Barr's BREAKSOUT, a collection of 36 wacky variants of Breakout: https://pippinbarr.com/breaksout/info/

See also: https://news.ycombinator.com/from?site=pippinbarr.com https://news.ycombinator.com/from?site=pippinbarr.github.io

jstummbillig
0 replies
1d8h

The amount of anxiety that imagining playing this game gives me is considerable. Very cool idea though.

fisian
0 replies
1d6h

I had a similar idea using two windows for a game. One large window with an overview map and a popup window you can move around as a magnifying lens that shows details and lets you interact.

However, I never tried implementing it.

edfletcher_t137
0 replies
1d4h

Frustratingly difficult: I love it! The cleverness here is excellent. Well done!

dragontamer
0 replies
2h25m

The paddle seems buggy.

It seems like the "right" side of a paddle always increases the speed, while the "left" side of the paddle always decreases the speed.

This behavior should be direction dependent: ie: the left-side of the paddle should push the ball to the left, while the right-side of the paddle should push the ball to the right. Classic breakout controls.

For the first 2 or 3 games, I thought you couldn't control the speed. I was wrong, its just that the speed-control in this game is very small (it requires about 6 or 7 bounces to go from minimum speed to max speed), while also having a very non-intuitive speed/direction control scheme for the paddle.

chungy
0 replies
1d

The ball in the lower window only bounces off the browser's chrome and not the title bar. This is making the game harder than it could be (and possibly an unfixable problem?).

Also I have wobbly windows and that makes the game hard too.

brcmthrowaway
0 replies
1d3h

Can someone write an RL bot to play this game?

alt227
0 replies
1d6h

This idea is amazing yet completely evil at the same time.

adam12
0 replies
23h44m

Reminded me of this pong inside a sprite tutorial for the c64:

https://youtu.be/C_J4dSAWqY4?si=BQN90pEFjOaGtOxj&t=1118

SamBam
0 replies
1d

I tried changing the size of the smaller window, and it worked briefly to allow the ball to bounce off the now-larger size, before the game snapped the window size back to the original.

It made me think that changing the window could be part of the game somehow. Perhaps as you drag it bigger the playing field of the smaller game increases in width, so that game becomes harder (and also you can't move the paddle as far because your new window is too big to drag).

Or maybe you should be able to capture the ball in the big window into the smaller window, and the size and position of the smaller window determines its entry point.

NietTim
0 replies
1d4h

Hahaha genius. Doesn't work on safari/mac os for me for some reason (console says "maximum stack size exceeded") but works fine on chrome

ChrisArchitect
0 replies
1d

(2019)

Blast from the past, the author had a Show HN: https://news.ycombinator.com/item?id=20126142