Breakpong

Breakpong is a combination Pong clone, and Breakout clone.

I actually got this idea from Lizard455's Trong (http://ludumdare.com/compo/minild-58/?action=preview&uid=42941) in that he combined two genres of classic games.

This is my first Ludum Dare game, so any feedback is appreciated!

I don't think this game is done yet, I'll probably add powerups.

Controls:

W/S: Player 1

⬆️/⬇️: Player 2

ESC: Pause

Blocks are worth one point, losing the ball costs you three points. First to 11 wins! Oh, and the ball gets faster the longer it's alive.

v2:
* Made blocks less likely to spawn to cause more
* Added a breakout style ball control with paddles, so hitting the ball with the far top or far bottom of a paddle makes it go more towards that direction
* Fixed issues where the ball would get stuck bouncing back and forth infinitely between two points
* Modified the ball spawning so it initially heads towards one of the players at a random angle, not in a random direction.

Genres: action

Comments8

lamogui
lamogui25 Mar 2015, 07:28
Bug description: Sometimes ball doesn't have a good angle when it collide upper or bottom wall, gain an infinite speed and keep the same x coordinate
Bandersnatch
Bandersnatchauthor25 Mar 2015, 20:55
Haha, thanks. That's what I meant when I said, "If I can think of a good way to do it, a way to make it so that the ball can't get stuck bouncing back and forth."

I've been trying to come up with a better way to deal with it, but the best idea I have is to make it so that it changes angles upon not changing X or Y coordinates significantly over a quarter of a second. That's not the best way to do it I'm sure, but I can't think of a better one.

The reason why it happens is that Unity processes corners as actually very small curves, as that produces behavior more akin to real life than if you treat the corner as infinitely small. The problem with that is it means that if the ball hits a corner, it can be thrown into a angle either going straight vertical, or horizontal.

The reason why it infinitely speeds up is because that's intentional. My goal was to make it so that the longer a round progresses, the harder it gets to keep the ball alive, thus meaning it can be super easy to gain points at the start, but it gets more challenging until someone loses the ball.

Anyway, thanks for the bug report, it's on my shortlist of things to deal with if I have free time this week.
lamogui
lamogui26 Mar 2015, 12:39
Ooops I didn't see you have wroted it in the description. sorry.
muramasa
muramasa27 Mar 2015, 17:49
It's a little luck-based, I think, because sometimes the ball never ever gets to the other side. So, in my small playthrough, Player 1 won, but mostly because Player 2 almost never touched the ball. 90% of the time it was Player 1 the one that got score, because the ball rarely reached the other side.
Graphics and audio are good. Loading time sucks tho, but that's Unity's fault.
Bandersnatch
Bandersnatchauthor27 Mar 2015, 21:06
Alright thanks, I agree that it needs a little more tuning, the problem is I need there to be a decent spawn rate for the blocks, while it still being easy to get the ball through it. Really the original purpose for causing the ball to speed up was to make it so there was risk to keeping it on your side, and to make it so that blocks got destroyed more often. That said, I've usually had the ball spawn pretty equally towards the left or right, that's actually why it shoots in a random direction from the full 360 degrees. When I originally implemented it to shoot left or right, I found that it was more likely to head one way as the blocks would get worn away, however when I let it go any direction, it didn't have that problem. Might be that I just didn't play around with it enough though.

As for the loading time, that's essentially due to the fact that Unity's loading 3D assets, even if it's for a 2D game. Really though I only used built in primitives for the models and the only other assets are audio, so I don't know. Probably due a lot to the fact that it's a web player, the actual game file is only 252kb (not including the engine to run it or anything). Anyway, thanks for the compliment on the graphics, it was a fun excuse to learn how the new camera shaders in Unity 5 work, and to write my own. The shadows on objects are actually a plane over the background which shows what another camera sees, using a filter which makes everything not the background pure black, then blurring it and offsetting it. The sound effects were all made with BFXR, I love that tool...
http://www.bfxr.net/

I should actually have time to work on it a bit now that it's the weekend, so I'll do that.

My current todo list is:
* Tune it so less bricks spawn (so it's easier to pass the ball)
* Make it so that hitting different ends of the paddle changes the angle (like in breakout, means you have more control of the ball)
* Come up with a way so the ball can't get stuck bouncing back and forth.
* Powerups!
Bandersnatch
Bandersnatchauthor30 Mar 2015, 03:22
Powerups never happened =*(
Jupiter_Hadley
Jupiter_Hadley7 Apr 2015, 19:40
I didnt see any powerups, but I did enjoy the game. I included it in 3 of my Mini LD #58 compilation video series, if you would like to take a look :) https://youtu.be/93rStW1AFMo

Other games by @bandersnatch

Found a bug?
Tell us on Discord