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
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.
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
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.
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.
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.
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.
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.
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.
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
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!
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.
Cool concept. As a reviewer said - if you get into the flow it's interesting. But the chunkiness of the controls kinda ruins the experience and make it harder than necessary to get into that flow.
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.
Thank you. This *ception misuse is annoying. Conception is the act of creating an idea. Inception is the point at which something is conceived. The movie created a fake verb form that means "to induce a conception." None of this is conceptually related to the nested dreams in the movie.
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!
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...
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).
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.
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.
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! ;)
93 comments
[ 6.4 ms ] story [ 175 ms ] threadIt'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
Does time go faster in the smaller one?
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.
(It doesn't seem to allow 'steering' of the ball by varying where it hits the bat, though?)
Paddle doesn't move.
Firefox Version 120.0
Linux/Chrome: Paddle doesn't move but the paddle popup does bounce the ball.
Edit: also GNOME 45
Sounds nothing but reasonable to me.
https://developer.mozilla.org/en-US/docs/Web/API/Window/scre...
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.
Linux/Chrome on gnome with enabled wayland ozone.
Linux/Wayland/Chromium: chromium crashes as soon as I click "launch game" :))
However, I never tried implementing it.
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.
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...
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).
This is very similar to Reflective Towers Of Interpreters: https://blog.sigplan.org/2021/08/12/reflective-towers-of-int...
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.
Two levels. ;-)
[1] https://git.askiiart.net/askiiart/dotfiles/src/branch/main/s...
I liked to think that words had meaning.