Updated translations to say "game" and not "run", this will make auto translation easier.

This commit is contained in:
Renan LE CARO 2025-03-31 13:33:27 +02:00
parent f9800c352c
commit d52472a34d
11 changed files with 673 additions and 660 deletions

View file

@ -13,8 +13,6 @@ Break colourful bricks, catch bouncing coins and select powerful upgrades !
- [GitLab](https://gitlab.com/lecarore/breakout71) - [GitLab](https://gitlab.com/lecarore/breakout71)
- [Translation with weblate](https://hosted.weblate.org/engage/breakout-71/-/en/) - [Translation with weblate](https://hosted.weblate.org/engage/breakout-71/-/en/)
# System requirements # System requirements
Breakout 71 can work offline (add it to home screen) and perform well even on low-end devices. Breakout 71 can work offline (add it to home screen) and perform well even on low-end devices.
@ -33,17 +31,17 @@ offered at all in later loops. The perk you keep improving instantly gains +1 le
Each loop is one level shorter. The ball starts slightly faster. Each loop is one level shorter. The ball starts slightly faster.
The game is over when you run loose the ball or finish the 7th loop. The game is over when you run loose the ball or finish the 7th loop.
# next goals # changelog
- Chain reaction : +lvl*lvl combo per brick broken by an explosion, combo resets after explosion is over ## next goals
- [vikingerik] : reward multiballs with combo
- wind : move coins based on puck movement not position
- [jaceys] Move the restart button out of the menu, so that it is more easily accessible - [jaceys] Move the restart button out of the menu, so that it is more easily accessible
- [jaceys] A visual indication of whether a ball has hit a brick this serve - [jaceys] A visual indication of whether a ball has hit a brick this serve
- choose starting perks
- wind : move coins based on puck movement not position
- Top down /reach: punishing now, maybe only reset if you hit the lowest populate row of the level, if it's not a full width row - Top down /reach: punishing now, maybe only reset if you hit the lowest populate row of the level, if it's not a full width row
# Release candidate ## Release candidate
- addiction : reset timout if 0 bricks
- New perk : addiction, reward faster gameplay - New perk : addiction, reward faster gameplay
- Balancing : hot start effect doubled - Balancing : hot start effect doubled
- Balancing : you earn an extra perk when playing well, and a reroll when playing perfectly - Balancing : you earn an extra perk when playing well, and a reroll when playing perfectly
@ -78,19 +76,20 @@ The game is over when you run loose the ball or finish the 7th loop.
- Made the "combo lost" text last 500ms instead of the pointless 150ms - Made the "combo lost" text last 500ms instead of the pointless 150ms
- add a toggle to switch between the “coin” design and colored bubbles - add a toggle to switch between the “coin” design and colored bubbles
# 29049575 ## 29049575
- added rerolls - added rerolls
- Sacrifice : clear screen instead of doubling coins - Sacrifice : clear screen instead of doubling coins
# 29048147 ## 29048147
- Ascetism : render coins with red border if there's a combo - Ascetism : render coins with red border if there's a combo
- Warn about unbounded - Warn about unbounded
- Red border dashes - Red border dashes
# ideas
# UX / gameplay ## UX / gameplay
- on mobile, relative movement of the touch would be amplified and added to the puck - on mobile, relative movement of the touch would be amplified and added to the puck
- option : don't pause on mobile when lifting finger - option : don't pause on mobile when lifting finger
@ -107,7 +106,7 @@ The game is over when you run loose the ball or finish the 7th loop.
- when game resumes near bottom, be unvulnerable for .5s ? , once per level - when game resumes near bottom, be unvulnerable for .5s ? , once per level
# Game engine features ## Game engine features ideas
- save state in localstorage for easy resume of a game in progress - save state in localstorage for easy resume of a game in progress
- ask for permanent storage - ask for permanent storage
- more help somewhere accessible - more help somewhere accessible
@ -128,13 +127,17 @@ The game is over when you run loose the ball or finish the 7th loop.
- when missing, redo particle trail, but give speed to particle that matches ball direction - when missing, redo particle trail, but give speed to particle that matches ball direction
- Overgrowth — when the ball touches a bomb brick it turns into a regular green brick and spawns 1 more bricks near it (additional levels spawn 2 additional bricks) - Overgrowth — when the ball touches a bomb brick it turns into a regular green brick and spawns 1 more bricks near it (additional levels spawn 2 additional bricks)
# graphics ## graphics ideas
- Waterline under the puck, coins slow down a lot, reflections - Waterline under the puck, coins slow down a lot, reflections
- webgl rendering: background gradient light map, shinier coins - webgl rendering: background gradient light map, shinier coins
- experiment with showing the combo somewhere else, maybe top center, maybe instead of score. - experiment with showing the combo somewhere else, maybe top center, maybe instead of score.
# Easy perks ideas ## Easy perks ideas
- snowball : Combo resets every 0.1s . +1 combo for each combo gained Since last reset.
- Chain reaction : +lvl*lvl combo per brick broken by an explosion, combo resets after explosion is over
- coins doubled when touched by ball, lvl times, looks smaller and lighter
- coins stained by balls
- [vikingerik] : reward multiballs with combo somehow
- fast pause : pause delay divided by {{lvl}} (helps with teleport) - fast pause : pause delay divided by {{lvl}} (helps with teleport)
- [colin] Capital - les vies non perdues à la fin du niveau rapportent un bonus de points - [colin] Capital - les vies non perdues à la fin du niveau rapportent un bonus de points
- ban 3 random perks from pool, gain 2 upgrades - ban 3 random perks from pool, gain 2 upgrades
@ -146,17 +149,17 @@ The game is over when you run loose the ball or finish the 7th loop.
- [colin] golden corners - catch coins at the sides of the puck to double their value - [colin] golden corners - catch coins at the sides of the puck to double their value
- [colin] varied diet - your combo grows by 2 when your ball changes color, but decreses by one when a brick is broken ? - [colin] varied diet - your combo grows by 2 when your ball changes color, but decreses by one when a brick is broken ?
- [colin] trickle up - inverse of reach more or less - [colin] trickle up - inverse of reach more or less
- Dividends — +1 combo per 10 coins lost (band-aid for players who struggle, useful addition when choosing Ascetism)
# Medium difficulty perks ideas ## Medium difficulty perks ideas
- balls collision split them into 4 smaller balls, lvl times (requires rework) - balls collision split them into 4 smaller balls, lvl times (requires rework)
- offer next level choice after upgrade pick - offer next level choice after upgrade pick
- Dividends — +1 combo per 10 coins lost (band-aid for players who struggle, useful addition when choosing Ascetism)
- [colin] mirror puck - a mirrored puck at the top of the screen follows as you move the bottom puck. it helps with keeping combos up and preventing the ball from touching the ceiling. it could appear as a hollow puck so as to not draw too much attention from the main bottom puck. - [colin] mirror puck - a mirrored puck at the top of the screen follows as you move the bottom puck. it helps with keeping combos up and preventing the ball from touching the ceiling. it could appear as a hollow puck so as to not draw too much attention from the main bottom puck.
- [colin] Combos extrêmes: lvl2 pour tous les combos, qui fait que le combo rapporte double ou triple, mais si sur un niveau la condition n'est pas respectée alors le perk ne donne plus de combo bonus pour ce niveau. - [colin] Combos extrêmes: lvl2 pour tous les combos, qui fait que le combo rapporte double ou triple, mais si sur un niveau la condition n'est pas respectée alors le perk ne donne plus de combo bonus pour ce niveau.
- [colin] Mytosis - les blocs bombe n'explosent pas mais relâchent une nouvelle balle à la place (clashes with "shocks" and "sapper") - [colin] Mytosis - les blocs bombe n'explosent pas mais relâchent une nouvelle balle à la place (clashes with "shocks" and "sapper")
- [colin] Juggle - au début du niveau, chaque balle est lancée l'une après au lieu de toutes à la fois (needs some work) - [colin] Juggle - au début du niveau, chaque balle est lancée l'une après au lieu de toutes à la fois (needs some work)
- SUPER HOT - SUPER HOT (time moves when puck moves)
- bricks attract ball - bricks attract ball
- bricks attract coins - bricks attract coins
- wrap left / right - wrap left / right
@ -166,11 +169,13 @@ The game is over when you run loose the ball or finish the 7th loop.
- the more balls are close to a brick, the more combo is gained when breaking it. If only one ball, loose one point or reset - the more balls are close to a brick, the more combo is gained when breaking it. If only one ball, loose one point or reset
- ball avoids brick of wrong color - ball avoids brick of wrong color
# Hard perk ideas ## Hard perk ideas
- accelerometer controls coins and balls - accelerometer controls coins and balls
- [colin] side pucks - same as above but with two side pucks : hard to know where to put them - [colin] side pucks - same as above but with two side pucks : hard to know where to put them
# to sort ## ideas to sort
- loop only when 7 rerolls have been acumulated.
- store much more details about run (level by level) as numbers only (instead of json that gets big false)
- double coin value when they hit the sides - double coin value when they hit the sides
- [colin]Brambles — coins that touch the walls and ceiling get stuck and are thrown back when the last brick is destroyed - [colin]Brambles — coins that touch the walls and ceiling get stuck and are thrown back when the last brick is destroyed
- [colin]Ball of Greed — the ball can collect coins (might be worth dividing into levels: lvl 1, can collect coins only after two bounces on bricks or walls. lvl 2, can collect after 1 bounce. lvl 3, can collect coins anytime)(or change the ball collection radius as the level grows) - [colin]Ball of Greed — the ball can collect coins (might be worth dividing into levels: lvl 1, can collect coins only after two bounces on bricks or walls. lvl 2, can collect after 1 bounce. lvl 3, can collect coins anytime)(or change the ball collection radius as the level grows)
@ -180,11 +185,9 @@ The game is over when you run loose the ball or finish the 7th loop.
- [colin]Cryptomoney — coins that should be generated by bricks are instantly collected, but count for half their value - [colin]Cryptomoney — coins that should be generated by bricks are instantly collected, but count for half their value
- [colin]Relative time — ball speed depends on its position: if it's high up on thi screen it's fast, if it's lower it's slower - [colin]Relative time — ball speed depends on its position: if it's high up on thi screen it's fast, if it's lower it's slower
- [colin] turn ball gravity on after a top bar hit, and until bouncing on puck - [colin] turn ball gravity on after a top bar hit, and until bouncing on puck
- [colin] hitman - hit the marked brick for +5 combo. each level increases the combo you get for it. - [colin] hitman - hit the marked brick for +5 combo. each level increases the combo you get for it.
- [colin] sweet spot - place your puck directly below a moving spot at the top of the level to increase your combo - [colin] sweet spot - place your puck directly below a moving spot at the top of the level to increase your combo
- ball attracted by bricks of the color of the ball - ball attracted by bricks of the color of the ball
- level flips horizontally every time a ball bounces on puck - level flips horizontally every time a ball bounces on puck
- coins that hit the puck disappear, missed ones are scored - coins that hit the puck disappear, missed ones are scored
- [colin] close quarters - balle attirée par tous les blocs/par un bloc aléatoire, actif à portée de bloc (+1bloc au lvlup)/proportionnel à une force (+puissance au lvlup)… - [colin] close quarters - balle attirée par tous les blocs/par un bloc aléatoire, actif à portée de bloc (+1bloc au lvlup)/proportionnel à une force (+puissance au lvlup)…
@ -196,28 +199,7 @@ The game is over when you run loose the ball or finish the 7th loop.
- [colin] reward the player with more choices/perks for breaking a brick while having reached an increasing combo thresholds. 5 combo, then 10, then 20, then 40 etc… once a threshold is reached you aren't rewarded for that threshold again until you start a rew run - [colin] reward the player with more choices/perks for breaking a brick while having reached an increasing combo thresholds. 5 combo, then 10, then 20, then 40 etc… once a threshold is reached you aren't rewarded for that threshold again until you start a rew run
- [colin] inspired by Balatro's score system : have some perks add to the multiplicator, and some others to the amount of coins in a brick (or the raw value of coins inside), so that you users want to improve both for maximized profit ! maybe tie one of the to perks that help you, and the other to perks that are bad to you, so that gambling players are forced to make their life harder - [colin] inspired by Balatro's score system : have some perks add to the multiplicator, and some others to the amount of coins in a brick (or the raw value of coins inside), so that you users want to improve both for maximized profit ! maybe tie one of the to perks that help you, and the other to perks that are bad to you, so that gambling players are forced to make their life harder
# Probably not ## extra levels
- colored coins only (coins should be of the color of the ball to count, otherwise what ? i'd rather avoid negative points)
- coins avoid ball of different color (pointless)
- [colin] wormhole - the puck sometimes don't bounce the ball back up but teleports it to the top of the screen as if it fell through from bottom to top. higher levels reduce the times it takes to reload that effect (not sure how that to word that in 1 setence)
- [colin] Mental charge - the puck is divided into two smaller pucks, then 3 smaller ones at lvl 2 : what's the point ?
- [colin] sturdy ball - does more damage to bricks, to conter sturdy bricks :that's pierce now
- [colin] plot - plot the ball's trajectory as you position your puck : too hard when you add other perks
- [colin] piggy bank - bricks absorb coins that fall onto it, and release them back as they are broken, with added value : equivalent to Asceticism
- [colin] ball coins - coins share the same physics as coins and bounce on walls and bricks : really hard to balance with speeds and all
- non brick-shaped bricks, tilted bricks,moving blocks : very difficult because of engine optimisations
- 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."
- coins repulse coins, could get really laggy ?
- russian roulette: 5/6 chances to get a free upgrade, 1/6 chance of game over. Not really fun
- [colin] bigger ball - self-explanatory, or is it ? what's the point ? physics would break now if ball bigger than bricks
- [colin] smaller ball - doable, but why
- [colin] earthquake - when the puck hits any side of the screen with velocity, the screen shakes and a brick explodes/falls from the level. alternatively, any brick you catch with the puck gives you the coins at the current combo rate. each level lowers the amount of hits before a brick falls. Problem : no limit on how often you can slam the puck around
- missile goes when you catch coin
- missile goes when you break a brick
- [colin] Batteries - lvl1: recharge les pouvoirs du puck quand la balle touche le haut de l'écran (1 fois par lancer, se recharge en touchant le puck). lvl2: également après voir détruit 6 blocs. lvl3: également quand elle touche les bords de l'écran : i'll probably just let the second puck replace this
# extra levels
- Good games : - Good games :
- FTL - FTL
@ -238,8 +220,9 @@ The game is over when you run loose the ball or finish the 7th loop.
- countries flags and shapes - countries flags and shapes
# extend re-playability ## extend re-playability
- hard mode : bricks take many hits, perks more rare, missing clears level score, missing coins deducts score.. - 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". - stats by lack of perk, like "best score without using hot start".
- split screen multiplayer - split screen multiplayer
- Add color schemes into the game (ex : Catppuccin, Dracula, Terminal, etc) - Add color schemes into the game (ex : Catppuccin, Dracula, Terminal, etc)
@ -251,6 +234,25 @@ This requires recording a bit more info about each run.
- final bosses (large vertical level that scrolls down faster and faster) - final bosses (large vertical level that scrolls down faster and faster)
## Rejected ideas
- colored coins only (coins should be of the color of the ball to count, otherwise what ? i'd rather avoid negative points)
- coins avoid ball of different color (pointless)
- [colin] wormhole - the puck sometimes don't bounce the ball back up but teleports it to the top of the screen as if it fell through from bottom to top. higher levels reduce the times it takes to reload that effect (not sure how that to word that in 1 setence)
- [colin] Mental charge - the puck is divided into two smaller pucks, then 3 smaller ones at lvl 2 : what's the point ?
- [colin] sturdy ball - does more damage to bricks, to conter sturdy bricks :that's pierce now
- [colin] plot - plot the ball's trajectory as you position your puck : too hard when you add other perks
- [colin] piggy bank - bricks absorb coins that fall onto it, and release them back as they are broken, with added value : equivalent to Asceticism
- [colin] ball coins - coins share the same physics as coins and bounce on walls and bricks : really hard to balance with speeds and all
- non brick-shaped bricks, tilted bricks,moving blocks : very difficult because of engine optimisations
- 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."
- coins repulse coins, could get really laggy ?
- russian roulette: 5/6 chances to get a free upgrade, 1/6 chance of game over. Not really fun
- [colin] bigger ball - self-explanatory, or is it ? what's the point ? physics would break now if ball bigger than bricks
- [colin] smaller ball - doable, but why
- [colin] earthquake - when the puck hits any side of the screen with velocity, the screen shakes and a brick explodes/falls from the level. alternatively, any brick you catch with the puck gives you the coins at the current combo rate. each level lowers the amount of hits before a brick falls. Problem : no limit on how often you can slam the puck around
- missile goes when you catch coin
- missile goes when you break a brick
- [colin] Batteries - lvl1: recharge les pouvoirs du puck quand la balle touche le haut de l'écran (1 fois par lancer, se recharge en touchant le puck). lvl2: également après voir détruit 6 blocs. lvl3: également quand elle touche les bords de l'écran : i'll probably just let the second puck replace this
# Credits # Credits
@ -291,3 +293,4 @@ https://casmo.itch.io/breakout-multiplayer
Breakout Hero (made as part of a PICO-8 tutorial ) Breakout Hero (made as part of a PICO-8 tutorial )
https://krystman.itch.io/breakout-hero https://krystman.itch.io/breakout-hero

View file

@ -11,8 +11,8 @@ android {
applicationId = "me.lecaro.breakout" applicationId = "me.lecaro.breakout"
minSdk = 21 minSdk = 21
targetSdk = 34 targetSdk = 34
versionCode = 29056022 versionCode = 29056849
versionName = "29056022" versionName = "29056849"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables { vectorDrawables {
useSupportLibrary = true useSupportLibrary = true

File diff suppressed because one or more lines are too long

17
dist/index.html vendored

File diff suppressed because one or more lines are too long

View file

@ -1,5 +1,5 @@
// The version of the cache. // The version of the cache.
const VERSION = "29056022"; const VERSION = "29056849";
// The name of the cache // The name of the cache
const CACHE_NAME = `breakout-71-${VERSION}`; const CACHE_NAME = `breakout-71-${VERSION}`;

View file

@ -1 +1 @@
"29056022" "29056849"

View file

@ -53,7 +53,7 @@ body {
cursor: pointer; cursor: pointer;
} }
text-shadow: 0 0 4px rgba(0, 0, 0, 0.8); text-shadow: 0 0 4px var(--level-background);
} }
#score { #score {
@ -67,7 +67,7 @@ body {
} }
span { span {
color: #333; color: rgba(255, 255, 255, 0.4);
&.great { &.great {
color: lightgreen; color: lightgreen;

View file

@ -699,6 +699,8 @@ export async function setLevel(gameState: GameState, l: number) {
// This caused problems with accented characters like the ô of côte d'ivoire for odd reasons // This caused problems with accented characters like the ô of côte d'ivoire for odd reasons
// background.src = 'data:image/svg+xml;base64,' + btoa(lvl.svg) // background.src = 'data:image/svg+xml;base64,' + btoa(lvl.svg)
background.src = "data:image/svg+xml;UTF8," + lvl.svg; background.src = "data:image/svg+xml;UTF8," + lvl.svg;
document.body.style.setProperty("--level-background", lvl.color || "#000");
} }
function setBrick(gameState: GameState, index: number, color: string) { function setBrick(gameState: GameState, index: number, color: string) {
@ -949,6 +951,11 @@ export function gameStateTick(
(b) => b && b !== "black", (b) => b && b !== "black",
).length; ).length;
if (!remainingBricks && gameState.lastBrickBroken) {
// Avoid a combo reset just because we're waiting for coins
gameState.lastBrickBroken = 0;
}
if ( if (
gameState.levelTime > gameState.lastTickDown + 1000 && gameState.levelTime > gameState.lastTickDown + 1000 &&
gameState.perks.hot_start gameState.perks.hot_start

View file

@ -1,15 +1,15 @@
{ {
"confirmRestart.no": "Cancel", "confirmRestart.no": "Cancel",
"confirmRestart.text": "You're about to start a new run, is that really what you wanted ?", "confirmRestart.text": "You're about to start a new game, is that really what you wanted ?",
"confirmRestart.title": "Start a new run ?", "confirmRestart.title": "Start a new game ?",
"confirmRestart.yes": "Restart game", "confirmRestart.yes": "Restart game",
"gameOver.7_loop.summary": "This run is over. You stashed {{score}} coins. ", "gameOver.7_loop.summary": "This game is over. You stashed {{score}} coins. ",
"gameOver.7_loop.title": "You completed this run", "gameOver.7_loop.title": "You completed this game",
"gameOver.cumulative_total": "Your total cumulative score went from {{startTs}} to {{endTs}}.", "gameOver.cumulative_total": "Your total cumulative score went from {{startTs}} to {{endTs}}.",
"gameOver.lost.summary": "You dropped the ball after catching {{score}} coins.", "gameOver.lost.summary": "You dropped the ball after catching {{score}} coins.",
"gameOver.lost.title": "Game Over", "gameOver.lost.title": "Game Over",
"gameOver.next_unlock": "Score {{points}} more points to reach the next unlock.", "gameOver.next_unlock": "Score {{points}} more points to reach the next unlock.",
"gameOver.restart": "Start a new run", "gameOver.restart": "Start a new game",
"gameOver.stats.balls_lost": "Balls lost", "gameOver.stats.balls_lost": "Balls lost",
"gameOver.stats.bricks_broken": "Bricks broken", "gameOver.stats.bricks_broken": "Bricks broken",
"gameOver.stats.bricks_per_minute": "Bricks broken per minute", "gameOver.stats.bricks_per_minute": "Bricks broken per minute",
@ -18,16 +18,16 @@
"gameOver.stats.combo_max": "Max combo", "gameOver.stats.combo_max": "Max combo",
"gameOver.stats.duration_per_level": "Duration per level", "gameOver.stats.duration_per_level": "Duration per level",
"gameOver.stats.hit_rate": "Hit rate", "gameOver.stats.hit_rate": "Hit rate",
"gameOver.stats.intro": "Find below your run statistics compared to your {{count}} best runs.", "gameOver.stats.intro": "Find below your game statistics compared to your {{count}} best games.",
"gameOver.stats.level_reached": "Level reached", "gameOver.stats.level_reached": "Level reached",
"gameOver.stats.loops": "Loops", "gameOver.stats.loops": "Loops",
"gameOver.stats.total_score": "Total score", "gameOver.stats.total_score": "Total score",
"gameOver.stats.upgrades_applied": "Upgrades applied", "gameOver.stats.upgrades_applied": "Upgrades applied",
"gameOver.test_run": "This is a test run, its score is not recorded.", "gameOver.test_run": "This is a test game, its score is not recorded.",
"gameOver.unlocked_count": "You unlocked {{count}} items :", "gameOver.unlocked_count": "You unlocked {{count}} items :",
"gameOver.upgrades_picked": "Upgrades active at the end of the run", "gameOver.upgrades_picked": "Upgrades active at the end of the game",
"gameOver.win.summary": "You cleared all levels for this run, catching {{score}} coins in total.", "gameOver.win.summary": "You cleared all levels for this game, catching {{score}} coins in total.",
"gameOver.win.title": "Run finished", "gameOver.win.title": "Game finished",
"level_up.after_buttons": "You just finished level {{level}}/{{max}}.", "level_up.after_buttons": "You just finished level {{level}}/{{max}}.",
"level_up.before_buttons": "You caught {{score}} coins {{catchGain}} out of {{levelSpawnedCoins}} in {{time}} seconds {{timeGain}}.\n\nYou missed {{levelMisses}} times {{missesGain}} and hit the walls or ceiling {{levelWallBounces}} times{{wallHitsGain}}.\n\n{{compliment}}", "level_up.before_buttons": "You caught {{score}} coins {{catchGain}} out of {{levelSpawnedCoins}} in {{time}} seconds {{timeGain}}.\n\nYou missed {{levelMisses}} times {{missesGain}} and hit the walls or ceiling {{levelWallBounces}} times{{wallHitsGain}}.\n\n{{compliment}}",
"level_up.compliment_advice": "Try to catch all coins, never miss the bricks, never hit the walls/ceiling or clear the level under 30s to gain additional choices and upgrades.", "level_up.compliment_advice": "Try to catch all coins, never miss the bricks, never hit the walls/ceiling or clear the level under 30s to gain additional choices and upgrades.",
@ -59,12 +59,12 @@
"main_menu.fullscreen": "Fullscreen", "main_menu.fullscreen": "Fullscreen",
"main_menu.fullscreen_help": "Game will try to go full screen before starting", "main_menu.fullscreen_help": "Game will try to go full screen before starting",
"main_menu.kid": "Kids mode", "main_menu.kid": "Kids mode",
"main_menu.kid_help": "Start future runs with \"slower ball\".", "main_menu.kid_help": "Start future games with \"slower ball\".",
"main_menu.language": "Language", "main_menu.language": "Language",
"main_menu.language_help": "Choose the game's language", "main_menu.language_help": "Choose the game's language",
"main_menu.load_save_file": "Load save file", "main_menu.load_save_file": "Load save file",
"main_menu.load_save_file_help": "Select a save file on your device", "main_menu.load_save_file_help": "Select a save file on your device",
"main_menu.loop_run": "New long run", "main_menu.loop_run": "New long game",
"main_menu.loop_run_help": "Allows you to loop up to 7 times", "main_menu.loop_run_help": "Allows you to loop up to 7 times",
"main_menu.max_coins": " {{max}} coins on screen maximum", "main_menu.max_coins": " {{max}} coins on screen maximum",
"main_menu.max_coins_help": "Cosmetic only, no effect on score", "main_menu.max_coins_help": "Cosmetic only, no effect on score",
@ -72,8 +72,8 @@
"main_menu.max_particles_help": "Limits the number of particles show on screen for visual effect. ", "main_menu.max_particles_help": "Limits the number of particles show on screen for visual effect. ",
"main_menu.mobile": "Mobile mode", "main_menu.mobile": "Mobile mode",
"main_menu.mobile_help": "Leaves space under the puck.", "main_menu.mobile_help": "Leaves space under the puck.",
"main_menu.normal": "New short run", "main_menu.normal": "New short game",
"main_menu.normal_help": "Start a quick run with random starting perk", "main_menu.normal_help": "Start a quick game with random starting perk",
"main_menu.pointer_lock": "Mouse pointer lock", "main_menu.pointer_lock": "Mouse pointer lock",
"main_menu.pointer_lock_help": "Locks and hides the mouse cursor.", "main_menu.pointer_lock_help": "Locks and hides the mouse cursor.",
"main_menu.record": "Record gameplay videos", "main_menu.record": "Record gameplay videos",
@ -85,7 +85,7 @@
"main_menu.reset_help": "Erase high score, play time and statistics", "main_menu.reset_help": "Erase high score, play time and statistics",
"main_menu.reset_instruction": "You will loose all progress you made in the game, are you sure ?", "main_menu.reset_instruction": "You will loose all progress you made in the game, are you sure ?",
"main_menu.resume": "Resume", "main_menu.resume": "Resume",
"main_menu.resume_help": "Return to your run", "main_menu.resume_help": "Return to then game",
"main_menu.save_file_error": "Error loading save file", "main_menu.save_file_error": "Error loading save file",
"main_menu.save_file_loaded": "Save file loaded", "main_menu.save_file_loaded": "Save file loaded",
"main_menu.save_file_loaded_help": "The app will now reload to apply your save", "main_menu.save_file_loaded_help": "The app will now reload to apply your save",
@ -108,19 +108,19 @@
"play.missed_ball": "miss", "play.missed_ball": "miss",
"play.mobile_press_to_play": "Press and hold here to play", "play.mobile_press_to_play": "Press and hold here to play",
"sandbox.help": "Test any perk combination", "sandbox.help": "Test any perk combination",
"sandbox.instructions": "Select perks below and press \"start run\" to try them out in a test run. Scores and stats are not recorded.", "sandbox.instructions": "Select perks below and press \"start game\" to try them out in a test game. Scores and stats are not recorded.",
"sandbox.start": "Start test run", "sandbox.start": "Start test game",
"sandbox.title": "Sandbox mode", "sandbox.title": "Sandbox mode",
"sandbox.unlocks_at": "Unlocks at total score {{score}}", "sandbox.unlocks_at": "Unlocks at total score {{score}}",
"score_panel.rerolls_count": "You have accumulated {{rerolls}} rerolls", "score_panel.rerolls_count": "You have accumulated {{rerolls}} rerolls",
"score_panel.test_run": "This is a test run, score is not recorded permanently", "score_panel.test_run": "This is a test game, score is not recorded permanently",
"score_panel.title": "{{score}} points at level {{level}}/{{max}} ", "score_panel.title": "{{score}} points at level {{level}}/{{max}} ",
"score_panel.title_looped": "{{score}} points at level {{level}}/{{max}} of loop {{loop}}", "score_panel.title_looped": "{{score}} points at level {{level}}/{{max}} of loop {{loop}}",
"score_panel.upcoming_levels": "Upcoming levels :", "score_panel.upcoming_levels": "Upcoming levels :",
"score_panel.upgrades_picked": "Upgrades picked so far : ", "score_panel.upgrades_picked": "Upgrades picked so far : ",
"unlocks.greyed_out_help": "The greyed out ones can be unlocked by increasing your total score. The total score increases every time you score in game.", "unlocks.greyed_out_help": "The greyed out ones can be unlocked by increasing your total score. The total score increases every time you score in game.",
"unlocks.intro": "Your total score is {{ts}}. Below are all the upgrades and levels the games has to offer. Click an upgrade or level below to start a short run with it .Your high score is {{highScore}}.", "unlocks.intro": "Your total score is {{ts}}. Below are all the upgrades and levels the games has to offer. Click an upgrade or level below to start a short game with it .Your high score is {{highScore}}.",
"unlocks.level": "Here are all the game levels, click one to start a run with that starting level. ", "unlocks.level": "Here are all the game levels, click one to start a game with that starting level. ",
"unlocks.level_description": "A {{size}}x{{size}} level with {{bricks}} bricks", "unlocks.level_description": "A {{size}}x{{size}} level with {{bricks}} bricks",
"unlocks.title": "You unlocked {{percentUnlock}}% of the game. ", "unlocks.title": "You unlocked {{percentUnlock}}% of the game. ",
"unlocks.unlocks_at": "Unlocks at total score {{threshold}}.", "unlocks.unlocks_at": "Unlocks at total score {{threshold}}.",
@ -169,10 +169,10 @@
"upgrades.etherealcoins.fullHelp": "You'll have to make sure that the coins fall down somehow", "upgrades.etherealcoins.fullHelp": "You'll have to make sure that the coins fall down somehow",
"upgrades.etherealcoins.help": "Coins are no longer affected by gravity", "upgrades.etherealcoins.help": "Coins are no longer affected by gravity",
"upgrades.etherealcoins.name": "Coins, in Space", "upgrades.etherealcoins.name": "Coins, in Space",
"upgrades.extra_levels.fullHelp": "The default run can last a max of 7 levels, after which the game is over and whatever score you reached is your run score. \n\nEach level of this perk lets you go one level higher. The last levels are often the ones where you make the most score, so the difference can be dramatic.", "upgrades.extra_levels.fullHelp": "The default game can last a max of 7 levels, after which the game is over and whatever score you reached is your run score. \n\nEach level of this perk lets you go one level higher. The last levels are often the ones where you make the most score, so the difference can be dramatic.",
"upgrades.extra_levels.help": "Play {{count}} levels instead of 7", "upgrades.extra_levels.help": "Play {{count}} levels instead of 7",
"upgrades.extra_levels.name": "+1 level", "upgrades.extra_levels.name": "+1 level",
"upgrades.extra_life.fullHelp": "Normally, you have one ball per run, and the run is over as soon as you drop it.\n\nThis perk adds a white bar at the bottom of the screen that will save a ball once, and break in the process. \n\nYou'll loose one level of that perk every time a ball bounces at the bottom of the screen.", "upgrades.extra_life.fullHelp": "Normally, you have one ball, and the game is over as soon as you drop it.\n\nThis perk adds a white bar at the bottom of the screen that will save a ball once, and break in the process. \n\nYou'll loose one level of that perk every time a ball bounces at the bottom of the screen.",
"upgrades.extra_life.help": "The ball will bounce once on the bottom line before being lost.", "upgrades.extra_life.help": "The ball will bounce once on the bottom line before being lost.",
"upgrades.extra_life.help_plural": "The ball will bounce on the bottom {{lvl}} times before being lost.", "upgrades.extra_life.help_plural": "The ball will bounce on the bottom {{lvl}} times before being lost.",
"upgrades.extra_life.name": "+1 life", "upgrades.extra_life.name": "+1 life",
@ -192,7 +192,7 @@
"upgrades.implosions.help": "Explosions suck coins in instead of blowing them out", "upgrades.implosions.help": "Explosions suck coins in instead of blowing them out",
"upgrades.implosions.name": "Implosions", "upgrades.implosions.name": "Implosions",
"upgrades.instant_upgrade.fullHelp": "Immediately pick two upgrades, so that you get one free one and one to repay the one used to get this perk. Every further menu to pick upgrades will have fewer options to choose from.", "upgrades.instant_upgrade.fullHelp": "Immediately pick two upgrades, so that you get one free one and one to repay the one used to get this perk. Every further menu to pick upgrades will have fewer options to choose from.",
"upgrades.instant_upgrade.help": "-{{lvl}} choice until run end.", "upgrades.instant_upgrade.help": "-{{lvl}} choice until game end.",
"upgrades.instant_upgrade.name": "+2 upgrades now", "upgrades.instant_upgrade.name": "+2 upgrades now",
"upgrades.left_is_lava.fullHelp": "Whenever you break a brick, your combo will increase by one, so you'll get one more coin from all the next bricks you break.\n\nHowever, your combo will reset as soon as your ball hits the left side . \n\nAs soon as your combo rises, the left side becomes red to remind you that you should avoid hitting them. \n\nThe effect stacks with other combo perks, combo rises faster with more upgrades but will also reset if any of the reset conditions are met.", "upgrades.left_is_lava.fullHelp": "Whenever you break a brick, your combo will increase by one, so you'll get one more coin from all the next bricks you break.\n\nHowever, your combo will reset as soon as your ball hits the left side . \n\nAs soon as your combo rises, the left side becomes red to remind you that you should avoid hitting them. \n\nThe effect stacks with other combo perks, combo rises faster with more upgrades but will also reset if any of the reset conditions are met.",
"upgrades.left_is_lava.help": "+{{lvl}} combo per brick broken, resets on left side hit", "upgrades.left_is_lava.help": "+{{lvl}} combo per brick broken, resets on left side hit",
@ -255,7 +255,7 @@
"upgrades.skip_last.help": "The last brick will explode.", "upgrades.skip_last.help": "The last brick will explode.",
"upgrades.skip_last.help_plural": "The last {{lvl}} bricks will explode.", "upgrades.skip_last.help_plural": "The last {{lvl}} bricks will explode.",
"upgrades.skip_last.name": "Easy Cleanup", "upgrades.skip_last.name": "Easy Cleanup",
"upgrades.slow_down.fullHelp": "The ball starts relatively slow, but every level of your run it will start a bit faster. \n\nIt will also accelerate if you spend a lot of time in one level. \n\nThis perk makes it more manageable. \n\nYou can get it at the start every time by enabling kid mode in the menu.", "upgrades.slow_down.fullHelp": "The ball starts relatively slow, but every level of your game it will start a bit faster. \n\nIt will also accelerate if you spend a lot of time in one level. \n\nThis perk makes it more manageable. \n\nYou can get it at the start every time by enabling kid mode in the menu.",
"upgrades.slow_down.help": "Ball moves more slowly", "upgrades.slow_down.help": "Ball moves more slowly",
"upgrades.slow_down.name": "Slower ball", "upgrades.slow_down.name": "Slower ball",
"upgrades.smaller_puck.fullHelp": "This makes the puck smaller, which in theory makes some corner shots easier, but really just raises the difficulty.\n\nThat's why you also get a nice bonus of +5 coins per brick for all bricks you'll break after picking this. ", "upgrades.smaller_puck.fullHelp": "This makes the puck smaller, which in theory makes some corner shots easier, but really just raises the difficulty.\n\nThat's why you also get a nice bonus of +5 coins per brick for all bricks you'll break after picking this. ",

View file

@ -637,7 +637,7 @@ export const rawUpgrades = [
threshold: 165000, threshold: 165000,
giftable: false, giftable: false,
id: "addiction", id: "addiction",
max: 10, max: 7,
name: t("upgrades.addiction.name"), name: t("upgrades.addiction.name"),
help: (lvl: number) => help: (lvl: number) =>
t("upgrades.addiction.help", { lvl, delay: (5 / lvl).toFixed(2) }), t("upgrades.addiction.help", { lvl, delay: (5 / lvl).toFixed(2) }),