[HN Gopher] Brickception
       ___________________________________________________________________
        
       Brickception
        
       Author : duck
       Score  : 555 points
       Date   : 2023-11-30 07:35 UTC (1 days ago)
        
 (HTM) web link (brickception.xyz)
 (TXT) w3m dump (brickception.xyz)
        
       | jstummbillig wrote:
       | The amount of anxiety that imagining playing this game gives me
       | is considerable. Very cool idea though.
        
       | burrish wrote:
       | Very original, can't wait to play this at work
        
         | Karliss wrote:
         | > 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
        
         | matsemann wrote:
         | Just make it Excel themed!
        
       | tibanne wrote:
       | Only one level deep?
       | 
       | Does time go faster in the smaller one?
        
       | traveler1 wrote:
       | 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 wrote:
         | 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.
        
       | mft_ wrote:
       | Great idea!
       | 
       | (It doesn't seem to allow 'steering' of the ball by varying where
       | it hits the bat, though?)
        
       | bestouff wrote:
       | Doesn't work here (Firefox 115.2)
       | 
       | Paddle doesn't move.
        
         | pedrogpimenta wrote:
         | Same here. On Linux with KDE, if it matters.
        
         | shmde wrote:
         | The inner browser top(acting like a paddle) is not detecting
         | collision with the ball
         | 
         | Firefox Version 120.0
        
         | alt227 wrote:
         | Works fine for me on firefox 120 on windows
        
         | xlogout wrote:
         | 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.
        
       | levodelellis wrote:
       | 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
        
       | ranting-moth wrote:
       | 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 wrote:
         | Same Linux/Firefox experience here, and I'm on Wayland, which I
         | have a feeling might be relevant.
         | 
         | Edit: also GNOME 45
        
           | remedan wrote:
           | To add another data point, it works for on me on
           | Linux/Firefox/X. So the Wayland theory might be correct.
        
             | prmoustache wrote:
             | 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 wrote:
               | Are you really that worried that firefox is aware of the
               | desktop coordinates of 2 of its own windows?
        
               | berkes wrote:
               | 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 wrote:
               | 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 wrote:
               | 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 wrote:
               | 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.
        
               | dahart wrote:
               | 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 wrote:
               | 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 wrote:
               | 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 wrote:
             | Same with sway. It also tiles the windows for you, which
             | doesn't help.
        
           | Prunkton wrote:
           | 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 wrote:
             | 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
        
         | focusedone wrote:
         | 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.
        
         | jcovik wrote:
         | Game is working fine for me.
         | 
         | Linux/Chrome on gnome with enabled wayland ozone.
        
         | Jnr wrote:
         | 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" :))
        
         | Self-Perfection wrote:
         | Linux/Xorg/Firefox/KDE Paddle coordinate gets updated only when
         | I release the paddle window.
        
       | alt227 wrote:
       | This idea is amazing yet completely evil at the same time.
        
       | seabass-labrax wrote:
       | 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!
        
       | fisian wrote:
       | 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.
        
       | omnibrain wrote:
       | Reminds me of reYal, a game with "recursive" controls a friend of
       | mine created: https://store.steampowered.com/app/1080780/reYal/
        
       | trizoza wrote:
       | This is soooooo gooooood! Love it! :D:D
        
       | WindyMiller wrote:
       | Wildly annoying that this isn't called 'Brickursion'.
        
         | dylan604 wrote:
         | If you've missed the reference to Inception, then that's on
         | you. I think it is aptly named.
        
           | WindyMiller wrote:
           | 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.
        
       | pacfish wrote:
       | 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!
        
       | edfletcher_t137 wrote:
       | Frustratingly difficult: I love it! The cleverness here is
       | excellent. Well done!
        
       | NietTim wrote:
       | 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
        
       | matthewiiiv wrote:
       | This is simultaneously, amazing and terrible. Congratulations!
        
       | stevage wrote:
       | 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...
        
       | layer8 wrote:
       | 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 wrote:
         | 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 wrote:
         | 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...
        
       | Uptrenda wrote:
       | 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 wrote:
         | > It's smart on many levels.
         | 
         | Two levels. ;-)
        
       | brcmthrowaway wrote:
       | Can someone write an RL bot to play this game?
        
       | vaxintar wrote:
       | Completely broken with my i3 setup
        
         | askiiart wrote:
         | 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 wrote:
         | same but I didn't expect anything different from a TWM for a
         | game that relies on floating windows
        
         | KMnO4 wrote:
         | I opened the link, and laughed at how dumb I am to think this
         | would work in i3
        
       | myself248 wrote:
       | Have we completely decided as a culture that "inception", which
       | once meant "beginning", now means "recursion"?
       | 
       | I liked to think that words had meaning.
        
         | madeofpalk wrote:
         | It does have a meaning. It's a pop culture reference.
        
         | dahart wrote:
         | 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! ;)
        
         | ryukoposting wrote:
         | If language never evolved, then most of us would be
         | "instructors of the sentient hunks of distilled sand."
        
           | account42 wrote:
           | Doesn't that sound so much cooler than software engineer or
           | programmer though?
        
       | vinberdon wrote:
       | This is beautiful.
        
       | sonicanatidae wrote:
       | Very clever. Well done!
        
       | passion__desire wrote:
       | 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 wrote:
         | 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.
        
       | ChrisArchitect wrote:
       | (2019)
       | 
       | Blast from the past, the author had a Show HN:
       | https://news.ycombinator.com/item?id=20126142
        
       | nialv7 wrote:
       | Why stop at depth 2? ;-)
        
       | SamBam wrote:
       | 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.
        
       | chungy wrote:
       | 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.
        
       | smittywerben wrote:
       | 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.
        
       | adam12 wrote:
       | Reminded me of this pong inside a sprite tutorial for the c64:
       | 
       | https://youtu.be/C_J4dSAWqY4?si=BQN90pEFjOaGtOxj&t=1118
        
       | xer0x wrote:
       | Neat! I didn't know this was possible!
        
       | mck- wrote:
       | 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
        
       | neilparikh wrote:
       | Somewhat related game:
       | https://store.steampowered.com/app/1533050/Press_Ctrl/
        
       | wly_cdgr wrote:
       | I absolutely don't want to play it all the way through but that
       | is irrelevant, love it
        
       | eshack94 wrote:
       | 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 wrote:
         | 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.
        
       | signatureMove wrote:
       | I would like to see additional windows spawned after a certain
       | point for a true 'brickception' experience.
        
       | kderbe wrote:
       | 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
        
       | sva_ wrote:
       | It is rather difficult with a tiling window manager
        
       | riwsky wrote:
       | Reminds me of one of my favorite games of all time: The Mountain
       | and the Motorcycle: https://achewood.com/2004/07/13/title.html
        
       | dragontamer wrote:
       | 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.
        
       ___________________________________________________________________
       (page generated 2023-12-01 23:02 UTC)