mirror of
https://gitlab.com/lecarore/breakout71.git
synced 2025-04-20 04:05:06 -04:00
Automatic deploy 29018692
This commit is contained in:
parent
95ace7504e
commit
fc8da08ccd
8 changed files with 269 additions and 250 deletions
20
Credits.md
Normal file
20
Credits.md
Normal file
|
@ -0,0 +1,20 @@
|
|||
|
||||
# Credits
|
||||
|
||||
I pulled many background patterns from https://pattern.monster/
|
||||
They are displayed in [patterns.html](patterns.html) for easy inclusion.
|
||||
|
||||
Some of the sound generating code was written by ChatGPT, and heavily
|
||||
adapted to my usage over time.
|
||||
|
||||
Some of the pixel art is taken from google image search results, I hope to replace it by my own over time :
|
||||
[Heart](https://www.youtube.com/watch?v=gdWiTfzXb1g)
|
||||
[Mushroom](https://pixelartmaker.com/art/cce4295a92035ea)
|
||||
https://prohama.com/whale-2-pattern/
|
||||
https://prohama.com/shark-2-pattern/
|
||||
https://prohama.com/bird-1-size-13x12/
|
||||
https://prohama.com/pingwin-4-pattern/
|
||||
https://prohama.com/dog-21-pattern/
|
||||
|
||||
I wanted an APK to start in fullscreen and be able to list it on fdroid and the play store. I started with an empty view and went to work trimming it down, with the help of that tutorial
|
||||
https://github.com/fractalwrench/ApkGolf/blob/master/blog/BLOG_POST.md
|
113
Help.md
Normal file
113
Help.md
Normal file
|
@ -0,0 +1,113 @@
|
|||
|
||||
# Goal
|
||||
|
||||
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.
|
||||
|
||||
# Upgrades
|
||||
|
||||
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.
|
||||
|
||||
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).
|
248
Readme.md
248
Readme.md
|
@ -2,241 +2,13 @@
|
|||
|
||||
Break colourful bricks, catch bouncing coins and select powerful upgrades !
|
||||
|
||||
[Play now](https://breakout.lecaro.me/) -
|
||||
[F-Droid](https://f-droid.org/en/packages/me.lecaro.breakout/) -
|
||||
[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) -
|
||||
[HackerNews](https://news.ycombinator.com/item?id=43183131) -
|
||||
[Donate](https://github.com/sponsors/renanlecaro)
|
||||
|
||||
|
||||
# Goal
|
||||
|
||||
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.
|
||||
|
||||
# Upgrades
|
||||
|
||||
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.
|
||||
|
||||
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).
|
||||
|
||||
# Roadmap
|
||||
The "engine" could be better
|
||||
- apk version soft locks at start.
|
||||
- shinier coins by applying glow to them ?
|
||||
- ask for permanent storage
|
||||
- It's a bit confusing at first to grasp that one upgrade is applied randomly at the start of the game
|
||||
- on mobile, add an element that feels like it can be "grabbed" and make it shine while writing "Push here to play"
|
||||
- add a clickable button to allow sound to play in chrome android
|
||||
- offline mode with service worker
|
||||
- add pwe manifest
|
||||
- see how to do fullscreen on ios, or at least explain to do aA/hide toolbars
|
||||
- experiment with showing the combo somewhere else, maybe top center, maybe instead of score.
|
||||
- more help somewhere accessible
|
||||
- limit GC by reusing coins and particles
|
||||
- convert captures to mp4 unsing ffmpeg wasm because reddit refuses webm files
|
||||
- few puck bounces = more choices / upgrades
|
||||
- disable zooming (for ios double tap)
|
||||
- particles when bouncing on sides / top
|
||||
- show total score on end screen (score added to total)
|
||||
- show stats on end screen compared to other runs
|
||||
- handle back bouton in menu
|
||||
- mouvement relatif du puck
|
||||
- balls should collide with each other
|
||||
- when game resumes near bottom, be unvulnerable for .5s ? , once per level
|
||||
- apply global curve / brightness to canvas when things blow, or just always to make neon effect better
|
||||
- manifest for PWA (android and apple)
|
||||
- lights shadows
|
||||
- Offline mode web for iphone
|
||||
- controller support on web/mobile
|
||||
- webgl rendering
|
||||
- enable export of gameplay capture in webview
|
||||
- endgame histograms could work as filters, when you hover a bar, all other histograms would show the stats of those runs only, without changing reference of categories
|
||||
- sound when ball changes color
|
||||
- option : don't pause on mobile when lifting finger
|
||||
- option : accelerated relative movements on mobile
|
||||
- maybe just have 10 background, and always use the same one for the nth level of each run ?
|
||||
- would be nice to have a leaderboard for not using each perk too. Like "best runs without hot start"
|
||||
|
||||
There are many possible perks left to implement :
|
||||
- offer next level choice after upgrade pick
|
||||
- ban 3 random perks from pool, doesn't tell you which ones, gain 2 upgrades
|
||||
- 3 random perks immediately, or maybe "all level get twice as many upgrades, but they are applied randomly, and you aren't told which ones you have."
|
||||
- wrap left / right
|
||||
- pause and cheat again
|
||||
- wrap top / bottom : coins fall back from top of screen, ball flies to the top and comes back from the screen bottom ?
|
||||
- faster coins, double value
|
||||
- +1 upgrade per level but -2 choices
|
||||
- n% of the broken bricks respawn when the ball touches the puck
|
||||
- bricks break 50% of the time but drop 50% more coins
|
||||
- wind (puck positions adds force to coins and balls)
|
||||
- balls repulse coins
|
||||
- n% of coins missed respawn at the top
|
||||
- lightning : missing triggers and explosive lighting strike around ball path
|
||||
- coins repulse coins (could get really laggy)
|
||||
- balls repulse coins
|
||||
- balls attract coins
|
||||
- twice as many coins after a wall bounce, twice as little otherwise ?
|
||||
- fusion reactor (gather coins in one spot to triple their value)
|
||||
- missing makes you loose all score of level, but otherwise multiplier goes up after each breaking
|
||||
- soft reset, cut combo in half instead of zero
|
||||
- missile goes when you catch coin
|
||||
- missile goes when you break a brick
|
||||
- puck bounce +1 combo, hit nothing resets
|
||||
- multiple hits on the same brick (show remaining resistance as number)
|
||||
- bricks attract ball
|
||||
- replay last level (remove score, restores lives if any, and rebuild )
|
||||
- accelerometer controls coins and balls
|
||||
- bricks attract coins
|
||||
- breaking bricks stains neighbours
|
||||
- extra kick after bouncing on puck
|
||||
- transparent coins
|
||||
- coins of different colors repulse
|
||||
- bricks follow game of life pattern with one update every second
|
||||
- 2x coins when ball goes downward / upward, half that amount otherwise ?
|
||||
- new ball spawns when reaching combo X
|
||||
- missing with combo triggers explosive lightning strike
|
||||
- correction : pick one past upgrade to remove and replace by something else
|
||||
- puck bounce predictions rendered with particles or lines (requires big refactor)
|
||||
|
||||
|
||||
Some extra levels wouldn't hurt
|
||||
|
||||
- famous games
|
||||
- letters
|
||||
- fruits
|
||||
- animals
|
||||
- countries flags and shapes, with name as background
|
||||
|
||||
Potential big features or changes
|
||||
- use ts and a bundler to get fewer bugs and compatibility with old browsers / webviews
|
||||
- final bosses (large vertical level that scrolls down faster and faster)
|
||||
- split screen multiplayer
|
||||
- translation
|
||||
- Add color schemes into the game (ex : Catppuccin, Dracula, Terminal, etc)
|
||||
- add a toggle to switch between the “coin” design and the sort of bubble colors
|
||||
- sandbox mode
|
||||
|
||||
# Credits
|
||||
|
||||
I pulled many background patterns from https://pattern.monster/
|
||||
They are displayed in [patterns.html](patterns.html) for easy inclusion.
|
||||
|
||||
Some of the sound generating code was written by ChatGPT, and heavily
|
||||
adapted to my usage over time.
|
||||
|
||||
Some of the pixel art is taken from google image search results, I hope to replace it by my own over time :
|
||||
[Heart](https://www.youtube.com/watch?v=gdWiTfzXb1g)
|
||||
[Mushroom](https://pixelartmaker.com/art/cce4295a92035ea)
|
||||
https://prohama.com/whale-2-pattern/
|
||||
https://prohama.com/shark-2-pattern/
|
||||
https://prohama.com/bird-1-size-13x12/
|
||||
https://prohama.com/pingwin-4-pattern/
|
||||
https://prohama.com/dog-21-pattern/
|
||||
|
||||
I wanted an APK to start in fullscreen and be able to list it on fdroid and the play store. I started with an empty view and went to work trimming it down, with the help of that tutorial
|
||||
https://github.com/fractalwrench/ApkGolf/blob/master/blog/BLOG_POST.md
|
||||
- [Play now](https://breakout.lecaro.me/)
|
||||
- [Post your comments on itch.io](https://renanlecaro.itch.io/breakout71)
|
||||
- [Help and tips about the game](./Help.md)
|
||||
- [Credits](./Credits.md)
|
||||
- [Project Roadmap](./Roadmap.md)
|
||||
- [Open source android version on F-Droid](https://f-droid.org/en/packages/me.lecaro.breakout/)
|
||||
- [Google Play](https://play.google.com/store/apps/details?id=me.lecaro.breakout)
|
||||
- [GitLab](https://gitlab.com/lecarore/breakout71)
|
||||
- [HackerNews thread](https://news.ycombinator.com/item?id=43183131)
|
||||
- [Donate](https://github.com/sponsors/renanlecaro)
|
114
Roadmap and todo.md
Normal file
114
Roadmap and todo.md
Normal file
|
@ -0,0 +1,114 @@
|
|||
# Roadmap
|
||||
|
||||
Bugs
|
||||
- the Respawn perk may cause the ball(s) to keep floating in the void, with no bricks left to hit (it has happened twice, I suppose it's related to Respawn but can't be 100% sure).
|
||||
- The '+1 choice permanently' is maybe '+1 choice until run end',
|
||||
- It would be nice to see which level I am on between levels since that influences choice
|
||||
- The +1 level shows level count only sometimes.
|
||||
- sturdy bricks catch rate of 119%
|
||||
-
|
||||
|
||||
|
||||
The "engine" could be better
|
||||
|
||||
- the onboarding feels weird, missing a tutorial
|
||||
- Players can't choose the initial perk
|
||||
- apk version soft locks at start.
|
||||
- shinier coins by applying glow to them ?
|
||||
- ask for permanent storage
|
||||
- It's a bit confusing at first to grasp that one upgrade is applied randomly at the start of the game
|
||||
- on mobile, add an element that feels like it can be "grabbed" and make it shine while writing "Push here to play"
|
||||
- add a clickable button to allow sound to play in chrome android
|
||||
- offline mode with service worker
|
||||
- add pwe manifest
|
||||
- see how to do fullscreen on ios, or at least explain to do aA/hide toolbars
|
||||
- experiment with showing the combo somewhere else, maybe top center, maybe instead of score.
|
||||
- more help somewhere accessible
|
||||
- limit GC by reusing coins and particles
|
||||
- convert captures to mp4 unsing ffmpeg wasm because reddit refuses webm files
|
||||
- few puck bounces = more choices / upgrades
|
||||
- disable zooming (for ios double tap)
|
||||
- particles when bouncing on sides / top
|
||||
- show total score on end screen (score added to total)
|
||||
- show stats on end screen compared to other runs
|
||||
- handle back bouton in menu
|
||||
- mouvement relatif du puck
|
||||
- balls should collide with each other
|
||||
- when game resumes near bottom, be unvulnerable for .5s ? , once per level
|
||||
- apply global curve / brightness to canvas when things blow, or just always to make neon effect better
|
||||
- manifest for PWA (android and apple)
|
||||
- lights shadows
|
||||
- Offline mode web for iphone
|
||||
- controller support on web/mobile
|
||||
- webgl rendering
|
||||
- enable export of gameplay capture in webview
|
||||
- endgame histograms could work as filters, when you hover a bar, all other histograms would show the stats of those runs only, without changing reference of categories
|
||||
- sound when ball changes color
|
||||
- option : don't pause on mobile when lifting finger
|
||||
- option : accelerated relative movements on mobile
|
||||
- maybe just have 10 background, and always use the same one for the nth level of each run ?
|
||||
- would be nice to have a leaderboard for not using each perk too. Like "best runs without hot start"
|
||||
- restart run on r
|
||||
- when missing, redo particle trail, but give speed to particle that matches ball direction
|
||||
|
||||
There are many possible perks left to implement :
|
||||
|
||||
- offer next level choice after upgrade pick
|
||||
- ban 3 random perks from pool, doesn't tell you which ones, gain 2 upgrades
|
||||
- 3 random perks immediately, or maybe "all level get twice as many upgrades, but they are applied randomly, and you aren't told which ones you have."
|
||||
- wrap left / right
|
||||
- pause and cheat again
|
||||
- wrap top / bottom : coins fall back from top of screen, ball flies to the top and comes back from the screen bottom ?
|
||||
- faster coins, double value
|
||||
- +1 upgrade per level but -2 choices
|
||||
- n% of the broken bricks respawn when the ball touches the puck
|
||||
- bricks break 50% of the time but drop 50% more coins
|
||||
- wind (puck positions adds force to coins and balls)
|
||||
- balls repulse coins
|
||||
- n% of coins missed respawn at the top
|
||||
- lightning : missing triggers and explosive lighting strike around ball path
|
||||
- coins repulse coins (could get really laggy)
|
||||
- balls repulse coins
|
||||
- balls attract coins
|
||||
- twice as many coins after a wall bounce, twice as little otherwise ?
|
||||
- fusion reactor (gather coins in one spot to triple their value)
|
||||
- missing makes you loose all score of level, but otherwise multiplier goes up after each breaking
|
||||
- soft reset, cut combo in half instead of zero
|
||||
- missile goes when you catch coin
|
||||
- missile goes when you break a brick
|
||||
- puck bounce +1 combo, hit nothing resets
|
||||
- multiple hits on the same brick (show remaining resistance as number)
|
||||
- bricks attract ball
|
||||
- replay last level (remove score, restores lives if any, and rebuild )
|
||||
- accelerometer controls coins and balls
|
||||
- bricks attract coins
|
||||
- breaking bricks stains neighbours
|
||||
- extra kick after bouncing on puck
|
||||
- transparent coins
|
||||
- coins of different colors repulse
|
||||
- bricks follow game of life pattern with one update every second
|
||||
- 2x coins when ball goes downward / upward, half that amount otherwise ?
|
||||
- new ball spawns when reaching combo X
|
||||
- missing with combo triggers explosive lightning strike
|
||||
- correction : pick one past upgrade to remove and replace by something else
|
||||
- puck bounce predictions rendered with particles or lines (requires big refactor)
|
||||
|
||||
|
||||
Some extra levels wouldn't hurt
|
||||
|
||||
- famous games
|
||||
- letters
|
||||
- fruits
|
||||
- animals
|
||||
- countries flags and shapes, with name as background
|
||||
|
||||
Potential big features or changes
|
||||
- use ts and a bundler to get fewer bugs and compatibility with old browsers / webviews
|
||||
- final bosses (large vertical level that scrolls down faster and faster)
|
||||
- split screen multiplayer
|
||||
- translation
|
||||
- Add color schemes into the game (ex : Catppuccin, Dracula, Terminal, etc)
|
||||
- add a toggle to switch between the “coin” design and the sort of bubble colors
|
||||
- sandbox mode
|
||||
- hard mode : bricks take many hits, perks more rare, missing clears level score, missing coins deducts score..
|
||||
- stats by lack of perk, like "best score without using hot start".
|
|
@ -11,8 +11,8 @@ android {
|
|||
applicationId = "me.lecaro.breakout"
|
||||
minSdk = 21
|
||||
targetSdk = 34
|
||||
versionCode = 29017278
|
||||
versionName = "29017278"
|
||||
versionCode = 29018692
|
||||
versionName = "29018692"
|
||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||
vectorDrawables {
|
||||
useSupportLibrary = true
|
||||
|
|
|
@ -3191,10 +3191,9 @@ const pressed = {
|
|||
function setKeyPressed(key, on) {
|
||||
pressed[key] = on
|
||||
keyboardPuckSpeed = (pressed.ArrowRight - pressed.ArrowLeft) * (1 + pressed.Shift * 2) * gameZoneWidth / 50
|
||||
|
||||
}
|
||||
|
||||
document.addEventListener('keydown', e => {
|
||||
document.addEventListener('keydown', e => {
|
||||
if (e.key.toLowerCase() === 'f' && !e.ctrlKey && !e.metaKey) {
|
||||
toggleFullScreen()
|
||||
} else if (e.key in pressed) {
|
||||
|
|
|
@ -9,17 +9,17 @@
|
|||
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
|
||||
<title>Breakout 71</title>
|
||||
<meta name="description" content="A breakout game with roguelite mechanics. Break bricks, catch coins, pick upgrades, repeat. Play for free on mobile and desktop.">
|
||||
<link rel="stylesheet" href="style.css?v=29017278" />
|
||||
<link rel="stylesheet" href="style.css?v=29018692" />
|
||||
<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=29017278".slice(3)</script>
|
||||
<script src="palette.js?v=29017278"></script>
|
||||
<script src="levels.js?v=29017278"></script>
|
||||
<script src="game.js?v=29017278"></script>
|
||||
<script>window.appVersion="?v=29018692".slice(3)</script>
|
||||
<script src="palette.js?v=29018692"></script>
|
||||
<script src="levels.js?v=29018692"></script>
|
||||
<script src="game.js?v=29018692"></script>
|
||||
|
||||
|
||||
</body>
|
||||
|
|
|
@ -32,6 +32,7 @@ rsync -avz --delete --delete-excluded --exclude="*.sh" --exclude="node_modules"
|
|||
|
||||
|
||||
# generate zip for itch
|
||||
#rm -f breakout.zip
|
||||
#zip -j breakout.zip app/src/main/assets/*
|
||||
butler push app/src/main/assets/ renanlecaro/breakout71:latest --userversion $versionCode
|
||||
rm -f breakout.zip
|
||||
zip -j breakout.zip app/src/main/assets/*
|
||||
butler push app/src/main/assets/ renanlecaro/breakout71:latest --userversion $versionCode
|
||||
butler push app/src/main/assets/ renanlecaro/breakout71:offline --userversion $versionCode
|
Loading…
Add table
Add a link
Reference in a new issue