So I invented Breakout...

  • ddeevviiaanntt
    30th January Member 1 Permalink



    I invented real Breakout in The Powder Toy. I believe it to be the first of it's kind -- It has all the necessary components for Breakout: Disappearing bricks, a ball which bounces in random* directions, a paddle which you can control swiftly with your mouse, and a loss condition that occurs when the ball goes below the paddle. It's just a proof of concept, so there are obvious improvements to be made. You could make it to the front page with your improved version!

    I really want to see people improve upon this. Most notably, I want someone to create a system for launching new balls from a PCLN or something. This would allow for the ball to have a random direction when being launced, creating new and interesting rounds of gameplay.

    People could also add a lives counter and losing lives, a score counter, make it so your cursor doesn't have to be a special shape, and add at least three powerups (a barrier below the paddle that stops the ball from getting lost when the paddle misses it one time, one that sends out additional balls, and an "explosion" brick that takes out the bricks around it.) 


    *If you play a game of Breakout then refresh, you'll realize that you're experiencing the exact same game again and again. This is because of the initial direction the ball is heading is the exact same every time. This can be fixed with a bit of effort.

    (P.S.: This is my first post ever to the forums, so if I did anything wrong, PLEASE let me know and I will do my best to fix it.)

    Edited 2 times by ddeevviiaanntt. Last: 30th January
  • ddeevviiaanntt
    1st February Member 0 Permalink

    I just added a link to this forum thread in the creation (I didn't know you could do that), so now I am going to explain...

     

    HOW IT WORKS

     

    THE BALL
    The ball is a single proton (PROT) with it's "life" attribute extended greatly using the PROP tool. I couldn't really use anything else because NEUT disappears after so many bounces regardless of what you set its "life" attribute to, and PHOT only heads in 8 directions. PROT has the added benifit of travelling through a lot (most? I didn't test it) of materials, meaning it won't be hindered by the electronics inside of the playing field. The ball would normally be very hard to see, but I came up with the idea of filling the playing area with a checkerboard of detector walls so that you get them lighting up brightly where and only where the ball is.

     

    The ball is placed near the paddle and heading in an upwards direction, hitting one brick initially so to demonstrate the game somewhat when the user first presses unpause and giving them a chance to ready the paddle.

     

    Right now there is no ball spawner, and since everything the ball collides with is made up of unmoving walls, so long as the ball starts in the same position, the exact same game will play out every time. You can get a new game out of it by creating your own ball and placing it in a new position, or with a new initial direction.

     

    THE BRICKS

    The bricks are E-walls (walls that disappear when they're powered) with a little bit of electronics inside. There are two pixels of DTEC inside which are located and configured so that their ranges extend one pixel outside of the brick, and they are configured to detect PROT -- this makes it so that it detects the ball only when it is basically colliding with the brick. Perhaps the PROT can be detected when it skims past the corner of the brick and make the brick "disappear" without bouncing off of it, but that is hardly a significant issue, and I see no way around it.

     

    The bricks' DTECs are hooked up to WIFIs which lead to a junction of RS NOR latches whose outputs are hooked up to the bricks' E-walls via more WIFIs -- every brick has its own RS NOR latch and 2 unique WIFI channels. When the PROT ball hits the brick, the DTEC in the brick detects it, sends the signal to that brick's RS NOR latch, making the latch give off power indefinitely, powering the E-walls of the brick until all the latches are reset by you powering the disk of PSCN hooked up to the RS NOR latch junction, if you so choose.

     

    When a brick is disappeard it glows brightly, rather than becoming invisible. This is an unfortunate design flaw I do not have a better solution for. However, you'll notice that the ball still travels through it regardless after it "disappears".

     

    THE PADDLE

    The "paddle" is a modular, repeating design that can be extended to any length and height*. Each section consists of a large rectangle of INST hooked up to a simple NOT gate, hooked up to a section of E-wall that is shaped so that it does not connect to the E-walls next to it even though they create a hermetic seal to keep the ball from falling through the paddle. The user must widen their cursor to activate multiple of the INST rectangles at once, so that the "paddle" is large enough yet granular enough in its movements for a smooth gameplay experience. This is nice because the player can adjust the difficulty by adjusting the paddle width, all on their own.

     

    I know that you can just "spam" the paddle inputs by swiping left and right quickly, but there are many other ways to cheat on this, as is true of anything that's on your own computer, so I'm not too concerned about that.

     

    *You might want additional height if you make the game wider. This is because the player has to do quicker mouse movements to cover the whole paddle range, and it is easier to keep the cursor on the INST rectangles if it is a larger area vertically as well.

     

    AND THAT'S IT!

    Again, I really want to see the community take this proof-of-concept and improve upon it. It would make me very happy to see people make versions with decorations, powerups, score counters, lives, ball spawners, etc. I'm sure it can be done, so I wish those who are interested... Good luck!

     

    (P.S.: If anyone wants help figuring out how to implement any of the features I've suggested, let me know, and I'll explain them. I have an idea on how all of them would work.)

    Edited 3 times by ddeevviiaanntt. Last: 2nd February