mirror of
https://gitlab.com/lecarore/breakout71.git
synced 2025-04-20 20:16:16 -04:00
Automatic deploy 29005750
This commit is contained in:
parent
b948017339
commit
c5351bfd35
3 changed files with 119 additions and 21 deletions
128
Readme.md
128
Readme.md
|
@ -2,33 +2,130 @@
|
|||
|
||||
Break colourful bricks, catch bouncing coins and select powerful upgrades !
|
||||
|
||||

|
||||
|
||||
|
||||
[Play now](https://breakout.lecaro.me/) -
|
||||
[Google Play](https://play.google.com/store/apps/details?id=me.lecaro.breakout) -
|
||||
[itch.io](https://renanlecaro.itch.io/breakout71) -
|
||||
[GitLab](https://gitlab.com/lecarore/breakout71) -
|
||||
[Donate](https://github.com/sponsors/renanlecaro)
|
||||
|
||||
## Gameplay
|
||||
|
||||
The goal is to catch as many coins as possible during 7 levels. Coins appear when you break bricks. They fly around, bounce and roll, and you need to catch them with your puck. Your "combo" is the number of coins spawned when a brick breaks, it is displayed on your puck. Your score is displayed in the top right corner of the screen, it is the number of coins you have managed to catch since the begining of your run.
|
||||
# Goal
|
||||
|
||||
At the end of each level, you get to pick an upgrade from a random selection. Many upgrades impact your "combo". Upgrades apply to the whole run and can synergize. For example, "hot start" increases your combo greatly at the start of each level, but makes it tick down rapidly. If you combine it with "+1 ball", "piercing" and "bricks become bombs", you'll clear levels so fast that the combo will still be high when the fireworks are over and your puck will be showered by coins.
|
||||
The goal is to catch as many coins as possible during 7 levels.
|
||||
Coins appear when you break bricks.
|
||||
They fly around, bounce and roll, and you need to catch them with your puck to increase your score.
|
||||
Your score is displayed in the top right corner of the screen.
|
||||
You must delete all bricks to progress to the next level.
|
||||
If you drop the ball, it's game over, unless you had the "extra life" upgrade.
|
||||
|
||||
What decides how the ball flies away is only the position of the puck hit. The puck speed and incoming angle have no impact. You must delete all bricks to progress to the next level, and never drop the ball.
|
||||
# Upgrades
|
||||
|
||||
After clearing a level, you'll be able to pick upgrades among a small selection presented to you. They'll apply until the end of the run. A normal run lasts 7 levels, after which your score is recorded, and you can start again. Each run is different, the levels and upgrades you see will change every time, and new ones get added to the pool when you progress in the game.
|
||||
After clearing a level, you'll be able to pick upgrades among a small selection presented to you.
|
||||
The upgrade you pick will apply until the end of the run. You will get more upgrade choices, and even the ability to pick
|
||||
multiple upgrades at the end of the level if you play well : catch all coins, clear the level quickly and never miss.
|
||||
You also get a free random upgrade at the beginning of each run. You can see which upgrades you have
|
||||
(and a few more details) by clicking your score at the top right of the screen.
|
||||
|
||||
The app should work offline and perform well even on low-end devices. It's very lean and does not take much storage space (Roughly 0.1MB). If the app stutters, turn on "fast mode" in the settings to render a simplified view that should be faster.
|
||||
Upgrades apply to the whole run and can synergize. For example, if you combine "sapper" and "piercing", the first brick
|
||||
you hit after a puck bounce will immediately be transformed to an explosive brick, and detonated by the same ball,
|
||||
effectively giving you an explosive ball.
|
||||
|
||||
Some upgrades help with aiming, like "puck control balls". Some upgrades can be picked multiple times to increase the effect, you'll see for example "+1 ball level 2" which adds a third ball.
|
||||
|
||||
When you first play, only a few upgrades are available, you unlock the rest by simply playing and scoring points. There's a similar
|
||||
mechanic for levels unlock. At the end of a run, the things you just unlocked will be shown, and you can check the full content in menu / unlocks.
|
||||
|
||||
Many upgrades impact your combo.
|
||||
|
||||
# Combo
|
||||
|
||||
Your "combo" is the number of coins spawned when a brick breaks. It is displayed on your puck, for example x4 means each
|
||||
brick will spawn 4 coins. It will reset if you miss.
|
||||
|
||||
Many upgrades impact your combo :
|
||||
|
||||
### Single puck hit streak
|
||||
|
||||
The combo grows by one when breaking a brick, but resets when a ball hits the puck.
|
||||
Once you combo is high, the puck will glow red, to remind you that it will hurt your combo to touch it with any ball.
|
||||
The combo does not reset when the ball is lost, provided you have more than one ball.
|
||||
|
||||
### +3 base combo
|
||||
|
||||
The combo starts at 4, and resets to 4 if another upgrade resets it.
|
||||
Picking this again will raise the starting combo by 3 each time.
|
||||
There are no downsides to this upgrade.
|
||||
|
||||
### Shoot straight
|
||||
|
||||
The combo grow each time you break a brick.
|
||||
The combo resets whenever the ball touches the left or right of the play area.
|
||||
Once your combo is a bit high, the sides will glow red to let you know you shouldn't touch them.
|
||||
|
||||
### Sky is the limit
|
||||
|
||||
The combo grow each time you break a brick.
|
||||
The combo resets whenever the ball touches the top of the play area.
|
||||
Once your combo is a bit high, the top will glow red to let you know you shouldn't touch it.
|
||||
|
||||
### Picky eater
|
||||
|
||||
Each time you break a brick, if the ball and brick color are the same, your combo grows by one.
|
||||
Otherwise, the combo resets, and the ball takes the color of the brick.
|
||||
Bricks of the wrong colors should glow red once you have a small combo going.
|
||||
|
||||
|
||||
### Compound interest
|
||||
|
||||
Each time you break a brick, your combo grows by one.
|
||||
Each time a coin falls around your puck and is lost, your combo decreases by one.
|
||||
Once you have a small combo going, the bottom of the screen will glow red around the puck, to remind you to catch all coins.
|
||||
If you level this further, then the combo grows and shrinks faster.
|
||||
|
||||
|
||||
### Hot start
|
||||
|
||||
Your combo starts at 15 at the beginning of the level.
|
||||
Every second, it decreases by one.
|
||||
If you level this further, the combo starts 15 points higher and shrinks 1 point / s more.
|
||||
|
||||
|
||||
### Soft reset
|
||||
|
||||
Whenever your combo resets, it only looses half of its value.
|
||||
However, whenever it should increase, it has 50% chance of staying the same.
|
||||
If you pick it a second time, the effect is more pronounced : the combo keeps 66% of its value on reset, but only grows 33% of the time.
|
||||
If you have many perks that grow the combo every time a brick breaks, then it will still grow every time just slower.
|
||||
|
||||
# Longer runs
|
||||
|
||||
The default run lasts 7 levels. The selection process is to pick those levels at random, then sort them (more or less) by
|
||||
number of bricks present, so that runs start with smaller levels and the bigger ones are left for the end. You can extend
|
||||
the run by picking up to three times the "+1 level" upgrade.
|
||||
|
||||
"Sturdy bricks" and "Respawn" can also extend the game time significantly.
|
||||
|
||||
# Aiming
|
||||
|
||||
What decides how the ball flies away is only the position of the puck hit. If the ball hits the puck dead center, it will
|
||||
bounce back up vertically, while in you hit more on one side, it will have more angle.
|
||||
The puck speed and incoming angle have no impact on the ball direction after bouncing.
|
||||
You might find that a smaller puck makes it a bit easier to aim near corners, but also makes it much harder to catch coins.
|
||||
"Wind" and "puck controls ball" can help you aim even after the ball bounced to the wrong direction.
|
||||
"Slower ball" gives you a bit more time to aim, particularly useful in later levels where the ball goes faster. The ball also
|
||||
accelerates as you spend time in each level.
|
||||
|
||||
# Requirements
|
||||
|
||||
The app should work offline and perform well even on low-end devices.
|
||||
It's very lean and does not take much storage space (Roughly 0.1MB).
|
||||
If the app stutters, turn on "fast mode" in the settings to render a simplified view that should be faster.
|
||||
There's also an easy mode for kids (slower ball) and a color-blind mode (no color related game mechanics).
|
||||
|
||||
## Doing
|
||||
- publish on Fdroid
|
||||
# Roadmap
|
||||
|
||||
There are many possible perks left to implement :
|
||||
|
||||
## Perk ideas
|
||||
- wrap left / right
|
||||
- n% of the broken bricks respawn when the ball touches the puck
|
||||
- bricks break 50% of the time but drop 50% more coins
|
||||
|
@ -62,7 +159,8 @@ There's also an easy mode for kids (slower ball) and a color-blind mode (no colo
|
|||
- correction : pick one past upgrade to remove and replace by something else
|
||||
- puck bounce predictions rendered with particles or lines (requires big refactor)
|
||||
|
||||
## Engine ideas
|
||||
The "engine" could be better
|
||||
|
||||
- few puck bounces = more choices / upgrades
|
||||
- disable zooming (for ios double tap)
|
||||
- particles when bouncing on sides / top
|
||||
|
@ -81,7 +179,7 @@ There's also an easy mode for kids (slower ball) and a color-blind mode (no colo
|
|||
- webgl rendering
|
||||
- enable export of gameplay capture in webview
|
||||
|
||||
## Level ides
|
||||
Some extra levels wouldn't hurt
|
||||
|
||||
- famous games
|
||||
- letters
|
||||
|
@ -89,7 +187,7 @@ There's also an easy mode for kids (slower ball) and a color-blind mode (no colo
|
|||
- animals
|
||||
|
||||
|
||||
## Credits
|
||||
# Credits
|
||||
|
||||
I pulled many background patterns from https://pattern.monster/
|
||||
They are displayed in [patterns.html](patterns.html) for easy inclusion.
|
||||
|
|
|
@ -11,8 +11,8 @@ android {
|
|||
applicationId = "me.lecaro.breakout"
|
||||
minSdk = 21
|
||||
targetSdk = 34
|
||||
versionCode = 29005697
|
||||
versionName = "29005697"
|
||||
versionCode = 29005750
|
||||
versionName = "29005750"
|
||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||
vectorDrawables {
|
||||
useSupportLibrary = true
|
||||
|
|
|
@ -8,16 +8,16 @@
|
|||
/>
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
|
||||
<title>Breakout 71</title>
|
||||
<link rel="stylesheet" href="style.css?v=29005697" />
|
||||
<link rel="stylesheet" href="style.css?v=29005750" />
|
||||
<link rel="icon" href="./icon.svg" />
|
||||
</head>
|
||||
<body>
|
||||
<button id="menu">☰<span> menu</span></button>
|
||||
<button id="score"></button>
|
||||
<canvas id="game"></canvas>
|
||||
<script>window.appVersion="?v=29005697".slice(3)</script>
|
||||
<script>window.appVersion="?v=29005750".slice(3)</script>
|
||||
<script src="gif.js"></script>
|
||||
<script src="levels.js?v=29005697"></script>
|
||||
<script src="game.js?v=29005697"></script>
|
||||
<script src="levels.js?v=29005750"></script>
|
||||
<script src="game.js?v=29005750"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue