diff --git a/Readme.md b/Readme.md index b990610..2132689 100644 --- a/Readme.md +++ b/Readme.md @@ -6,13 +6,12 @@ Break colourful bricks, catch bouncing coins and select powerful upgrades ! - [Donate](https://paypal.me/renanlecaro) - Bitcoin : bc1qlh8kywy3ttsuqqa08yx2rdc8dqhdvyt43wlxmr - [Discord](https://discord.gg/bbcQw4x5zA) -- [Post your comments on itch.io](https://renanlecaro.itch.io/breakout71) +- [itch.io](https://renanlecaro.itch.io/breakout71) - [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) -# Game issues and potential solutions - +# Game design issues and potential solutions When you have already a nice build and still get offered many perks, it gets tiring: - limit all build to N perks (maybe could be boosted with a perk) @@ -20,19 +19,9 @@ When you have already a nice build and still get offered many perks, it gets tir - permanent "skip" option on the upgrades, for when you don't want any of them. - add a "double last level's coins" perk, then decreasing reward -One play style is too OP, no reason to try other things -- encourage varied play style with level unlock requirements (testing) -- add loop run where user levels can't be used in further loops (boring) -- add lab mode where you need to make three builds (complex, lots of clicking, not fun) - Some upgrades currently are not really useful - remove them -- add more upgrades to complement them -- force users to try them to unlock levels - -New players get confused as to which upgrades they have and why a side became red -- show a fat popup with a detailed explanation of the perk the first time you have it -- only unlock very simple perks from the start (like base_combo) +- add more upgrades to complement them # Changelog @@ -40,9 +29,11 @@ New players get confused as to which upgrades they have and why a side became re ## To do - change fortunate ball to work more like coin magnet, carrying the balls around to catch them at next puck bounce +- add a test to forbid more than 5% grey bricks on black background, remove grey bricks border ## Done +- simplified texts to make translation easier - fixed some issues around saved level unlocks - change donation text to not suggest an amount - limited history to top 100 runs @@ -238,47 +229,8 @@ New players get confused as to which upgrades they have and why a side became re # Ideas and features -## UX / gameplay - -- avoid showing a +1 and -1 at the same time when a combo increase is reset -- translate fastlane presentation texts to french -- mobile option: relative movement of the touch would be amplified and added to the puck -- mobile option: don't pause on mobile when lifting finger -- [obigre] Offer to level ups perks separately from picking new ones -- strict sample size red borders ? -- 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 -- see how to do fullscreen on ios, or at least explain to do aA/hide toolbars -- when game resumes near bottom, be unvulnerable for .5s ? , once per level - - -## Game engine features ideas -- save state in localstorage for easy resume of a game in progress -- ask for permanent storage -- more help somewhere accessible -- limit GC by reusing coins and particles -- convert captures to mp4 unsing ffmpeg wasm because reddit refuses webm files -- disable zooming (for ios double tap) -- few puck bounces = more choices / upgrades -- show total score on end screen (score added to total) -- handle back bouton in menu -- balls could collide with each other -- manifest for PWA (android and apple) -- Offline mode web for iphone -- controller support on web/mobile -- 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 -- 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 -- 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 ideas -- Waterline under the puck, coins slow down a lot, reflections -- webgl rendering: background gradient light map, shinier coins, quite hard -- experiment with showing the combo somewhere else, maybe top center, maybe instead of score. - ## Easy perks ideas +- perk: "how about both?" adds a combo option with two perks for one - "+1 coin for each brick within a small radius of the broken brick" ? - two for one : add a 2 for one upgrade combo to the choice lists - cash out : double last level's gains @@ -305,6 +257,8 @@ New players get confused as to which upgrades they have and why a side became re - +lvl combo per bricks / resets after 5/lvl seconds without sides hit ? - + lvl x n combo when destroying a brick after bouncing on a side/top n times ? - make stats a clairvoyant thing +- [colin]P ocket money — bricks absorb coins that touch them, which are released on brick destruction (with a bonus?) +- [colin] turn ball gravity on after a top bar hit, and until bouncing on puck ## Medium difficulty perks ideas - balls collision split them into 4 smaller balls, lvl times (requires rework) @@ -331,29 +285,19 @@ New players get confused as to which upgrades they have and why a side became re ## ideas to sort - wind : move coins based on puck movement not position -- 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 - [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]Pocket money — bricks absorb coins that touch them, which are released on brick destruction (with a bonus?) - [colin]Phantom ball — the ball phases through 2 bricks then becomes solid (lvl2: through 6 bricks, lvl3; through all bricks until it touches a wall) - [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] 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] 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 - level flips horizontally every time a ball bounces on puck -- 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] plusieurs perks qui déclenchent des effets quand une balle est perdue. par ex: +3 combo à chaque balle perdue, 5 blocs transformés en bombe, balle et coins ralentis, blocs régénérés… - [colin] faster style - augmente le combo en fonction de la vitesse de la balle -- [colin] perk: analyzer - permet de voir les caractéristiques cachées des blocs (sturdy…) -- [colin] perk: roulette - gagne instantanément 2 perks aléatoires -- combo climbs every time a ball bounces on puck (but bounce is random?) -- [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] perk: roulette - gagne instantanément 2 perks aléatoires ## extra levels @@ -376,27 +320,26 @@ New players get confused as to which upgrades they have and why a side became re - countries flags and shapes +## UX / gameplay -## extend re-playability -- hard mode : bricks take many hits, perks more rare, missing clears level score, missing coins deducts score.. -- architect mode : - - play 7 levels, each with a different build. - - Perk levels can only be used once, so if you take one for level 1, you won't have it to level 2-7. - - Your final score is your worst score times your best score - - You'll see the levels in advance +- avoid showing a +1 and -1 at the same time when a combo increase is reset +- explain to iOS users how to add the app to home screen to get fullscreen +- delayed start on mobile to let users place the puck where they want +- experiment with showing the combo somewhere else, maybe top center, maybe instead of score. +- display a multiplicator if it's not 100%, have some perks add to it -- stats by lack of perk, like "best score without using hot start". -- split screen multiplayer -- Add color schemes into the game (ex : Catppuccin, Dracula, Terminal, etc) -Instead of automatically unlocking things at the end of each run, add the coins to the user's account, -and let them spend those coins on upgrades. The upgrades would then be explained. They could have a condition like -"reach high score of 1000" or 'reach high score of 99999 without using "hot start"'. -This requires recording a bit more info about each run. +## Game engine features ideas +- add a clickable button to allow sound to play in chrome android +- save state in localstorage for easy resume of a game in progress +- ask for permanent storage +- handle back bouton in menu +- Offline mode web for iphone +- controller support on web/mobile +- leaderboard for not using each perk, like "best runs without hot start" + -- final bosses (large vertical level that scrolls down faster and faster) - -## Rejected ideas +## Maybe one day - https://weblate.org/fr/ quite annoying to have merge conflicts while pushing, i'll enable it later. - [jaceys] Move the restart button out of the menu, so that it is more easily accessible (will allow user to choose starting perk instead) - colored coins only (coins should be of the color of the ball to count, otherwise what ? i'd rather avoid negative points) @@ -417,14 +360,35 @@ This requires recording a bit more info about each run. - 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 - + - store much more details about run (level by level) as numbers only (instead of json that gets big false) +- [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] 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 +- mobile option: relative movement of the touch would be amplified and added to the puck +- mobile option: don't pause on mobile when lifting finger +- translate fastlane presentation texts to french +- convert captures to mp4 unsing ffmpeg wasm because reddit refuses webm files +- disable zooming (for ios double tap) +- Waterline under the puck, coins slow down a lot, reflections +- webgl rendering: background gradient light map, shinier coins, quite hard +- on mobile, add an element that feels like it can be "grabbed" and make it shine while writing "Push here to play" +- hard mode : bricks take many hits, perks more rare, missing clears level score, missing coins deducts score.. +- architect mode : + - play 7 levels, each with a different build. + - Perk levels can only be used once, so if you take one for level 1, you won't have it to level 2-7. + - Your final score is your worst score times your best score + - You'll see the levels in advance +- stats by lack of perk, like "best score without using hot start". +- split screen multiplayer +- Add color schemes into the game (ex : Catppuccin, Dracula, Terminal, etc) +- final bosses (large vertical level that scrolls down faster and faster) +- add loop run where user levels can't be used in further loops (boring) +- add lab mode where you need to make three builds (complex, lots of clicking, not fun) + # Credits I pulled many background patterns from https://pattern.monster/ -Some of the sound generating code was written by ChatGPT, and heavily -adapted to my usage over time. - 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 Colin (obigre) brought a lot of fantastic ideas to the game, here's his website (in French) : https://colin-crapahute.bearblog.dev/ @@ -438,13 +402,11 @@ Here are a few interesting games in the breakout genre : - LBreakoutHD : https://sourceforge.net/p/lgames/code/HEAD/tree/trunk/lbreakouthd/ - Wizorb : https://store.steampowered.com/app/207420/Wizorb/ - Ricochet infinity : https://www.myabandonware.com/game/ricochet-infinity-dxm -- First prototype of B71 : https://breakout-v1.lecaro.me/ -- Second prototype of B71: https://breakout-v2.lecaro.me/ - Whackerball : https://store.steampowered.com/app/2192170/Whackerball/ # PC game suggestions -Here are a few games i've sank a lot of time in, and that inspired breakout in some way +Here are a few games I've sank a lot of time in, and that inspired breakout in some way - Heat signature : https://www.humblebundle.com/store/heat-signature - FTL : https://www.gog.com/en/game/faster_than_light @@ -456,7 +418,6 @@ Here are a few games i've sank a lot of time in, and that inspired breakout in s - Nuclear throne : https://store.steampowered.com/app/242680/Nuclear_Throne/ (don't buy on GOG it's outdated) - Brigador : https://www.gog.com/en/game/brigador - Teleglitch https://www.gog.com/en/game/teleglitch_die_more_edition -- Rollers of the realm : https://store.steampowered.com/app/262470/Rollers_of_the_Realm/ # How to install @@ -470,4 +431,7 @@ Breakout 71 can be installed and work offline in many ways: - Install the latest version from Fdroid : https://f-droid.org/packages/me.lecaro.breakout/ (updated very rarely because of the updates publication lag) - Download the index.html file or apk from my archive server : https://archive.lecaro.me/public-files/b71/ (any version including latests) +# System requirements +The game should perform well even on low-end devices. It's very lean and does not take much storage space (Roughly 0.1MB). The web version is supposed to work on iOS safari, Firefox ESR and chrome, on desktop and mobile. +If the app stutters, turn on "fast mode" in the settings to render a simplified view that should be faster. You can adjust many aspects of the game there, go have a look ! \ No newline at end of file diff --git a/checks.js b/checks.js new file mode 100644 index 0000000..84312d0 --- /dev/null +++ b/checks.js @@ -0,0 +1,4 @@ +// npx nodemon checks.js +const fs= require('fs') +const english = JSON.parse(fs.readFileSync('./src/i18n/en.json')) +console.log(Object.entries(english).sort((a,b)=>a[1].length-b[1].length).slice(-10,-1).map(([k,v])=>k+'\n'+k.split('').map(c=>'=').join('')+'\n\n'+v).join('\n\n')) \ No newline at end of file diff --git a/dist/index.html b/dist/index.html index a8d5a0f..03752e7 100644 --- a/dist/index.html +++ b/dist/index.html @@ -802,35 +802,35 @@ async function openUpgradesPicker(gameState) { const catchRate = (gameState.score - gameState.levelStartScore) / (gameState.levelSpawnedCoins || 1); let repeats = 1; let timeGain = "", catchGain = "", wallHitsGain = "", missesGain = ""; - if (gameState.levelWallBounces < 3) { + if (gameState.levelWallBounces < (0, _pureFunctions.wallBouncedBest)) { repeats++; gameState.rerolls++; wallHitsGain = (0, _i18N.t)("level_up.plus_one_upgrade_and_reroll"); - } else if (gameState.levelWallBounces < 10) { + } else if (gameState.levelWallBounces < (0, _pureFunctions.wallBouncedGood)) { repeats++; wallHitsGain = (0, _i18N.t)("level_up.plus_one_upgrade"); } - if (gameState.levelTime < 30000) { + if (gameState.levelTime < (0, _pureFunctions.levelTimeBest) * 1000) { repeats++; gameState.rerolls++; timeGain = (0, _i18N.t)("level_up.plus_one_upgrade_and_reroll"); - } else if (gameState.levelTime < 60000) { + } else if (gameState.levelTime < (0, _pureFunctions.levelTimeGood) * 1000) { repeats++; timeGain = (0, _i18N.t)("level_up.plus_one_upgrade"); } - if (catchRate > 0.95) { + if (catchRate > (0, _pureFunctions.catchRateBest) / 100) { repeats++; gameState.rerolls++; catchGain = (0, _i18N.t)("level_up.plus_one_upgrade_and_reroll"); - } else if (catchRate > 0.9) { + } else if (catchRate > (0, _pureFunctions.catchRateGood) / 100) { repeats++; catchGain = (0, _i18N.t)("level_up.plus_one_upgrade"); } - if (gameState.levelMisses < 3) { + if (gameState.levelMisses < (0, _pureFunctions.missesBest)) { repeats++; gameState.rerolls++; missesGain = (0, _i18N.t)("level_up.plus_one_upgrade_and_reroll"); - } else if (gameState.levelMisses < 6) { + } else if (gameState.levelMisses < (0, _pureFunctions.missesGood)) { repeats++; missesGain = (0, _i18N.t)("level_up.plus_one_upgrade"); } @@ -1007,9 +1007,20 @@ async function openMainMenu() { title: (0, _i18N.t)("main_menu.title"), content: [ ...actions, - (0, _i18N.t)("main_menu.footer_html", { - appVersion: (0, _loadGameData.appVersion) - }) + `

+ Made in France by Renan LE CARO. + Donate + Discord + F-Droid + Google Play + itch.io + Gitlab + Web version + HackerNews + Privacy Policy + Archives + v.${(0, _loadGameData.appVersion)} +

` ], allowClose: true }); @@ -2145,10 +2156,10 @@ function getFirstBrowserLanguage() { } },{"./fr.json":"b97sx","./en.json":"uYc9N","../settings":"5blfu","@parcel/transformer-js/src/esmodule-helpers.js":"gkKU3"}],"b97sx":[function(require,module,exports,__globalThis) { -module.exports = JSON.parse('{"confirmRestart.no":"Annuler, continuer ma partie en cours","confirmRestart.text":"Vous \xeates sur le point de commencer une nouvelle partie, est-ce vraiment ce que vous vouliez ?","confirmRestart.title":"D\xe9marrer une nouvelle partie\u202F?","confirmRestart.yes":"Commencer une nouvelle partie","gameOver.creative":"Cette partie de test et son score ne sont pas enregistr\xe9s.","gameOver.cumulative_total":"Votre score total cumul\xe9 est pass\xe9 de {{startTs}} \xe0 {{endTs}}.","gameOver.lost.summary":"Vous avez fait tomber la balle apr\xe8s avoir attrap\xe9 {{score}} pi\xe8ces.","gameOver.lost.title":"Balle perdue","gameOver.restart":"Nouvelle partie","gameOver.stats.balls_lost":"Balles perdues","gameOver.stats.bricks_broken":"Briques cass\xe9es","gameOver.stats.bricks_per_minute":"Briques cass\xe9es par minute","gameOver.stats.catch_rate":"Pi\xe8ces attrap\xe9es","gameOver.stats.combo_avg":"Combo moyen","gameOver.stats.combo_max":"Combo maximum","gameOver.stats.duration_per_level":"Dur\xe9e par niveau","gameOver.stats.hit_rate":"Pr\xe9cision","gameOver.stats.intro":"Vous trouverez ci-dessous les statistiques de cette partie compar\xe9es \xe0 vos {{count}} meilleures parties.","gameOver.stats.level_reached":"Niveau atteint","gameOver.stats.total_score":"Score total","gameOver.stats.upgrades_applied":"Mises \xe0 jour appliqu\xe9es","gameOver.unlocked_perk":"Am\xe9lioration d\xe9bloqu\xe9e","gameOver.unlocked_perk_plural":"Vous avez d\xe9bloqu\xe9 {{count}} am\xe9liorations","gameOver.win.summary":"Cette partie est termin\xe9e. Vous avez accumul\xe9 {{score}} pi\xe8ces. ","gameOver.win.title":"Vous avez termin\xe9 cette partie","history.columns.max_combo":"Combo maximum","history.columns.max_level":"Les niveaux","history.columns.puck_bounces":"PB","history.columns.puck_bounces_tooltip":"Rebonds du palet : nombre de fois o\xf9 la balle a rebondi sur le palet","history.columns.runTime":"Dur.","history.columns.runTime_tooltip":"Dur\xe9e de la partie, en secondes, en comptant uniquement le temps o\xf9 le jeu se d\xe9roule et o\xf9 la balle est en mouvement","history.columns.score":"Score","history.columns.started":"Date","history.columns.upgrades_picked":"Mises \xe0 niveau","history.help":"Voir la liste de votre jeu {{count}} ","history.locked":"Jouez d\'abord au moins dix parties","history.title":"Historique","lab.help":"Essayez n\'importe quel build","lab.instructions":"S\xe9lectionnez les am\xe9liorations ci-dessous, puis choisissez le niveau \xe0 jouer. Les parties en mode cr\xe9atif sont ignor\xe9es dans les d\xe9blocages, le meilleur score, le score total et les statistiques, et ne durent qu\'un seul niveau.","lab.menu_entry":"Mode cr\xe9atif","lab.reset":"Retirer toutes les am\xe9liorations","lab.select_level":"S\xe9lectionnez un niveau sur lequel jouer","lab.unlocks_at":"D\xe9verrouill\xe9 \xe0 partir d\'un score total de {{score}}","level_up.after_buttons":"Vous venez de terminer le niveau {{level}}/{{max}}.","level_up.before_buttons":"Vous avez attrap\xe9 {{score}} pi\xe8ces {{catchGain}} sur {{levelSpawnedCoins}} en {{time}} secondes {{timeGain}}.\\n\\nVous avez rat\xe9 les briques {{levelMisses}} fois {{missesGain}} et touch\xe9 les bords de la zone de jeu {{levelWallBounces}} fois {{wallHitsGain}}.\\n\\n{{compliment}}","level_up.compliment_advice":"Essayez d\'attraper toutes les pi\xe8ces, de ne jamais rater les briques, de ne pas toucher les murs ou de terminer le niveau en moins de 30 secondes pour obtenir des choix suppl\xe9mentaires et des am\xe9liorations.","level_up.compliment_good":"Bravo !","level_up.compliment_perfect":"Impressionnant, continuez comme \xe7a !","level_up.pick_upgrade_title":"Choisir une am\xe9lioration","level_up.plus_one_upgrade":"(+1 upgrade)","level_up.plus_one_upgrade_and_reroll":"(+1 am\xe9lioration et +1 re-roll)","level_up.reroll":"Re-roll ({{count}})","level_up.reroll_help":"Nouveaux choix","level_up.unlocked_level":" (Niveau)","level_up.unlocked_perk":" (Am\xe9lioration)","level_up.upgrade_perk_to_level":" niveau {{level}}","main_menu.basic":"Graphismes simplifi\xe9s","main_menu.basic_help":"Meilleures performances.","main_menu.colorful_coins":"Pi\xe8ces color\xe9es","main_menu.colorful_coins_help":"Les pi\xe8ces apparaissent toujours de la couleur de la brique","main_menu.comboIncreaseTexts":"Afficher un +X dor\xe9","main_menu.comboIncreaseTexts_help":"Quand le combo augmente","main_menu.contrast":"Contraste \xe9lev\xe9","main_menu.contrast_help":"Affichage plus contrast\xe9 et color\xe9","main_menu.credit_levels":"

Source des niveaux

","main_menu.donate":"Vous avez jou\xe9 {{hours}} heures","main_menu.donate_help":"Pourriez-vous donner quelques euros ? Vous pouvez masquer ce rappel dans les param\xe8tres.","main_menu.donation_reminder":"Me rappeler de donner","main_menu.donation_reminder_help":"Afficher le temps de jeu et un lien pour donner dans le menu principal","main_menu.download_save_file":"Sauvegarder mes progr\xe8s","main_menu.download_save_file_help":"Obtenir un fichier de sauvegarde","main_menu.extra_bright":"Plus de lumi\xe8re","main_menu.extra_bright_help":"Plus grand halo lumineux autours des briques et pi\xe8ces.","main_menu.footer_html":"

\\nProgramm\xe9 en France par Renan LE CARO.\\nDonner\\nDiscord\\nF-Droid\\nGoogle Play\\nitch.io\\nGitlab\\nVersion web\\nHackerNews\\nPolitique de confidentialit\xe9 \\nv.{{appVersion}}\\n

","main_menu.fullscreen":"Plein \xe9cran","main_menu.fullscreen_help":"Le jeu essaiera de passer en plein \xe9cran quand vous le d\xe9marrez","main_menu.help_content":"# Objectif\\n\\nLe but est d\'attraper un maximum de pi\xe8ces au cours des 7 niveaux.\\nLes pi\xe8ces apparaissent lorsque vous cassez des briques.\\nElles volent, rebondissent et roulent, et vous devez les attraper avec votre palet pour augmenter votre score.\\nVotre score est affich\xe9 en haut \xe0 droite de l\'\xe9cran.\\nVous devez supprimer toutes les briques pour passer au niveau suivant.\\nSi vous laissez tomber la balle, la partie est termin\xe9e, sauf si vous aviez l\'am\xe9lioration \xab\xa0Vie suppl\xe9mentaire\xa0\xbb.\\n\\n# Am\xe9liorations\\n\\nApr\xe8s avoir termin\xe9 un niveau, vous pourrez choisir des am\xe9liorations parmi une petite s\xe9lection qui vous sera pr\xe9sent\xe9e.\\nL\'am\xe9lioration choisie sera valable jusqu\'\xe0 la fin de la partie. Vous aurez plus de choix d\'am\xe9liorations, et m\xeame la possibilit\xe9 d\'en choisir plusieurs \xe0 la fin du niveau si vous jouez bien\xa0: attrapez toutes les pi\xe8ces, terminez le niveau rapidement et ne ratez jamais votre cible.\\nVous obtenez \xe9galement une am\xe9lioration al\xe9atoire gratuite au d\xe9but de chaque partie. Vous pouvez voir vos am\xe9liorations (et quelques d\xe9tails suppl\xe9mentaires) en cliquant sur votre score en haut \xe0 droite de l\'\xe9cran.\\n\\nLes am\xe9liorations s\'appliquent \xe0 l\'ensemble de la partie et peuvent \xeatre synergiques. Par exemple, si vous combinez \xab\xa0sapeur\xa0\xbb et \xab\xa0perforant\xa0\xbb, la premi\xe8re brique que vous touchez apr\xe8s un rebond de palet se transformera imm\xe9diatement en brique explosive et explosera avec la m\xeame balle, vous donnant ainsi une balle explosive.\\n\\nCertaines am\xe9liorations facilitent la vis\xe9e, comme les \xab\xa0balles de contr\xf4le de palet\xa0\xbb. Certaines am\xe9liorations peuvent \xeatre s\xe9lectionn\xe9es plusieurs fois pour augmenter leur effet. Par exemple, \xab\xa0+1 balle niveau 2\xa0\xbb ajoute une troisi\xe8me balle.\\n\\nLors de votre premi\xe8re partie, seules quelques am\xe9liorations sont disponibles\xa0; vous d\xe9bloquez les autres en jouant et en marquant des points. \xc0 la fin d\'une partie, les \xe9l\xe9ments que vous venez de d\xe9bloquer seront affich\xe9s et vous pourrez consulter leur contenu complet dans le menu / D\xe9blocages.\\n\\nDe nombreuses am\xe9liorations influencent votre combo.\\n\\n# Combo\\n\\nVotre \xab\xa0combo\xa0\xbb correspond au nombre de pi\xe8ces g\xe9n\xe9r\xe9es lorsqu\'une brique se brise. L\'affichage est sur votre palet. Par exemple, x4 signifie que chaque brique rapporte 4 pi\xe8ces. Le combo se r\xe9initialise si vous ratez toutes les briques et que la balle revient vers le palet sans en avoir touch\xe9 aucune.\\n\\n# D\xe9blocages\\n\\nLorsque vous d\xe9marrez Breakout 71 pour la premi\xe8re fois, vous avez acc\xe8s \xe0 quelques am\xe9liorations et niveaux. Les autres doivent \xeatre d\xe9bloqu\xe9s. Les am\xe9liorations se d\xe9bloquent simplement en jouant. Chaque fois que vous attrapez une pi\xe8ce, votre score total cumul\xe9 augmente d\'un point. Une fois le seuil de l\'am\xe9lioration atteint, elle est d\xe9bloqu\xe9e.\\n\\nLe d\xe9blocage des niveaux est un peu diff\xe9rent\xa0: il requiert une excellente ma\xeetrise du jeu, de diff\xe9rentes mani\xe8res. Les premiers niveaux n\xe9cessitent d\'atteindre le score X pendant une partie, tandis que les niveaux suivants sont d\xe9bloqu\xe9s en atteignant un score \xe9lev\xe9 de X avec l\'am\xe9lioration Y et sans l\'am\xe9lioration Z. Toutes ces conditions sont pseudo-al\xe9atoires, certaines sont donc probablement plus difficiles que d\'autres. Elles devraient toutefois \xeatre les m\xeames pour tous les joueurs. Il est possible qu\'une mise \xe0 jour modifie les am\xe9liorations requises.\\n\\n# Configuration requise\\n\\nBreakout 71 peut fonctionner hors ligne (ajoutez-le \xe0 l\'\xe9cran d\'accueil) et fonctionne bien m\xeame sur les appareils bas de gamme.\\nL\'application est tr\xe8s simple et occupe peu d\'espace de stockage (environ 0,1 Mo).\\nSi l\'application est instable, activez le \xab\xa0mode rapide\xa0\xbb dans les param\xe8tres pour afficher une vue simplifi\xe9e et plus rapide. Il existe \xe9galement un mode facile pour les enfants (balle plus lente).\\n\\n# Boucle\\n\\nUne fois toutes les am\xe9liorations d\xe9bloqu\xe9es, vous aurez la possibilit\xe9 de jouer une partie plus longue.\\nDans ce mode, vous pouvez boucler le jeu jusqu\'\xe0 7 fois apr\xe8s votre premi\xe8re tentative.\\n\\nChaque boucle est plus courte et vous ne pouvez pas utiliser les niveaux d\'avantages utilis\xe9s dans les niveaux pr\xe9c\xe9dents, \xe0 l\'exception d\'un avantage que vous pouvez am\xe9liorer continuellement. Si vous \xe9puisez compl\xe8tement un avantage, il ne sera plus propos\xe9 dans les boucles suivantes. L\'avantage que vous am\xe9liorez gagne instantan\xe9ment +1 niveau et +2 niveaux max.\\n\\nChaque boucle est plus courte d\'un niveau. La balle d\xe9marre l\xe9g\xe8rement plus vite. La partie se termine lorsque vous perdez le ballon ou terminez la 7e boucle.\\n\\n# Vis\xe9e\\n\\nSeule la position du palet frapp\xe9 d\xe9termine la trajectoire du ballon. Si le ballon touche le palet en plein centre, il rebondira verticalement, tandis que si vous frappez davantage d\'un c\xf4t\xe9, l\'angle sera plus grand.\\nLa vitesse du palet et l\'angle d\'arriv\xe9e n\'ont aucun impact sur la direction du ballon apr\xe8s le rebond.\\n\\nUn palet plus petit facilitera peut-\xeatre la vis\xe9e pr\xe8s des coins, mais rendra aussi beaucoup plus difficile la capture de pi\xe8ces.\\nLes options \xab\xa0Vent\xa0\xbb et \xab\xa0T\xe9l\xe9kinesis\xa0\xbb peuvent vous aider \xe0 viser m\xeame apr\xe8s un rebond dans la mauvaise direction.\\n\xab\xa0Balle plus lente\xa0\xbb vous donne un peu plus de temps pour viser, ce qui est particuli\xe8rement utile dans les niveaux avanc\xe9s o\xf9 la balle va plus vite. La balle acc\xe9l\xe8re \xe9galement \xe0 mesure que vous progressez dans chaque niveau.","main_menu.help_help":"D\xe9couvrez le jeu en d\xe9tail","main_menu.help_title":"Aide","main_menu.help_upgrades":"

Am\xe9liorations

","main_menu.high_score":"High score : {{score}}","main_menu.kid":"Mode enfants","main_menu.kid_help":"Balle plus lente","main_menu.language":"Langue","main_menu.language_help":"Changer la langue d\'affichage","main_menu.load_save_file":"Charger une sauvegarde","main_menu.load_save_file_help":"Depuis un fichier ","main_menu.max_coins":"{{max}} pi\xe8ces affich\xe9es maximum","main_menu.max_coins_help":"Visuel uniquement, pas d\'impact sur le score","main_menu.max_particles":" {{max}} particules maximum","main_menu.max_particles_help":"Limite le nombre de particules affich\xe9es \xe0 l\'\xe9cran pour les effets visuels","main_menu.mobile":"Mode mobile","main_menu.mobile_help":"Laisse un espace sous le palet.","main_menu.normal":"Nouvelle partie","main_menu.normal_help":"Avec un avantage de d\xe9part al\xe9atoire","main_menu.pointer_lock":"Verrouillage du pointeur","main_menu.pointer_lock_help":"Cache aussi le curseur de la souris.","main_menu.record":"Enregistrer des vid\xe9os de jeu","main_menu.record_download":"T\xe9l\xe9charger la vid\xe9o ({{size}} MB)","main_menu.record_help":"Obtenez une vid\xe9o de chaque niveau.","main_menu.red_miss":"Balles rat\xe9es","main_menu.red_miss_help":"Afficher des particules rouges autours des balles qui redescendent sans avoir touch\xe9 une brique.","main_menu.reset":"R\xe9initialiser le jeu","main_menu.reset_cancel":"Non","main_menu.reset_confirm":"Oui","main_menu.reset_help":"Effacer les scores, statistiques et temps de jeu","main_menu.reset_instruction":"Vous perdrez tous les progr\xe8s que vous avez faits dans le jeu, \xeates-vous s\xfbr ?","main_menu.save_file_error":"Erreur lors du chargement du fichier de sauvegarde","main_menu.save_file_loaded":"Sauvegarde charg\xe9e","main_menu.save_file_loaded_help":"L\'appli va red\xe9marrer","main_menu.save_file_loaded_ok":"Ok","main_menu.settings_help":"Adaptez le jeu \xe0 vos besoins","main_menu.settings_title":"Param\xe8tre","main_menu.show_fps":"Compteur de FPS","main_menu.show_fps_help":"Surveiller la performance du jeu","main_menu.show_stats":"Statistiques en temps r\xe9el","main_menu.show_stats_help":"Pi\xe8ces, temps, rebonds, rat\xe9s","main_menu.sounds":"Sons du jeu","main_menu.sounds_help":"Ralentis certains t\xe9l\xe9phones.","main_menu.starting_perks":"Avantages de d\xe9part","main_menu.starting_perks_checked":"Lorsque vous d\xe9marrez une nouvelle partie, l\'un de ces avantages vous sera attribu\xe9. Vous pouvez cliquer sur la liste pour exclure certains avantages de la s\xe9lection.","main_menu.starting_perks_help":"Choisissez les avantages de d\xe9part","main_menu.starting_perks_unchecked":"Les avantages ci-dessous ne sont pas propos\xe9s comme avantages de d\xe9part, mais vous pouvez cliquer pour les ajouter aux avantages de d\xe9part possibles.","main_menu.title":"Breakout 71","main_menu.unlocks":"Contenu d\xe9bloqu\xe9","main_menu.unlocks_help":"Essayez les \xe9l\xe9ments d\xe9bloqu\xe9s","play.close_modale_window_tooltip":"Fermer","play.current_lvl":"Niveau {{level}}/{{max}}","play.menu_label":"Menu","play.menu_tooltip":"Ouvrir le menu principal","play.missed_ball":"rat\xe9","play.mobile_press_to_play":"Gardez le doigt ici pour jouer","play.score_tooltip":"Consultez votre score, am\xe9liorations et plus encore","play.stats.coins_catch_rate":"Taux de capture des pi\xe8ces ","play.stats.levelMisses":"Tirs rat\xe9s, ou vous n\'avez touch\xe9 aucune brique","play.stats.levelTime":"Dur\xe9e du niveau","play.stats.levelWallBounces":"Rebonds sur les murs","score_panel.close_to_unlock":"Prochain niveau d\xe9bloqu\xe9 : ","score_panel.get_upgrades_to_unlock":"Obtenez {{missingUpgrades}} et attrapez {{points}} pi\xe8ces suppl\xe9mentaires pour d\xe9bloquer le niveau \xab\xa0{{level}}\xa0\xbb","score_panel.rerolls_count":"Vous avez accumul\xe9 {{rerolls}} rerolls","score_panel.score_to_unlock":"Attrapez {{points}} pi\xe8ces suppl\xe9mentaires pour d\xe9bloquer le niveau \xab\xa0{{level}}\xa0\xbb","score_panel.title":"{{score}} points au niveau {{level}}/{{max}} ","score_panel.upcoming_levels":"Niveaux de la parties : ","score_panel.upgrades_picked":"Am\xe9liorations choisies pendant la partie :","unlocks.greyed_out_help":"Les \xe9l\xe9ments gris\xe9es peuvent \xeatre d\xe9bloqu\xe9es en augmentant votre score total. Le score total augmente \xe0 chaque fois que vous marquez des points dans le jeu, en dehors des parties de test.","unlocks.intro":"Votre score total est de {{ts}}. Vous trouverez ci-dessous toutes les am\xe9liorations et tous les niveaux que le jeu peut offrir. Cliquez sur l\'un d\'entre eux pour les essayer dans une partie de test. Astuce : vous pouvez choisir les am\xe9liorations de d\xe9part dans les r\xe9glages.","unlocks.just_unlocked":"Niveau d\xe9bloqu\xe9","unlocks.just_unlocked_plural":"Vous venez de d\xe9bloquer {{count}} niveaux","unlocks.level":"

Vous avez d\xe9bloqu\xe9 {{unlocked}} niveaux sur {{out_of}}

\\n

Voici tous les niveaux du jeu, cliquez sur l\'un d\'eux pour d\xe9marrer une partie de test avec ce niveau de d\xe9part.

","unlocks.level_description":"Un niveau {{size}}x{{size}} avec {{bricks}} briques, {{colors}} couleurs et {{bombs}} bombes.","unlocks.minScore":"Atteignez un score de ${{minScore}} dans une partie pour d\xe9bloquer.","unlocks.minScoreWithPerks":"Atteignez ${{minScore}} dans une partie avec {{required}} mais sans {{forbidden}}.","unlocks.minTotalScore":"Accumuler un total de ${{score}}","unlocks.reached":"Votre meilleur score pour l\'instant est {{reached}}.","unlocks.title_upgrades":"Vous avez d\xe9bloqu\xe9 {{unlocked}} am\xe9liorations sur {{out_of}}","upgrades.addiction.fullHelp":"Le d\xe9compte ne commence qu\'\xe0 parti de la destruction de la premi\xe8re brique du niveau, et s\'arr\xeate d\xe8s qu\'il n\'y a plus de briques. ","upgrades.addiction.help":"+{{lvl}} combo / brique, combo perdu apr\xe8s {{delay}}s sans casser de briques","upgrades.addiction.name":"Addiction","upgrades.asceticism.fullHelp":"Il faudra trouver un moyen de stocker les pi\xe8ces pendant que le combo grandis. ","upgrades.asceticism.help":"+{{combo}} combo par brique cass\xe9e, - {{combo}} quand une pi\xe8ce est attrap\xe9e","upgrades.asceticism.name":"Asc\xe9tisme","upgrades.ball_attract_ball.fullHelp":"Les balles qui sont \xe9loign\xe9es de plus de 3/4 de la largeur d\'\xe9cran commencent \xe0 s\'attirer. La force d\'attraction est plus forte lorsque les balles sont plus \xe9loign\xe9es l\'une de l\'autre. Des particules arc-en-ciel voleront pour symboliser la force d\'attraction. Cet avantage n\'est offert que si vous avez d\xe9j\xe0 plus d\'une balle en jeu.","upgrades.ball_attract_ball.help":"Les balles attirent les balles","upgrades.ball_attract_ball.help_plural":"Force d\'attraction plus forte","upgrades.ball_attract_ball.name":"Gravit\xe9","upgrades.ball_attracts_coins.fullHelp":"Vous pourriez l\'utiliser pour que les pi\xe8ces orbitent autours de la balle et colorent les briques \xe0 proximit\xe9.","upgrades.ball_attracts_coins.help":"Les balles attirent les pi\xe8ces","upgrades.ball_attracts_coins.name":"Balles de fortune","upgrades.ball_repulse_ball.fullHelp":"Les balles qui se trouvent \xe0 moins d\'un quart de largeur d\'\xe9cran commencent \xe0 se repousser les unes les autres. La force de r\xe9pulsion est plus forte si elles sont proches l\'une de l\'autre. Des particules seront affich\xe9es pour symboliser l\'application de cette force. Cet avantage n\'est offert que si vous avez d\xe9j\xe0 plus d\'une balle.","upgrades.ball_repulse_ball.help":"Les balles repoussent les balles","upgrades.ball_repulse_ball.help_plural":"Force de r\xe9pulsion plus forte","upgrades.ball_repulse_ball.name":"Vol en formation","upgrades.base_combo.fullHelp":"Votre combo commence normalement \xe0 1 au d\xe9but du niveau et revient \xe0 1 lorsque vous rebondissez sans rien toucher. Avec cette caract\xe9ristique, le combo commence 3 points plus haut, ce qui fait que vous obtiendrez toujours au moins 4 pi\xe8ces par brique. Lorsque votre combo est r\xe9initialis\xe9, il revient \xe0 4 et non \xe0 1. Votre balle scintillera un peu pour indiquer que son combo est sup\xe9rieur \xe0 1.","upgrades.base_combo.help":"Le combo commence \xe0 {{coins}}.","upgrades.base_combo.name":"Combo +3","upgrades.bigger_explosions.fullHelp":"L\'explosion par d\xe9faut efface un carr\xe9 de 3x3 briques, avec cette am\xe9lioration un carr\xe9 de 5x5. Le vent soufflant les pi\xe8ces est \xe9galement beaucoup plus fort. L\'\xe9cran clignotera un peu apr\xe8s chaque explosion (sauf en mode graphismes basiques).","upgrades.bigger_explosions.help":"Explosions plus violentes","upgrades.bigger_explosions.name":"Kaboom","upgrades.bigger_puck.fullHelp":"Un grand palet permet de ne jamais rater la balle et d\'attraper plus de pi\xe8ces, ainsi que d\'orienter pr\xe9cis\xe9ment les rebonds (l\'angle de la balle ne d\xe9pend que de l\'endroit o\xf9 elle touche le palet). \\n\\nCependant, un grand palet est plus difficile \xe0 utiliser sur les c\xf4t\xe9s du niveau, sauf si vous le combinez avec une autre am\xe9lioration.","upgrades.bigger_puck.help":"Attrapez facilement plus de pi\xe8ces.","upgrades.bigger_puck.name":"Palet plus grand","upgrades.clairvoyant.fullHelp":"Vous aide \xe0 choisir les bonnes am\xe9liorations et \xe0 comprendre ce qu\'il se passe avec \\"briques solides\\". Les niveaux 2 et 3 (en mode loop) am\xe8nent des informations compl\xe9mentaires d\'une utilit\xe9 douteuse. ","upgrades.clairvoyant.help":"R\xe9v\xe8le les niveaux, PV des briques et direction des balles","upgrades.clairvoyant.name":"Clairvoyant","upgrades.coin_magnet.fullHelp":"Dirige les pi\xe8ces vers le palet. L\'effet est plus fort si la pi\xe8ce est d\xe9j\xe0 proche du palet. Attraper toutes les pi\xe8ces apporte des bonus sp\xe9ciaux dans le jeu. \\n\\nUne autre fa\xe7on d\'attraper plus de pi\xe8ces est de frapper les briques par le bas. La vitesse et la direction de la balle ont un impact sur la vitesse des pi\xe8ces produites.","upgrades.coin_magnet.help":"Le palet attire les pi\xe8ces","upgrades.coin_magnet.help_plural":"Effet plus marqu\xe9 sur les pi\xe8ces","upgrades.coin_magnet.name":"Aimant pour pi\xe8ces","upgrades.compound_interest.fullHelp":"Votre combo augmentera d\'une unit\xe9 \xe0 chaque fois que vous casserez une brique, g\xe9n\xe9rant de plus en plus de pi\xe8ces \xe0 chaque fois que vous casserez une brique. Veillez cependant \xe0 attraper chacune de ces pi\xe8ces avec votre palet, car toute pi\xe8ce perdue remettra votre combo \xe0 z\xe9ro. \\n \\nSi votre combinaison est sup\xe9rieure au minimum, une ligne rouge s\'affichera au bas de la zone de jeu pour vous le rappeler que les pi\xe8ces ne doivent pas aller \xe0 cet endroit.","upgrades.compound_interest.help":"+{{lvl}} combo par brique cass\xe9e, remise \xe0 z\xe9ro quand une pi\xe8ce est perdu","upgrades.compound_interest.name":"Int\xe9r\xeats","upgrades.concave_puck.fullHelp":"Les balles d\xe9marrent verticalement en d\xe9but de niveau, et rebondi sur le palet de mani\xe8re plus verticale et invers\xe9e.","upgrades.concave_puck.help":"Aide \xe0 \xe9viter les bords.","upgrades.concave_puck.name":"Palet concave","upgrades.corner_shot.fullHelp":"Aide \xe0 viser dans les coins","upgrades.corner_shot.help":"Laisse votre palet sortir de la zone encadr\xe9e","upgrades.corner_shot.name":"Tir en coin","upgrades.etherealcoins.fullHelp":"Il faudrait vous assurer que les pi\xe8ces tomberont bien quand m\xeame \xe0 un moment.","upgrades.etherealcoins.help":"Les pi\xe8ces ne subissent plus la gravit\xe9","upgrades.etherealcoins.name":"Monnaie spatiale ","upgrades.extra_levels.fullHelp":"La partie dure normalement 7 niveaux, apr\xe8s quoi le jeu est termin\xe9 et le score que vous avez atteint est votre score de partie.\\n\\nChoisir cette am\xe9lioration vous permet de prolonger la partie d\'un niveau. Les derniers niveaux sont souvent ceux o\xf9 vous faites le plus de points, la diff\xe9rence peut donc \xeatre spectaculaire.","upgrades.extra_levels.help":"Jouer {{count}} niveaux au lieu de 7","upgrades.extra_levels.name":"+1 niveau","upgrades.extra_life.fullHelp":"Normalement, vous n\'avez qu\'une seule balle par manche, et la manche est termin\xe9e d\xe8s que vous la laissez tomber.\\n\\nCette comp\xe9tence ajoute une barre blanche en bas de l\'\xe9cran qui sauvera une balle une fois, et se brisera au cours du processus.\\n\\nVous pouvez prendre plusieurs vies d\'avances, elle seront utilis\xe9es \xe0 chaque fois qu\'une balle est sur le point d\'\xeatre perdue. ","upgrades.extra_life.help":"La balle rebondit une fois avant d\'\xeatre perdue.","upgrades.extra_life.help_plural":"La balle rebondit {{lvl}} fois avant d\'\xeatre perdue.","upgrades.extra_life.name":"+1 vie","upgrades.forgiving.fullHelp":" La premi\xe8re brique rat\xe9e par niveau ne co\xfbte rien, la suivante 10%, 20%, etc.","upgrades.forgiving.help":"Rater les briques fait perdre un portion progressivement plu importante du combo","upgrades.forgiving.name":"L\'erreur est humaine","upgrades.fountain_toss.fullHelp":"","upgrades.fountain_toss.help":"Quand une pi\xe8ce est perdue alors que votre combo \xe9tait en dessous de {{max}}, votre combo \xe0 une probabilit\xe9 de {{lvl}}/combo d\'\xeatre incr\xe9ment\xe9","upgrades.fountain_toss.name":"Pi\xe8ce dans la fontaine","upgrades.ghost_coins.fullHelp":"Ce n\'est pas une bug, c\'est une fonctionnalit\xe9 ! Les pi\xe8ces passent \xe0 travers les briques doucement. Les niveaux plus \xe9lev\xe9s permettent aux pi\xe8ce de traverser les briques plus vite.","upgrades.ghost_coins.help":"Les pi\xe8ces traversent les briques doucement","upgrades.ghost_coins.name":"Pi\xe8ces fant\xf4me","upgrades.helium.fullHelp":"Les pi\xe8ces attendront d\'\xeatre sous le palet pour tomber. ","upgrades.helium.help":"Les pi\xe8ce flottent au lieu de tomber autours du palet","upgrades.helium.name":"Helium","upgrades.hot_start.fullHelp":"Au d\xe9but de chaque niveau, votre combo commencera \xe0 +30 points, mais \xe0 chaque seconde, il sera diminu\xe9 d\'un point. Cela signifie que les 30 premi\xe8res secondes d\'un niveau produiront beaucoup plus de pi\xe8ces que les suivantes.\\nVous devez vous assurer de terminer le niveau rapidement. L\'effet se cumule avec d\'autres avantages li\xe9s au combo, ce qui vous permet d\'augmenter le combo apr\xe8s les 30 secondes, mais il continuera \xe0 diminuer chaque seconde. Chaque fois que vous reprenez la comp\xe9tence, l\'effet est encore plus prononc\xe9.","upgrades.hot_start.help":"Combo \xe0 {{start}}, -{{loss}} combo par seconde","upgrades.hot_start.name":"D\xe9marrage \xe0 chaud","upgrades.implosions.fullHelp":"La force d\u2019explosion est appliqu\xe9e dans l\u2019autre sens. Les niveaux 2+ augmentent la puissance de l\'implosion. ","upgrades.implosions.help":"Les explosions aspirent les pi\xe8ces au lieu de les faire exploser.","upgrades.implosions.name":"Implosions","upgrades.instant_upgrade.fullHelp":"Choisissez imm\xe9diatement deux am\xe9liorations, afin d\'en obtenir une gratuite et une autre pour rembourser celle utilis\xe9e pour obtenir cet avantage. Chaque fois que vous choisirez des am\xe9liorations dans le menu suivant, vous aurez moins de choix.","upgrades.instant_upgrade.help":"-{{lvl}} choix jusqu\'\xe0 la fin de la partie.","upgrades.instant_upgrade.name":"+2 am\xe9liorations maintenant","upgrades.left_is_lava.fullHelp":"Chaque fois que vous cassez une brique, votre combo augmente d\'une unit\xe9, ce qui vous permet d\'obtenir une pi\xe8ce de plus \xe0 chaque fois que vous cassez une brique.\\n\\nCependant, votre combinaison se r\xe9initialise d\xe8s que votre balle touche le c\xf4t\xe9 gauche.\\n\\nD\xe8s que votre combo augmente, le c\xf4t\xe9 gauche devient rouge pour vous rappeler que vous devez \xe9viter de le frapper.","upgrades.left_is_lava.help":"+{{lvl}} combo par brique, perdu en touchant le bord gauche","upgrades.left_is_lava.name":"\xc9viter le c\xf4t\xe9 gauche","upgrades.limitless.fullHelp":"Choisir cet avantage augmente \xe9galement sa propre limite d\'un point, vous permettant de le choisir \xe0 nouveau.","upgrades.limitless.help":"Augmenter le niveau maximum de toutes les mises \xe0 niveau de {{lvl}} ","upgrades.limitless.name":"Sans limites","upgrades.metamorphosis.fullHelp":"Avec cette am\xe9lioration, les pi\xe8ces seront de la couleur de la brique d\'o\xf9 elles proviennent et coloreront la premi\xe8re brique qu\'elles toucheront. \\n\\nLes pi\xe8ces apparaissent \xe0 la vitesse de la balle qui les a cass\xe9es, ce qui signifie que vous pouvez viser un peu dans la direction des briques que vous voulez \\"peindre\\".","upgrades.metamorphosis.help":"Chaque pi\xe8ces peut tacher {{lvl}} brique(s) avec sa couleur","upgrades.metamorphosis.name":"M\xe9tamorphose","upgrades.minefield.fullHelp":"Ajoute +lvl au combo lorsqu\'une brique est plac\xe9e, -lvl lorsqu\'elle est d\xe9truite et augmente le combo de base du nombre de briques multipli\xe9 par le niveau","upgrades.minefield.help":"+{{lvl}} combo par brique explosive \xe0 l\'\xe9cran","upgrades.minefield.name":"Terrain min\xe9","upgrades.multiball.fullHelp":"D\xe8s que vous laissez tomber la balle dans Breakout 71, vous perdez. \\n\\nAvec cet avantage, vous obtenez deux balles, et vous pouvez donc vous permettre d\'en perdre une.\\n\\nLes balles perdues reviennent au niveau suivant. \\n\\nLe fait d\'avoir plus d\'une balle permet d\'obtenir d\'autres avantages et, bien s\xfbr, de franchir le niveau plus rapidement.","upgrades.multiball.help":"Chaque niveau commence avec {{count}} balles.","upgrades.multiball.name":"+1 balle","upgrades.nbricks.fullHelp":"Si votre balle rebondis sans casser une brique, \xe7a compte quand m\xeame comme une frappe. Les briques d\xe9truites par des explosions ne comptent pas.","upgrades.nbricks.help":"Frappez exactement {{lvl}} briques par rebond pour +{{lvl}} combo, sinon combo perdu","upgrades.nbricks.name":"Pr\xe9l\xe8vement","upgrades.one_more_choice.fullHelp":"Chaque menu d\'am\xe9lioration comportera une option suppl\xe9mentaire. Cela n\'augmente pas le nombre d\'am\xe9liorations que vous pouvez choisir, mais vous aide \xe0 cr\xe9er le profile id\xe9al. ","upgrades.one_more_choice.help":"Les niveaux suivants offriront {{lvl}} option(s) suppl\xe9mentaire(s) dans la liste d\'am\xe9liorations.","upgrades.one_more_choice.name":"+1 choix","upgrades.passive_income.fullHelp":"Certaines am\xe9lioration font bouger les balles sans avoir besoin de mettre le palet en mouvement.","upgrades.passive_income.help":"+{{lvl}} combo / brique, sauf si le palet \xe0 boug\xe9 dans les {{time}} derni\xe8res secondes, combo perdu dans ce cas","upgrades.passive_income.name":"Revenu passif","upgrades.picky_eater.fullHelp":"Chaque fois que vous cassez une brique de la m\xeame couleur que votre balle, votre combo augmente d\'une unit\xe9.\\n\\nS\'il s\'agit d\'une couleur diff\xe9rente, la balle adopte cette nouvelle couleur, mais la combinaison est r\xe9initialis\xe9e, sauf s\'il n\'y avais plus aucune brique de la couleur de la balle.\\n\\nLes briques de la mauvaise couleur sont entour\xe9es en rouge.\\n\\nSi vous avez plus d\'une balle, elles changent toutes de couleur en m\xeame temps lorsque l\'une d\'entre elles touche une brique.","upgrades.picky_eater.help":"+{{lvl}} combo par brique cass\xe9e la couleur de la balle, combo perdu sinon","upgrades.picky_eater.name":"Mangeur par couleur","upgrades.pierce.fullHelp":"Normalement , la balle rebondit d\xe8s qu\'elle touche une brique. Avec cette caract\xe9ristique, elle continuera sa trajectoire jusqu\'\xe0 3 briques cass\xe9es.\\n\\nApr\xe8s cela, elle rebondira sur la quatri\xe8me brique et vous devez toucher le palet pour remettre le compteur \xe0 z\xe9ro.","upgrades.pierce.help":"La balle perce {{count}} briques apr\xe8s chaque rebond sur le palet","upgrades.pierce.name":"Balle per\xe7ante","upgrades.pierce_color.fullHelp":"Chaque fois qu\'une balle touche une brique de la m\xeame couleur, elle la traverse sans encombre.\\n\\nLorsqu\'elle atteint une brique de couleur diff\xe9rente, elle la casse, prend sa couleur et rebondit. \\n\\nSi vous avez des briques solides, le fonctionnement est un peu diff\xe9rent. ","upgrades.pierce_color.help":"+{{lvl}} dommage sur les briques de la couleur de la balle","upgrades.pierce_color.name":"Perceur de couleur","upgrades.puck_repulse_ball.fullHelp":"Lorsqu\'une balle s\'approche du palet, elle commence \xe0 ralentir, voire \xe0 rebondir sans toucher le palet. Beaucoup de choses sont li\xe9es \xe0 un passage par le palet dans le jeu, donc \xe7a pourrait ouvrir des possibilit\xe9s. ","upgrades.puck_repulse_ball.help":"Le palet repousse les balles","upgrades.puck_repulse_ball.help_plural":"La force de r\xe9pulsion est plus grande","upgrades.puck_repulse_ball.name":"Atterrissage en douceur","upgrades.reach.fullHelp":"S\'il n\'y a qu\'une seule rang\xe9e de briques, ou si la rang\xe9e la plus basse couvre toute la largeur du jeu, cet avantage est sans effet. Sinon, briser cette rang\xe9e la plus basse r\xe9initialise le combo\xa0; briser toute autre rang\xe9e augmente le combo du nombre de briques pr\xe9sentes sur cette rang\xe9e.\\n\\nLa rang\xe9e de briques du bas sera entour\xe9e en rouge pour vous rappeler de ne pas la toucher. ","upgrades.reach.help":"Casser une des N briques de la ligne la plus basse d\xe9truit le combo. Sinon, +N combo.","upgrades.reach.name":"Attaque a\xe9rienne","upgrades.respawn.fullHelp":"Des effets de particules vous indiqueront o\xf9 les briques appara\xeetront. ","upgrades.respawn.help":"{{percent}}% des briques r\xe9apparaissent apr\xe8s {{delay}}s.","upgrades.respawn.name":"R\xe9apparition ","upgrades.right_is_lava.fullHelp":"Chaque fois que vous cassez une brique, votre combo augmente d\'une unit\xe9, ce qui vous permet d\'obtenir une pi\xe8ce de plus \xe0 chaque fois que vous cassez les briques suivantes.\\n\\nCependant, votre combinaison se r\xe9initialise d\xe8s que votre balle touche le c\xf4t\xe9 droit de la zone de jeu.\\n\\nD\xe8s que votre combo augmente, le c\xf4t\xe9 droit devient rouge pour vous rappeler que vous devez \xe9viter de le frapper.","upgrades.right_is_lava.help":"+{{lvl}} combo par brique, perdu en cas de choc avec le cot\xe9 droit","upgrades.right_is_lava.name":"\xc9viter le c\xf4t\xe9 droit","upgrades.sacrifice.fullHelp":"Le combo pourrait monter assez haut.","upgrades.sacrifice.help_l1":"Perdre une vie d\xe9truit toutes les briques","upgrades.sacrifice.help_over":"Perdre une vie multiplie le combo par {{lvl}} puis d\xe9truit toutes les briques \xe0 l\'\xe9cran","upgrades.sacrifice.name":"Sacrifice","upgrades.sapper.fullHelp":"Au lieu de dispara\xeetre, la premi\xe8re brique cass\xe9e est remplac\xe9e par une bombe. Faire rebondir la balle sur le palet r\xe9arme l\'effet. En montant en niveau, vous pourrez placer plus de bombes. \\n\\nN\'oubliez pas que les bombes ont un impact sur la vitesse des pi\xe8ces \xe0 proximit\xe9. Trop d\'explosions peuvent rendre difficile la r\xe9cup\xe9ration des fruits de votre dur labeur.","upgrades.sapper.help":"La premi\xe8re brique cass\xe9e devient une bombe.","upgrades.sapper.help_plural":"Les premi\xe8res briques {{lvl}} cass\xe9es deviennent des bombes.","upgrades.sapper.name":"Sapeur","upgrades.shocks.fullHelp":"Quand deux balles entrent en collision, elles \xe9changent leurs vitesse, cr\xe9ent une explosion et gagnent un peu de vitesse qui les s\xe9pare. ","upgrades.shocks.help":"Collision explosive entre les balles","upgrades.shocks.name":"Choc","upgrades.shunt.fullHelp":"D\xe9marrage \xe0 chaud sera simplement ajout\xe9 au combo actuel","upgrades.shunt.help":"Garer {{percent}}% du combo au changement de niveau ","upgrades.shunt.name":"Shunt","upgrades.side_flip.fullHelp":"Impactez la brique sur son c\xf4t\xe9 droit pour obtenir un combo, mais \xe9vitez de la frapper sur son c\xf4t\xe9 gauche, car cela annulerait deux combos. Frapper du haut et du bas n\'a aucun effet.","upgrades.side_flip.help":"+{{lvl}} combo par brique cass\xe9 de la droite, -{{loss}} sinon","upgrades.side_flip.name":"Droitier","upgrades.side_kick.fullHelp":"Impactez la brique sur son c\xf4t\xe9 gauche pour obtenir un combo, mais \xe9vitez de la frapper sur son c\xf4t\xe9 droit, car cela annulerait deux combos. Frapper du haut et du bas n\'a aucun effet.","upgrades.side_kick.help":"+{{lvl}} combo par brique cass\xe9 de la gauche, -{{loss}} sinon","upgrades.side_kick.name":"Gaucher","upgrades.skip_last.fullHelp":"Vous devez casser toutes les briques pour passer au niveau suivant. \\n\\nCependant, il peut \xeatre difficile d\'obtenir les derni\xe8res briques.\\n\\nTerminer un niveau plus t\xf4t permet d\'obtenir des choix suppl\xe9mentaires lors de la mise \xe0 niveau. \\n\\nNe jamais manquer de briques est \xe9galement tr\xe8s avantageux.\\n\\nDonc, si vous avez du mal \xe0 casser les derni\xe8res briques, obtenir cet avantage plusieurs fois peut vous aider.","upgrades.skip_last.help":"La derni\xe8re brique s\'autod\xe9truit.","upgrades.skip_last.help_plural":"Les {{lvl}} derni\xe8res briques restantes s\'autod\xe9truiront","upgrades.skip_last.name":"Nettoyage facile","upgrades.slow_down.fullHelp":"La balle d\xe9marre relativement lentement, mais \xe0 chaque niveau de votre partie, elle d\xe9marre un peu plus vite, et elle acc\xe9l\xe8re \xe9galement si vous passez beaucoup de temps dans un niveau.\\n\\nCet avantage rend la balle plus facile \xe0 g\xe9rer. \\n\\nVous pouvez l\'obtenir au d\xe9but de chaque partie en activant le mode enfant dans le menu.","upgrades.slow_down.help":"La balle se d\xe9place plus lentement","upgrades.slow_down.name":"Balle lente","upgrades.smaller_puck.fullHelp":"Le palet est donc plus petit, ce qui, en th\xe9orie, facilite certains tirs en coin, mais augmente surtout la difficult\xe9.\\n\\nC\'est pourquoi vous b\xe9n\xe9ficiez \xe9galement d\'un bonus de +5 pi\xe8ces par brique pour toutes les briques que vous casserez apr\xe8s avoir choisi cette option.","upgrades.smaller_puck.help":"Donne aussi +5 combo","upgrades.smaller_puck.help_plural":"Palet encore plus petit et combinaison de base plus \xe9lev\xe9e","upgrades.smaller_puck.name":"Palet plus petit","upgrades.soft_reset.fullHelp":"Limite l\'impact d\'une r\xe9initialisation du combo.","upgrades.soft_reset.help":"La remise \xe0 z\xe9ro du combo conserve {{percent}}% des points","upgrades.soft_reset.name":"R\xe9initialisation progressive","upgrades.streak_shots.fullHelp":"Chaque fois que vous cassez une brique, votre combo (nombre de pi\xe8ces par brique) augmente d\'une unit\xe9. Cependant, d\xe8s que la balle touche votre palet, le combo est remis \xe0 sa valeur par d\xe9faut, et vous n\'obtiendrez qu\'une seule pi\xe8ce par brique.\\n\\nUne fois que votre combinaison d\xe9passe la valeur de base, votre palet devient rouge pour vous rappeler que le fait de le toucher avec la balle d\xe9truira votre combinaison.","upgrades.streak_shots.help":"Plus de pi\xe8ces si vous cassez plusieurs briques \xe0 la fois.","upgrades.streak_shots.name":"S\xe9quence de destruction","upgrades.sturdy_bricks.fullHelp":"Chaque niveau de cet am\xe9lioration ajoute un PV \xe0 toutes les briques. Vous pouvez consulter le nombre de PV avec l\'avantage \\"clairvoyant\\". Vous pouvez augmenter les d\xe9g\xe2ts des balles en obtenant l\'am\xe9lioration \\"Balle per\xe7ante\\". Chaque niveau de cet am\xe9lioration ajoute 50% de pi\xe8ces en plus.","upgrades.sturdy_bricks.help":"+{{lvl}} points de vie des briques, +{{percent}}% pi\xe8ces quand elles sont d\xe9truites","upgrades.sturdy_bricks.name":"Briques solides","upgrades.telekinesis.fullHelp":"Vous contr\xf4lez la balle pendant qu\'elle monte.","upgrades.telekinesis.help":"Contr\xf4ler la trajectoire de la balle","upgrades.telekinesis.help_plural":"Effet plus fort sur la balle","upgrades.telekinesis.name":"T\xe9l\xe9kin\xe9sie","upgrades.top_is_lava.fullHelp":"Chaque fois que vous cassez une brique, votre combo augmente d\'une unit\xe9. Cependant, votre combo sera r\xe9initialis\xe9 d\xe8s que votre balle atteindra le haut de l\'\xe9cran.\\n\\nLorsque votre combo est sup\xe9rieur au minimum, une barre rouge appara\xeet en haut de l\'\xe9cran pour vous rappeler que vous devez \xe9viter de la frapper.","upgrades.top_is_lava.help":"+{{lvl}} combo par brique, perdu en cas de rebond au plafond","upgrades.top_is_lava.name":"Icare ","upgrades.trampoline.fullHelp":"Une des rares am\xe9liorations \xe0 ne pas avoir de condition de remise \xe0 z\xe9ro","upgrades.trampoline.help":"+{{lvl}} combo \xe0 chaque rebond d\'une balle sur le palet,-{{lvl}} combo \xe0 chaque rebond sur un bord ","upgrades.trampoline.name":"Trampoline","upgrades.unbounded.fullHelp":"J\'esp\xe8re que vous avez trouv\xe9 un moyen de garder votre balle \xe0 l\'\xe9cran. Au niveau 2+, le plafond dispara\xeetra \xe9galement. Il s\'agit d\'un avantage avanc\xe9.","upgrades.unbounded.help":"+{{lvl}} combo par brique, plus de cot\xe9s pour garder la balle en jeu, danger","upgrades.unbounded.help_no_ceiling":"+{{lvl}} combo par brique, plus de cot\xe9s ou de plafond","upgrades.unbounded.name":"Lib\xe9r\xe9e, d\xe9livr\xe9e","upgrades.viscosity.fullHelp":"Les pi\xe8ces acc\xe9l\xe8rent normalement avec la gravit\xe9 et les explosions pour atteindre des vitesses assez \xe9lev\xe9es. \\n\\nCette comp\xe9tence les ralentit constamment, comme si elles se trouvaient dans une sorte de liquide visqueux.\\n\\nCela permet de les attraper plus facilement et se combine bien avec les am\xe9liorations qui influencent le mouvement de la pi\xe8ce.","upgrades.viscosity.help":"Chute plus lente des pi\xe8ces","upgrades.viscosity.name":"Fluide visqueux ","upgrades.wind.fullHelp":"Le vent d\xe9pend de l\'endroit o\xf9 se trouve le palet, s\'il est au centre de l\'\xe9cran, il ne se passe rien, s\'il est \xe0 gauche, il soufflera vers la gauche, s\'il est \xe0 droite de l\'\xe9cran, il soufflera vers la droite.\\n\\nLe vent affecte \xe0 la fois les balles et les pi\xe8ces.","upgrades.wind.help":"La position du palet cr\xe9e du vent","upgrades.wind.help_plural":"Force du vent plus importante","upgrades.wind.name":"Vive le vent","upgrades.yoyo.fullHelp":"C\'est l\'inverse de T\xe9l\xe9kin\xe9sie, contr\xf4lez la balle alors qu\'elle redescend vers le palet.","upgrades.yoyo.help":"La balle descend vers le palet","upgrades.yoyo.name":"Yo-yo","upgrades.zen.fullHelp":"C\'est quand m\xeame un jeu non violent \xe0 la base.","upgrades.zen.help":"+{{lvl}} combo par brique, jusqu\'\xe0 ce qu\'il y ait une explosion","upgrades.zen.name":"Zen"}'); +module.exports = JSON.parse('{"confirmRestart.no":"Annuler","confirmRestart.text":"Vous \xeates sur le point de commencer une nouvelle partie, est-ce vraiment ce que vous vouliez ?","confirmRestart.title":"D\xe9marrer une nouvelle partie\u202F?","confirmRestart.yes":"Commencer une nouvelle partie","gameOver.creative":"Cette partie de test ne sera pas enregistr\xe9e.","gameOver.cumulative_total":"Votre score total cumul\xe9 est pass\xe9 de {{startTs}} \xe0 {{endTs}}.","gameOver.lost.summary":"Vous avez fait tomber la balle apr\xe8s avoir attrap\xe9 {{score}} pi\xe8ces.","gameOver.lost.title":"Balle perdue","gameOver.stats.balls_lost":"Balles perdues","gameOver.stats.bricks_broken":"Briques cass\xe9es","gameOver.stats.bricks_per_minute":"Briques cass\xe9es par minute","gameOver.stats.catch_rate":"Pi\xe8ces attrap\xe9es","gameOver.stats.combo_avg":"Combo moyen","gameOver.stats.combo_max":"Combo maximum","gameOver.stats.duration_per_level":"Dur\xe9e par niveau","gameOver.stats.hit_rate":"Pr\xe9cision","gameOver.stats.intro":"Vous trouverez ci-dessous les statistiques de cette partie compar\xe9es \xe0 vos {{count}} meilleures parties.","gameOver.stats.level_reached":"Niveau atteint","gameOver.stats.total_score":"Score total","gameOver.stats.upgrades_applied":"Am\xe9liorations appliqu\xe9es","gameOver.unlocked_perk":"Am\xe9lioration d\xe9bloqu\xe9e","gameOver.unlocked_perk_plural":"Vous avez d\xe9bloqu\xe9 {{count}} am\xe9liorations","gameOver.win.summary":"Cette partie est termin\xe9e. Vous avez accumul\xe9 {{score}} pi\xe8ces. ","gameOver.win.title":"Vous avez termin\xe9 cette partie","history.columns.score":"Score","history.columns.started":"Date","history.help":"Liste vos {{count}} meilleurs parties.","history.locked":"Jouez d\'abord au moins dix parties","history.title":"Historique","lab.help":"Essayez n\'importe quel build","lab.instructions":"S\xe9lectionnez les am\xe9liorations ci-dessous, puis choisissez le niveau \xe0 jouer. .","lab.menu_entry":"Mode cr\xe9atif","lab.reset":"Retirer toutes les am\xe9liorations","lab.select_level":"S\xe9lectionnez un niveau sur lequel jouer","lab.unlocks_at":"D\xe9verrouill\xe9 \xe0 partir d\'un score total de {{score}}","level_up.after_buttons":"Vous venez de terminer le niveau {{level}}/{{max}}.","level_up.before_buttons":"Vous avez attrap\xe9 {{score}} pi\xe8ces {{catchGain}} sur {{levelSpawnedCoins}} en {{time}} secondes {{timeGain}}.\\n\\nVous avez rat\xe9 les briques {{levelMisses}} fois {{missesGain}} et touch\xe9 les bords de la zone de jeu {{levelWallBounces}} fois {{wallHitsGain}}.\\n\\n{{compliment}}","level_up.compliment_advice":"Essayez d\'attraper toutes les pi\xe8ces, de ne jamais rater les briques, de ne pas toucher les murs ou de terminer le niveau en moins de 30 secondes pour obtenir des choix suppl\xe9mentaires et des am\xe9liorations.","level_up.compliment_good":"Bravo !","level_up.compliment_perfect":"Impressionnant, continuez comme \xe7a !","level_up.pick_upgrade_title":"Choisir une am\xe9lioration","level_up.plus_one_upgrade":"(+1 upgrade)","level_up.plus_one_upgrade_and_reroll":"(+1 am\xe9lioration et +1 re-roll)","level_up.reroll":"Re-roll ({{count}})","level_up.reroll_help":"Nouveaux choix","level_up.upgrade_perk_to_level":" niveau {{level}}","main_menu.basic":"Graphismes simplifi\xe9s","main_menu.basic_help":"Meilleures performances.","main_menu.colorful_coins":"Pi\xe8ces color\xe9es","main_menu.colorful_coins_help":"Les pi\xe8ces apparaissent toujours de la couleur de la brique","main_menu.comboIncreaseTexts":"Afficher un +X dor\xe9","main_menu.comboIncreaseTexts_help":"Quand le combo augmente","main_menu.contrast":"Contraste \xe9lev\xe9","main_menu.contrast_help":"Affichage plus contrast\xe9 et color\xe9","main_menu.credit_levels":"Niveaux","main_menu.donate":"Vous avez jou\xe9 {{hours}} heures","main_menu.donate_help":"Pourriez-vous donner quelques euros ? Vous pouvez masquer ce rappel dans les param\xe8tres.","main_menu.donation_reminder":"Me rappeler de donner","main_menu.donation_reminder_help":"Afficher le temps de jeu et un lien pour donner dans le menu principal","main_menu.download_save_file":"Sauvegarder mes progr\xe8s","main_menu.download_save_file_help":"Obtenir un fichier de sauvegarde","main_menu.extra_bright":"Plus de lumi\xe8re","main_menu.extra_bright_help":"Plus grand halo lumineux autours des briques et pi\xe8ces.","main_menu.fullscreen":"Plein \xe9cran","main_menu.fullscreen_help":"Le jeu essaiera de passer en plein \xe9cran quand vous le d\xe9marrez","main_menu.help_content":"## Objectif\\n\\nAttrapez un maximum de pi\xe8ces au cours des 7 niveaux.\\nLes pi\xe8ces apparaissent lorsque vous cassez des briques.\\nAttrapez-les avec votre palet pour augmenter votre score.\\nVotre score est affich\xe9 en haut \xe0 droite de l\'\xe9cran.\\nNe laissez pas tomber la balle, sinon la partie est termin\xe9e.\\n\\nApr\xe8s avoir d\xe9truit toutes les briques, vous pourrez choisir une am\xe9lioration.\\n\\n## Am\xe9liorations\\n\\nLes am\xe9liorations que vous choisissez seront valables jusqu\'\xe0 la fin de la partie.\\nCertaines peuvent \xeatre s\xe9lectionn\xe9es plusieurs fois pour un effet plus puissant.\\nD\'autres aident \xe0 viser ou simplifient le jeu.\\nCertaines ne sont utiles que lorsqu\'elles sont combin\xe9es.\\n\\nVous obtenez toujours une am\xe9lioration au d\xe9but de chaque partie.\\nSon ic\xf4ne forme les briques du premier niveau.\\nVous pouvez s\xe9lectionner les am\xe9liorations de d\xe9part dans les param\xe8tres.\\n\\nDe nombreuses am\xe9liorations influencent votre combo.\\n\\n## Combo\\n\\nVotre \xab combo \xbb correspond au nombre de pi\xe8ces g\xe9n\xe9r\xe9es lorsqu\'une brique se casse.\\nIl est affich\xe9 sur votre palet. Par exemple, x4 signifie que chaque brique rapporte 4 pi\xe8ces.\\n\\nLa plupart des am\xe9liorations qui augmentent le combo ajoutent \xe9galement une condition pour le r\xe9initialiser.\\nLe combo se r\xe9initialise \xe9galement si la balle revient sur le palet sans toucher de brique.\\nUn message \xab\xa0Manqu\xe9\xa0\xbb s\'affiche alors.\\n\\nEssayez de viser vers un brique \xe0 chaque rebond.\\n\\n## Vis\xe9e\\n\\nSeule la position de la balle sur le palet d\xe9termine son angle de rebond.\\nSi la balle touche le palet en plein centre, elle rebondira verticalement.\\nSi vous frappez sur le c\xf4t\xe9 du palet, l\'angle sera plus grand.\\nLa vitesse et l\'angle d\'impact du palet n\'ont aucun impact sur la direction de la balle apr\xe8s le rebond.\\n\\nDe nombreuses am\xe9liorations facilitant la vis\xe9e peuvent \xeatre d\xe9bloqu\xe9es.\\n\\n## D\xe9blocages\\n\\nLorsque vous jouez \xe0 Breakout 71 pour la premi\xe8re fois, la plupart des am\xe9liorations et des niveaux sont verrouill\xe9s.\\nLes am\xe9liorations se d\xe9bloquent simplement en jouant et en attrapant beaucoup de pi\xe8ces.\\nLes premiers niveaux se d\xe9bloquent en atteignant un score \xe9lev\xe9.\\nLes niveaux suivants ajoutent une condition concernant les avantages s\xe9lectionn\xe9s.\\n\\nAtteindre des scores \xe9lev\xe9s est beaucoup plus facile lorsque vous obtenez plusieurs am\xe9liorations apr\xe8s chaque niveau.\\n\\n## Relances et am\xe9liorations gratuites\\n\\nVous obtiendrez une am\xe9lioration suppl\xe9mentaire si vous jouez bien\xa0:\\n\\n- Terminez le niveau en moins de {{levelTimeGood}} secondes\\n- Touchez les bords ou le haut moins de {{wallBouncedGood}} fois\\n- Attrapez {{catchRateGood}}\xa0% de pi\xe8ces\\n- Manquez les briques moins de {{missesGood}} fois\\n\\nVous b\xe9n\xe9ficierez \xe9galement d\'une relance qui vous permettra d\'ignorer les am\xe9liorations si vous faites encore mieux\xa0:\\n\\n- Terminez un niveau en moins de {{levelTimeBest}} secondes\\n- Touchez les bords ou le haut moins de {{wallBouncedBest}} fois\\n- Attrapez {{catchRateBest}}\xa0% de pi\xe8ces\\n- Manquez les briques moins de {{missesBest}} fois\\n\\nUne option dans les param\xe8tres vous permet d\'afficher ces statistiques ","main_menu.help_help":"D\xe9couvrez le jeu en d\xe9tail","main_menu.help_title":"Aide","main_menu.help_upgrades":"## Am\xe9liorations","main_menu.high_score":"High score : {{score}}","main_menu.kid":"Mode enfants","main_menu.kid_help":"Balle plus lente","main_menu.language":"Langue","main_menu.language_help":"Changer la langue d\'affichage","main_menu.load_save_file":"Charger une sauvegarde","main_menu.load_save_file_help":"Depuis un fichier ","main_menu.max_coins":"{{max}} pi\xe8ces affich\xe9es maximum","main_menu.max_coins_help":"Visuel uniquement, pas d\'impact sur le score","main_menu.max_particles":" {{max}} particules maximum","main_menu.max_particles_help":"Limite le nombre de particules affich\xe9es \xe0 l\'\xe9cran pour les effets visuels","main_menu.mobile":"Mode mobile","main_menu.mobile_help":"Laisse un espace sous le palet.","main_menu.normal":"Nouvelle Partie","main_menu.normal_help":"Avec un avantage de d\xe9part al\xe9atoire","main_menu.pointer_lock":"Verrouillage du pointeur","main_menu.pointer_lock_help":"Cache aussi le curseur de la souris.","main_menu.record":"Enregistrer des vid\xe9os de jeu","main_menu.record_download":"T\xe9l\xe9charger la vid\xe9o ({{size}} MB)","main_menu.record_help":"Obtenez une vid\xe9o de chaque niveau.","main_menu.red_miss":"Balles rat\xe9es","main_menu.red_miss_help":"Afficher des particules rouges autours des balles qui redescendent sans avoir touch\xe9 une brique.","main_menu.reset":"R\xe9initialiser le jeu","main_menu.reset_cancel":"Non","main_menu.reset_confirm":"Oui","main_menu.reset_help":"Effacer les scores, statistiques et temps de jeu","main_menu.reset_instruction":"Vous perdrez tous les progr\xe8s que vous avez faits dans le jeu, \xeates-vous s\xfbr ?","main_menu.save_file_error":"Erreur lors du chargement du fichier de sauvegarde","main_menu.save_file_loaded":"Sauvegarde charg\xe9e","main_menu.save_file_loaded_help":"L\'appli va red\xe9marrer","main_menu.save_file_loaded_ok":"Ok","main_menu.settings_help":"Adaptez le jeu \xe0 vos besoins","main_menu.settings_title":"Param\xe8tre","main_menu.show_fps":"Compteur de FPS","main_menu.show_fps_help":"Surveiller la performance du jeu","main_menu.show_stats":"Statistiques en temps r\xe9el","main_menu.show_stats_help":"Pi\xe8ces, temps, rebonds, rat\xe9s","main_menu.sounds":"Sons du jeu","main_menu.sounds_help":"Ralentis certains t\xe9l\xe9phones.","main_menu.starting_perks":"Avantages de d\xe9part","main_menu.starting_perks_checked":"Lorsque vous d\xe9marrez une nouvelle partie, l\'un de ces avantages vous sera attribu\xe9. Cliquez sur un avantage pour l\'exclure.","main_menu.starting_perks_help":"Choisissez les avantages de d\xe9part","main_menu.starting_perks_unchecked":"Les avantages ci-dessous ne sont pas propos\xe9s comme avantages de d\xe9part, mais vous pouvez cliquer pour les ajouter aux avantages de d\xe9part possibles.","main_menu.title":"Breakout 71","main_menu.unlocks":"Contenu d\xe9bloqu\xe9","main_menu.unlocks_help":"Essayez les \xe9l\xe9ments d\xe9bloqu\xe9s","play.close_modale_window_tooltip":"Fermer","play.current_lvl":"Niveau {{level}}/{{max}}","play.menu_label":"Menu","play.menu_tooltip":"Ouvrir le menu principal","play.missed_ball":"rat\xe9","play.mobile_press_to_play":"Gardez le doigt ici pour jouer","play.score_tooltip":"Consultez votre score, am\xe9liorations et plus encore","play.stats.coins_catch_rate":"Taux de capture des pi\xe8ces ","play.stats.levelMisses":"Tirs rat\xe9s, ou vous n\'avez touch\xe9 aucune brique","play.stats.levelTime":"Dur\xe9e du niveau","play.stats.levelWallBounces":"Rebonds sur les murs","score_panel.close_to_unlock":"Prochain niveau d\xe9bloqu\xe9 : ","score_panel.get_upgrades_to_unlock":"Obtenez {{missingUpgrades}} et attrapez {{points}} pi\xe8ces suppl\xe9mentaires pour d\xe9bloquer le niveau \xab\xa0{{level}}\xa0\xbb","score_panel.rerolls_count":"Vous avez accumul\xe9 {{rerolls}} rerolls","score_panel.score_to_unlock":"Attrapez {{points}} pi\xe8ces suppl\xe9mentaires pour d\xe9bloquer le niveau \xab\xa0{{level}}\xa0\xbb","score_panel.title":"{{score}} points au niveau {{level}}/{{max}} ","score_panel.upcoming_levels":"Niveaux de la parties : ","score_panel.upgrades_picked":"Am\xe9liorations choisies pendant la partie :","unlocks.greyed_out_help":"Les \xe9l\xe9ments gris\xe9es peuvent \xeatre d\xe9bloqu\xe9es en augmentant votre score total. Le score total augmente \xe0 chaque fois que vous marquez des points dans le jeu.","unlocks.intro":"Votre score total est de {{ts}}. Vous trouverez ci-dessous toutes les am\xe9liorations et tous les niveaux que le jeu peut offrir. Cliquez sur l\'un d\'entre eux pour les essayer dans une partie de test. ","unlocks.just_unlocked":"Niveau d\xe9bloqu\xe9","unlocks.just_unlocked_plural":"Vous venez de d\xe9bloquer {{count}} niveaux","unlocks.level":"

Vous avez d\xe9bloqu\xe9 {{unlocked}} niveaux sur {{out_of}}

\\n

Voici tous les niveaux du jeu, cliquez sur l\'un d\'eux pour l\'essayer.

","unlocks.level_description":"Un niveau {{size}}x{{size}} avec {{bricks}} briques, {{colors}} couleurs et {{bombs}} bombes.","unlocks.minScore":"Atteignez un score de ${{minScore}} dans une partie pour d\xe9bloquer.","unlocks.minScoreWithPerks":"Atteignez ${{minScore}} dans une partie avec {{required}} mais sans {{forbidden}}.","unlocks.minTotalScore":"Accumuler un total de ${{score}}","unlocks.reached":"Votre meilleur score pour l\'instant est {{reached}}.","unlocks.title_upgrades":"Vous avez d\xe9bloqu\xe9 {{unlocked}} am\xe9liorations sur {{out_of}}","upgrades.addiction.fullHelp":"Le d\xe9compte ne commence qu\'\xe0 parti de la destruction de la premi\xe8re brique du niveau, et s\'arr\xeate d\xe8s qu\'il n\'y a plus de briques. ","upgrades.addiction.help":"+{{lvl}} combo / brique, combo perdu apr\xe8s {{delay}}s sans casser de briques","upgrades.addiction.name":"Addiction","upgrades.asceticism.fullHelp":"Il faudra trouver un moyen de stocker les pi\xe8ces pendant que le combo grandis. ","upgrades.asceticism.help":"+{{combo}} combo par brique cass\xe9e, - {{combo}} quand une pi\xe8ce est attrap\xe9e","upgrades.asceticism.name":"Asc\xe9tisme","upgrades.ball_attract_ball.fullHelp":"Les balles qui sont \xe9loign\xe9es de plus de 3/4 de la largeur d\'\xe9cran commencent \xe0 s\'attirer. La force d\'attraction est plus forte lorsque les balles sont plus \xe9loign\xe9es l\'une de l\'autre. Des particules arc-en-ciel voleront pour symboliser la force d\'attraction. Cet avantage n\'est offert que si vous avez d\xe9j\xe0 plus d\'une balle en jeu.","upgrades.ball_attract_ball.help":"Les balles attirent les balles","upgrades.ball_attract_ball.help_plural":"Force d\'attraction plus forte","upgrades.ball_attract_ball.name":"Gravit\xe9","upgrades.ball_attracts_coins.fullHelp":"Vous pourriez l\'utiliser pour que les pi\xe8ces orbitent autours de la balle et colorent les briques \xe0 proximit\xe9.","upgrades.ball_attracts_coins.help":"Les balles attirent les pi\xe8ces","upgrades.ball_attracts_coins.name":"Balles de fortune","upgrades.ball_repulse_ball.fullHelp":"Les balles qui se trouvent \xe0 moins d\'un quart de largeur d\'\xe9cran commencent \xe0 se repousser les unes les autres. La force de r\xe9pulsion est plus forte si elles sont proches l\'une de l\'autre. Des particules seront affich\xe9es pour symboliser l\'application de cette force. Cet avantage n\'est offert que si vous avez d\xe9j\xe0 plus d\'une balle.","upgrades.ball_repulse_ball.help":"Les balles repoussent les balles","upgrades.ball_repulse_ball.help_plural":"Force de r\xe9pulsion plus forte","upgrades.ball_repulse_ball.name":"Vol en formation","upgrades.base_combo.fullHelp":"Votre combo commence normalement \xe0 1 au d\xe9but du niveau et revient \xe0 1 lorsque vous rebondissez sans rien toucher. Avec cette caract\xe9ristique, le combo commence 3 points plus haut, ce qui fait que vous obtiendrez toujours au moins 4 pi\xe8ces par brique. Lorsque votre combo est r\xe9initialis\xe9, il revient \xe0 4 et non \xe0 1. Votre balle scintillera un peu pour indiquer que son combo est sup\xe9rieur \xe0 1.","upgrades.base_combo.help":"Le combo commence \xe0 {{coins}} au lieu de 1.","upgrades.base_combo.name":"Meilleur base","upgrades.bigger_explosions.fullHelp":"L\'explosion par d\xe9faut efface un carr\xe9 de 3x3 briques, avec cette am\xe9lioration un carr\xe9 de 5x5. Le vent soufflant les pi\xe8ces est \xe9galement beaucoup plus fort. L\'\xe9cran clignotera un peu apr\xe8s chaque explosion (sauf en mode graphismes basiques).","upgrades.bigger_explosions.help":"Explosions plus violentes","upgrades.bigger_explosions.name":"Kaboom","upgrades.bigger_puck.fullHelp":"Un grand palet permet de ne jamais rater la balle et d\'attraper plus de pi\xe8ces, ainsi que d\'orienter pr\xe9cis\xe9ment les rebonds (l\'angle de la balle ne d\xe9pend que de l\'endroit o\xf9 elle touche le palet). \\n\\nCependant, un grand palet est plus difficile \xe0 utiliser sur les c\xf4t\xe9s du niveau.","upgrades.bigger_puck.help":"Attrapez facilement plus de pi\xe8ces.","upgrades.bigger_puck.name":"Palet plus grand","upgrades.clairvoyant.fullHelp":"Vous aide \xe0 choisir les bonnes am\xe9liorations et \xe0 comprendre ce qu\'il se passe avec \\"briques solides\\". Les niveaux 2 et 3 (en mode loop) am\xe8nent des informations compl\xe9mentaires d\'une utilit\xe9 douteuse. ","upgrades.clairvoyant.help":"R\xe9v\xe8le les niveaux, PV des briques et direction des balles","upgrades.clairvoyant.name":"Clairvoyant","upgrades.coin_magnet.fullHelp":"Dirige les pi\xe8ces vers le palet. L\'effet est plus fort si la pi\xe8ce est d\xe9j\xe0 proche du palet. Attraper toutes les pi\xe8ces apporte des bonus sp\xe9ciaux dans le jeu. \\n\\nUne autre fa\xe7on d\'attraper plus de pi\xe8ces est de frapper les briques par le bas. La vitesse et la direction de la balle ont un impact sur la vitesse des pi\xe8ces produites.","upgrades.coin_magnet.help":"Le palet attire les pi\xe8ces","upgrades.coin_magnet.help_plural":"Effet plus marqu\xe9 sur les pi\xe8ces","upgrades.coin_magnet.name":"Aimant pour pi\xe8ces","upgrades.compound_interest.fullHelp":"Votre combo augmentera d\'une unit\xe9 \xe0 chaque fois que vous casserez une brique, g\xe9n\xe9rant de plus en plus de pi\xe8ces \xe0 chaque fois que vous casserez une brique. Veillez cependant \xe0 attraper chacune de ces pi\xe8ces avec votre palet, car toute pi\xe8ce perdue remettra votre combo \xe0 z\xe9ro. \\n \\nSi votre combinaison est sup\xe9rieure au minimum, une ligne rouge s\'affichera au bas de la zone de jeu pour vous le rappeler que les pi\xe8ces ne doivent pas aller \xe0 cet endroit.","upgrades.compound_interest.help":"+{{lvl}} combo par brique cass\xe9e, remise \xe0 z\xe9ro quand une pi\xe8ce est perdu","upgrades.compound_interest.name":"Int\xe9r\xeats compos\xe9s","upgrades.concave_puck.fullHelp":"Les balles d\xe9marrent verticalement en d\xe9but de niveau, et rebondi sur le palet de mani\xe8re plus verticale et invers\xe9e.","upgrades.concave_puck.help":"Aide \xe0 \xe9viter les bords.","upgrades.concave_puck.name":"Palet concave","upgrades.corner_shot.fullHelp":"Aide \xe0 viser dans les coins","upgrades.corner_shot.help":"Laisse votre palet sortir de la zone encadr\xe9e","upgrades.corner_shot.name":"Tir en coin","upgrades.etherealcoins.fullHelp":"Il faudrait vous assurer que les pi\xe8ces tomberont bien quand m\xeame \xe0 un moment.","upgrades.etherealcoins.help":"Les pi\xe8ces ne subissent plus la gravit\xe9","upgrades.etherealcoins.name":"Monnaie spatiale ","upgrades.extra_levels.fullHelp":"La partie dure normalement 7 niveaux, apr\xe8s quoi le jeu est termin\xe9 et le score que vous avez atteint est votre score de partie.\\n\\nChoisir cette am\xe9lioration vous permet de prolonger la partie d\'un niveau. Les derniers niveaux sont souvent ceux o\xf9 vous faites le plus de points, la diff\xe9rence peut donc \xeatre spectaculaire.","upgrades.extra_levels.help":"Jouer {{count}} niveaux au lieu de 7","upgrades.extra_levels.name":"Encore 5 minutes","upgrades.extra_life.fullHelp":"Normalement, vous n\'avez qu\'une seule balle par manche, et la manche est termin\xe9e d\xe8s que vous la laissez tomber.\\n\\nCette comp\xe9tence ajoute une barre blanche en bas de l\'\xe9cran qui sauvera une balle une fois, et se brisera au cours du processus.\\n\\nVous pouvez prendre plusieurs vies d\'avances, elle seront utilis\xe9es \xe0 chaque fois qu\'une balle est sur le point d\'\xeatre perdue. ","upgrades.extra_life.help":"La balle rebondit une fois avant d\'\xeatre perdue.","upgrades.extra_life.help_plural":"La (derni\xe8re) balle rebondit en bas de l\'\xe9cran au lieu d\'\xeatre perdue ( {{lvl}} fois).","upgrades.extra_life.name":"Seconde chance","upgrades.forgiving.fullHelp":" La premi\xe8re brique rat\xe9e par niveau ne co\xfbte rien, la suivante 10%, 20%, etc.","upgrades.forgiving.help":"Rater les briques fait perdre un portion progressivement plu importante du combo","upgrades.forgiving.name":"L\'erreur est humaine","upgrades.fountain_toss.fullHelp":"Quand une pi\xe8ce est perdue alors que votre combo \xe9tait en dessous de {{max}}, votre combo \xe0 une probabilit\xe9 de {{lvl}}/combo d\'\xeatre incr\xe9ment\xe9","upgrades.fountain_toss.help":"Gagnez parfois un peu de combo quand vous perdez des pi\xe8ces.","upgrades.fountain_toss.name":"Pi\xe8ce dans la fontaine","upgrades.ghost_coins.fullHelp":"Ce n\'est pas une bug, c\'est une fonctionnalit\xe9 ! Les pi\xe8ces passent \xe0 travers les briques doucement. Les niveaux plus \xe9lev\xe9s permettent aux pi\xe8ce de traverser les briques plus vite.","upgrades.ghost_coins.help":"Les pi\xe8ces traversent les briques doucement","upgrades.ghost_coins.name":"Pi\xe8ces fant\xf4me","upgrades.helium.fullHelp":"Les pi\xe8ces attendront d\'\xeatre sous le palet pour tomber. ","upgrades.helium.help":"Les pi\xe8ce flottent au lieu de tomber autours du palet","upgrades.helium.name":"H\xe9lium","upgrades.hot_start.fullHelp":"Au d\xe9but de chaque niveau, votre combo commencera \xe0 +30 points, mais \xe0 chaque seconde, il sera diminu\xe9 d\'un point. ","upgrades.hot_start.help":"Combo \xe0 {{start}}, -{{loss}} combo par seconde","upgrades.hot_start.name":"D\xe9marrage \xe0 chaud","upgrades.implosions.fullHelp":"La force d\u2019explosion est appliqu\xe9e dans l\u2019autre sens. Les niveaux 2+ augmentent la puissance de l\'implosion. ","upgrades.implosions.help":"Les explosions aspirent les pi\xe8ces au lieu de les faire exploser.","upgrades.implosions.name":"Implosions","upgrades.instant_upgrade.fullHelp":"Choisissez imm\xe9diatement deux am\xe9liorations, afin d\'en obtenir une gratuite et une autre pour rembourser celle utilis\xe9e pour obtenir cet avantage. Chaque fois que vous choisirez des am\xe9liorations dans le menu suivant, vous aurez moins de choix.","upgrades.instant_upgrade.help":"-1 am\xe9lioration maintenant, mais un choix de mois jusqu\'\xe0 la fin de la partie.","upgrades.instant_upgrade.name":"Un tiens vaut deux tu l\'auras","upgrades.left_is_lava.fullHelp":"Chaque fois que vous cassez une brique, votre combo augmente d\'une unit\xe9, ce qui vous permet d\'obtenir une pi\xe8ce de plus \xe0 chaque fois que vous cassez une brique.\\n\\nCependant, votre combinaison se r\xe9initialise d\xe8s que votre balle touche le c\xf4t\xe9 gauche.\\n\\nD\xe8s que votre combo augmente, le c\xf4t\xe9 gauche devient rouge pour vous rappeler que vous devez \xe9viter de le frapper.","upgrades.left_is_lava.help":"+{{lvl}} combo par brique, perdu en touchant le bord gauche","upgrades.left_is_lava.name":"\xc9viter le c\xf4t\xe9 gauche","upgrades.limitless.fullHelp":"Choisir cet avantage augmente \xe9galement sa propre limite d\'un point, vous permettant de le choisir \xe0 nouveau.","upgrades.limitless.help":"Augmenter le niveau maximum de toutes les mises \xe0 niveau de {{lvl}} ","upgrades.limitless.name":"Sans limites","upgrades.metamorphosis.fullHelp":"Avec cette am\xe9lioration, les pi\xe8ces seront de la couleur de la brique d\'o\xf9 elles proviennent et coloreront la premi\xe8re brique qu\'elles toucheront. \\n\\nLes pi\xe8ces apparaissent \xe0 la vitesse de la balle qui les a cass\xe9es, ce qui signifie que vous pouvez viser un peu dans la direction des briques que vous voulez \\"peindre\\".","upgrades.metamorphosis.help":"Chaque pi\xe8ce peut tacher {{lvl}} brique(s) avec sa couleur","upgrades.metamorphosis.name":"M\xe9tamorphose","upgrades.minefield.fullHelp":"Ajoute +lvl au combo lorsqu\'une brique est plac\xe9e, -lvl lorsqu\'elle est d\xe9truite et augmente le combo de base du nombre de briques multipli\xe9 par le niveau","upgrades.minefield.help":"+{{lvl}} combo par brique explosive \xe0 l\'\xe9cran","upgrades.minefield.name":"Terrain min\xe9","upgrades.multiball.fullHelp":"D\xe8s que vous laissez tomber la balle dans Breakout 71, vous perdez. \\n\\nAvec cet avantage, vous obtenez deux balles, et vous pouvez donc vous permettre d\'en perdre une.\\n\\nLes balles perdues reviennent au niveau suivant. \\n\\nLe fait d\'avoir plus d\'une balle permet d\'obtenir d\'autres avantages et, bien s\xfbr, de franchir le niveau plus rapidement.","upgrades.multiball.help":"Chaque niveau commence avec {{count}} balles.","upgrades.multiball.name":"Multi balle","upgrades.nbricks.fullHelp":"Si votre balle rebondis sans casser une brique, \xe7a compte quand m\xeame comme une frappe. Les briques d\xe9truites par des explosions ne comptent pas.","upgrades.nbricks.help":"Frappez exactement {{lvl}} briques par rebond pour +{{lvl}} combo, sinon combo perdu","upgrades.nbricks.name":"Pr\xe9l\xe8vement","upgrades.one_more_choice.fullHelp":"Chaque menu d\'am\xe9lioration comportera une option suppl\xe9mentaire. Cela n\'augmente pas le nombre d\'am\xe9liorations que vous pouvez choisir, mais vous aide \xe0 cr\xe9er le profile id\xe9al. \\"La r\xe9ponse D\\" est une r\xe9f\xe9rence \xe0 un sketch classique. ","upgrades.one_more_choice.help":"1 choix suppl\xe9mentaire d\'am\xe9lioration propos\xe9 jusqu\'\xe0 la fin de la partie","upgrades.one_more_choice.name":"La r\xe9ponse D","upgrades.passive_income.fullHelp":"Certaines am\xe9lioration font bouger les balles sans avoir besoin de mettre le palet en mouvement.","upgrades.passive_income.help":"+{{lvl}} combo / brique, sauf si le palet \xe0 boug\xe9 dans les {{time}} derni\xe8res secondes, combo perdu dans ce cas","upgrades.passive_income.name":"Revenu passif","upgrades.picky_eater.fullHelp":"Chaque fois que vous cassez une brique de la m\xeame couleur que votre balle, votre combo augmente d\'une unit\xe9.\\nS\'il s\'agit d\'une couleur diff\xe9rente, la balle adopte cette nouvelle couleur, mais la combinaison est r\xe9initialis\xe9e, sauf s\'il n\'y avais plus aucune brique de la couleur de la balle. Les briques de la mauvaise couleur sont entour\xe9es en rouge. Si vous avez plus d\'une balle, elles changent toutes de couleur en m\xeame temps lorsque l\'une d\'entre elles touche une brique.","upgrades.picky_eater.help":"+{{lvl}} combo par brique cass\xe9e la couleur de la balle, combo perdu sinon","upgrades.picky_eater.name":"Mangeur par couleur","upgrades.pierce.fullHelp":"Normalement , la balle rebondit d\xe8s qu\'elle touche une brique. Avec cette caract\xe9ristique, elle continuera sa trajectoire jusqu\'\xe0 3 briques cass\xe9es.\\n\\nApr\xe8s cela, elle rebondira sur la quatri\xe8me brique et vous devez toucher le palet pour remettre le compteur \xe0 z\xe9ro.","upgrades.pierce.help":"La balle perce {{count}} briques apr\xe8s chaque rebond sur le palet","upgrades.pierce.name":"Balle per\xe7ante","upgrades.pierce_color.fullHelp":"Chaque fois qu\'une balle touche une brique de la m\xeame couleur, elle la traverse sans encombre.\\n\\nLorsqu\'elle atteint une brique de couleur diff\xe9rente, elle la casse, prend sa couleur et rebondit. \\n\\nSi vous avez des briques solides, le fonctionnement est un peu diff\xe9rent. ","upgrades.pierce_color.help":"+{{lvl}} dommage sur les briques de la couleur de la balle","upgrades.pierce_color.name":"Perceur de couleur","upgrades.puck_repulse_ball.fullHelp":"Lorsqu\'une balle s\'approche du palet, elle commence \xe0 ralentir, voire \xe0 rebondir sans toucher le palet. Beaucoup de choses sont li\xe9es \xe0 un passage par le palet dans le jeu, donc \xe7a pourrait ouvrir des possibilit\xe9s. ","upgrades.puck_repulse_ball.help":"Le palet repousse les balles","upgrades.puck_repulse_ball.help_plural":"La force de r\xe9pulsion est plus grande","upgrades.puck_repulse_ball.name":"Atterrissage en douceur","upgrades.reach.fullHelp":"S\'il n\'y a qu\'une seule rang\xe9e de briques, ou si la rang\xe9e la plus basse couvre toute la largeur du jeu, cet avantage est sans effet. Sinon, briser cette rang\xe9e la plus basse r\xe9initialise le combo\xa0; briser toute autre rang\xe9e augmente le combo du nombre de briques pr\xe9sentes sur cette rang\xe9e.\\n\\nLa rang\xe9e de briques du bas sera entour\xe9e en rouge pour vous rappeler de ne pas la toucher. ","upgrades.reach.help":"Casser une des N briques de la ligne la plus basse d\xe9truit le combo. Sinon, +N combo.","upgrades.reach.name":"Attaque a\xe9rienne","upgrades.respawn.fullHelp":"Des effets de particules vous indiqueront o\xf9 les briques appara\xeetront. ","upgrades.respawn.help":"{{percent}}% des briques r\xe9apparaissent apr\xe8s {{delay}}s.","upgrades.respawn.name":"R\xe9apparition ","upgrades.right_is_lava.fullHelp":"Chaque fois que vous cassez une brique, votre combo augmente d\'une unit\xe9, ce qui vous permet d\'obtenir une pi\xe8ce de plus \xe0 chaque fois que vous cassez les briques suivantes.\\n\\nCependant, votre combinaison se r\xe9initialise d\xe8s que votre balle touche le c\xf4t\xe9 droit de la zone de jeu.\\n\\nD\xe8s que votre combo augmente, le c\xf4t\xe9 droit devient rouge pour vous rappeler que vous devez \xe9viter de le frapper.","upgrades.right_is_lava.help":"+{{lvl}} combo par brique, perdu en cas de choc avec le cot\xe9 droit","upgrades.right_is_lava.name":"\xc9viter le c\xf4t\xe9 droit","upgrades.sacrifice.fullHelp":"Le combo pourrait monter assez haut.","upgrades.sacrifice.help_l1":"Perdre une vie d\xe9truit toutes les briques","upgrades.sacrifice.help_over":"Perdre une vie multiplie le combo par {{lvl}} puis d\xe9truit toutes les briques \xe0 l\'\xe9cran","upgrades.sacrifice.name":"Sacrifice","upgrades.sapper.fullHelp":"Au lieu de dispara\xeetre, la premi\xe8re brique cass\xe9e est remplac\xe9e par une bombe. Faire rebondir la balle sur le palet r\xe9arme l\'effet. En montant en niveau, vous pourrez placer plus de bombes. \\n\\nN\'oubliez pas que les bombes ont un impact sur la vitesse des pi\xe8ces \xe0 proximit\xe9. Trop d\'explosions peuvent rendre difficile la r\xe9cup\xe9ration des fruits de votre dur labeur.","upgrades.sapper.help":"La premi\xe8re brique cass\xe9e devient une bombe.","upgrades.sapper.help_plural":"Les premi\xe8res briques {{lvl}} cass\xe9es deviennent des bombes.","upgrades.sapper.name":"Sapeur","upgrades.shocks.fullHelp":"Quand deux balles entrent en collision, elles \xe9changent leurs vitesse, cr\xe9ent une explosion et gagnent un peu de vitesse qui les s\xe9pare. ","upgrades.shocks.help":"Collision explosive entre les balles","upgrades.shocks.name":"Choc","upgrades.shunt.fullHelp":"D\xe9marrage \xe0 chaud sera simplement ajout\xe9 au combo actuel","upgrades.shunt.help":"Garer {{percent}}% du combo au changement de niveau ","upgrades.shunt.name":"Shunt","upgrades.side_flip.fullHelp":"Impactez la brique sur son c\xf4t\xe9 droit pour obtenir un combo, mais \xe9vitez de la frapper sur son c\xf4t\xe9 gauche, car cela annulerait deux combos. Frapper du haut et du bas n\'a aucun effet.","upgrades.side_flip.help":"+{{lvl}} combo par brique cass\xe9 de la droite, -{{loss}} sinon","upgrades.side_flip.name":"Droitier","upgrades.side_kick.fullHelp":"Impactez la brique sur son c\xf4t\xe9 gauche pour obtenir un combo, mais \xe9vitez de la frapper sur son c\xf4t\xe9 droit, car cela annulerait deux combos. Frapper du haut et du bas n\'a aucun effet.","upgrades.side_kick.help":"+{{lvl}} combo par brique cass\xe9 de la gauche, -{{loss}} sinon","upgrades.side_kick.name":"Gaucher","upgrades.skip_last.fullHelp":"Vous devez casser toutes les briques pour passer au niveau suivant. \\n\\nCependant, il peut \xeatre difficile d\'obtenir les derni\xe8res briques.\\n\\nTerminer un niveau plus t\xf4t permet d\'obtenir des choix suppl\xe9mentaires lors de la mise \xe0 niveau. \\n\\nNe jamais manquer de briques est \xe9galement tr\xe8s avantageux.\\n\\nDonc, si vous avez du mal \xe0 casser les derni\xe8res briques, obtenir cet avantage plusieurs fois peut vous aider.","upgrades.skip_last.help":"La derni\xe8re brique s\'autod\xe9truit.","upgrades.skip_last.help_plural":"Les {{lvl}} derni\xe8res briques restantes s\'autod\xe9truiront","upgrades.skip_last.name":"Nettoyage facile","upgrades.slow_down.fullHelp":"La balle d\xe9marre relativement lentement, mais \xe0 chaque niveau de votre partie, elle d\xe9marre un peu plus vite, et elle acc\xe9l\xe8re \xe9galement si vous passez beaucoup de temps dans un niveau.\\n\\nCet avantage rend la balle plus facile \xe0 g\xe9rer. \\n\\nVous pouvez l\'obtenir au d\xe9but de chaque partie en activant le mode enfant dans le menu.","upgrades.slow_down.help":"La balle se d\xe9place plus lentement","upgrades.slow_down.name":"Balle lente","upgrades.smaller_puck.fullHelp":"Le palet est donc plus petit, ce qui, en th\xe9orie, facilite certains tirs en coin, mais augmente surtout la difficult\xe9.\\n\\nC\'est pourquoi vous b\xe9n\xe9ficiez \xe9galement d\'un bonus de +5 pi\xe8ces par brique pour toutes les briques que vous casserez apr\xe8s avoir choisi cette option.","upgrades.smaller_puck.help":"Donne aussi +5 combo","upgrades.smaller_puck.help_plural":"Palet encore plus petit et combinaison de base plus \xe9lev\xe9e","upgrades.smaller_puck.name":"Palet plus petit","upgrades.soft_reset.fullHelp":"Limite l\'impact d\'une r\xe9initialisation du combo.","upgrades.soft_reset.help":"La remise \xe0 z\xe9ro du combo conserve {{percent}}% des points","upgrades.soft_reset.name":"R\xe9initialisation progressive","upgrades.streak_shots.fullHelp":"Chaque fois que vous cassez une brique, votre combo (nombre de pi\xe8ces par brique) augmente d\'une unit\xe9. Cependant, d\xe8s que la balle touche votre palet, le combo est remis \xe0 sa valeur par d\xe9faut, et vous n\'obtiendrez qu\'une seule pi\xe8ce par brique.\\n\\nUne fois que votre combinaison d\xe9passe la valeur de base, votre palet devient rouge pour vous rappeler que le fait de le toucher avec la balle d\xe9truira votre combinaison.","upgrades.streak_shots.help":"Plus de pi\xe8ces si vous cassez plusieurs briques \xe0 la fois.","upgrades.streak_shots.name":"S\xe9quence de destruction","upgrades.sturdy_bricks.fullHelp":"Chaque niveau de cet am\xe9lioration ajoute un PV \xe0 toutes les briques. Vous pouvez consulter le nombre de PV avec l\'avantage \\"clairvoyant\\". Vous pouvez augmenter les d\xe9g\xe2ts des balles en obtenant l\'am\xe9lioration \\"Balle per\xe7ante\\". Chaque niveau de cet am\xe9lioration ajoute 50% de pi\xe8ces en plus.","upgrades.sturdy_bricks.help":"+{{lvl}} points de vie des briques, +{{percent}}% pi\xe8ces quand elles sont d\xe9truites","upgrades.sturdy_bricks.name":"Briques solides","upgrades.telekinesis.fullHelp":"Vous contr\xf4lez la balle pendant qu\'elle monte.","upgrades.telekinesis.help":"Contr\xf4ler la trajectoire de la balle","upgrades.telekinesis.help_plural":"Effet plus fort sur la balle","upgrades.telekinesis.name":"T\xe9l\xe9kin\xe9sie","upgrades.top_is_lava.fullHelp":"Chaque fois que vous cassez une brique, votre combo augmente d\'une unit\xe9. Cependant, votre combo sera r\xe9initialis\xe9 d\xe8s que votre balle atteindra le haut de l\'\xe9cran.\\n\\nLorsque votre combo est sup\xe9rieur au minimum, une barre rouge appara\xeet en haut de l\'\xe9cran pour vous rappeler que vous devez \xe9viter de la frapper.","upgrades.top_is_lava.help":"+{{lvl}} combo par brique, perdu en cas de rebond au plafond","upgrades.top_is_lava.name":"Icare ","upgrades.trampoline.fullHelp":"Une des rares am\xe9liorations \xe0 ne pas avoir de condition de remise \xe0 z\xe9ro","upgrades.trampoline.help":"+{{lvl}} combo \xe0 chaque rebond d\'une balle sur le palet,-{{lvl}} combo \xe0 chaque rebond sur un bord ","upgrades.trampoline.name":"Trampoline","upgrades.unbounded.fullHelp":"J\'esp\xe8re que vous avez trouv\xe9 un moyen de garder votre balle \xe0 l\'\xe9cran. Au niveau 2+, le plafond dispara\xeetra \xe9galement. Il s\'agit d\'un avantage avanc\xe9.","upgrades.unbounded.help":"+{{lvl}} combo par brique, plus de cot\xe9s pour garder la balle en jeu, danger","upgrades.unbounded.help_no_ceiling":"+{{lvl}} combo par brique, plus de cot\xe9s ou de plafond","upgrades.unbounded.name":"Lib\xe9r\xe9e, d\xe9livr\xe9e","upgrades.viscosity.fullHelp":"Les pi\xe8ces acc\xe9l\xe8rent normalement avec la gravit\xe9 et les explosions pour atteindre des vitesses assez \xe9lev\xe9es. \\n\\nCette comp\xe9tence les ralentit constamment, comme si elles se trouvaient dans une sorte de liquide visqueux.\\n\\nCela permet de les attraper plus facilement et se combine bien avec les am\xe9liorations qui influencent le mouvement de la pi\xe8ce.","upgrades.viscosity.help":"Chute plus lente des pi\xe8ces","upgrades.viscosity.name":"Fluide visqueux ","upgrades.wind.fullHelp":"Le vent d\xe9pend de la position du palet \xe0 l\'\xe9cran, vers la gauche s\'il est \xe0 gauche, vers la droite s\'il est \xe0 droite. \\nAffecte les balles et les pi\xe8ces.","upgrades.wind.help":"La position du palet cr\xe9e du vent","upgrades.wind.help_plural":"Force du vent plus importante","upgrades.wind.name":"Vive le vent","upgrades.yoyo.fullHelp":"C\'est l\'inverse de T\xe9l\xe9kin\xe9sie, contr\xf4lez la balle alors qu\'elle redescend vers le palet.","upgrades.yoyo.help":"La balle descend vers le palet","upgrades.yoyo.name":"Yo-yo","upgrades.zen.fullHelp":"C\'est quand m\xeame un jeu non violent \xe0 la base.","upgrades.zen.help":"+{{lvl}} combo par brique, jusqu\'\xe0 ce qu\'il y ait une explosion","upgrades.zen.name":"Zen"}'); },{}],"uYc9N":[function(require,module,exports,__globalThis) { -module.exports = JSON.parse("{\"confirmRestart.no\":\"Cancel\",\"confirmRestart.text\":\"You're about to start a new game, is that really what you wanted?\",\"confirmRestart.title\":\"Start a new game?\",\"confirmRestart.yes\":\"Restart game\",\"gameOver.creative\":\"This is a test game, its score is not recorded.\",\"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.title\":\"Game Over\",\"gameOver.restart\":\"Start a new game\",\"gameOver.stats.balls_lost\":\"Balls lost\",\"gameOver.stats.bricks_broken\":\"Bricks broken\",\"gameOver.stats.bricks_per_minute\":\"Bricks broken per minute\",\"gameOver.stats.catch_rate\":\"Catch rate\",\"gameOver.stats.combo_avg\":\"Average combo\",\"gameOver.stats.combo_max\":\"Max combo\",\"gameOver.stats.duration_per_level\":\"Duration per level\",\"gameOver.stats.hit_rate\":\"Hit rate\",\"gameOver.stats.intro\":\"Find below your game statistics compared to your {{count}} best games.\",\"gameOver.stats.level_reached\":\"Level reached\",\"gameOver.stats.total_score\":\"Total score\",\"gameOver.stats.upgrades_applied\":\"Upgrades applied\",\"gameOver.unlocked_perk\":\"Upgrade unlocked\",\"gameOver.unlocked_perk_plural\":\"You just unlocked {{count}} perks\",\"gameOver.win.summary\":\"This game is over. You stashed {{score}} coins. \",\"gameOver.win.title\":\"You completed this game\",\"history.columns.max_combo\":\"Max combo\",\"history.columns.max_level\":\"Levels\",\"history.columns.puck_bounces\":\"PB\",\"history.columns.puck_bounces_tooltip\":\"Puck bounces : number of time the ball bounced on the puck\",\"history.columns.runTime\":\"Dur.\",\"history.columns.runTime_tooltip\":\"Duration of the run, in seconds, only counting time where the game is running and the ball is in motion\",\"history.columns.score\":\"Score\",\"history.columns.started\":\"Date\",\"history.columns.upgrades_picked\":\"Upgrades\",\"history.help\":\"See the list of your {{count}} game\",\"history.locked\":\"Play at least ten games to unlock\",\"history.title\":\"Runs history\",\"lab.help\":\"Try any build you want\",\"lab.instructions\":\"Select upgrades below, then pick the level to play. Creative mode runs are ignored in unlocks, high score, total score and statistics, and only last one level.\",\"lab.menu_entry\":\"Creative mode\",\"lab.reset\":\"Reset all to 0\",\"lab.select_level\":\"Select a level to play on\",\"lab.unlocks_at\":\"Unlocks at total score {{score}}\",\"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.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_good\":\"Well done !\",\"level_up.compliment_perfect\":\"Impressive, keep it up !\",\"level_up.pick_upgrade_title\":\"Pick an upgrade\",\"level_up.plus_one_upgrade\":\"(+1 upgrade)\",\"level_up.plus_one_upgrade_and_reroll\":\"(+1 upgrade and +1 re-roll)\",\"level_up.reroll\":\"Re-roll ({{count}})\",\"level_up.reroll_help\":\"Offer new choices\",\"level_up.unlocked_level\":\" (Level)\",\"level_up.unlocked_perk\":\" (Perk)\",\"level_up.upgrade_perk_to_level\":\" lvl {{level}}\",\"main_menu.basic\":\"Basic graphics\",\"main_menu.basic_help\":\"Better performance.\",\"main_menu.colorful_coins\":\"Colorful coins\",\"main_menu.colorful_coins_help\":\"Coins always spawn of the color of the brick\",\"main_menu.comboIncreaseTexts\":\"Show +X in gold\",\"main_menu.comboIncreaseTexts_help\":\"When the combo increase\",\"main_menu.contrast\":\"High Contrast\",\"main_menu.contrast_help\":\"More colorful and dark rendering\",\"main_menu.credit_levels\":\"

Levels origin

\",\"main_menu.donate\":\"You've played for {{hours}} hours\",\"main_menu.donate_help\":\"How about donating? You can hide this reminder in the settings. \",\"main_menu.donation_reminder\":\"Remind me to donate\",\"main_menu.donation_reminder_help\":\"See time played and donation link in main menu\",\"main_menu.download_save_file\":\"Download score and stats\",\"main_menu.download_save_file_help\":\"Get a save file\",\"main_menu.extra_bright\":\"Extra bright\",\"main_menu.extra_bright_help\":\"Increases the size of the halo around coins and bricks.\",\"main_menu.footer_html\":\"

\\nMade in France by Renan LE CARO. \\nDonate\\nDiscord\\nF-Droid\\nGoogle Play\\nitch.io \\nGitlab\\nWeb version\\nHackerNews\\nPrivacy Policy\\nv.{{appVersion}}\\n

\\n\",\"main_menu.fullscreen\":\"Fullscreen\",\"main_menu.fullscreen_help\":\"Game will try to go full screen before starting\",\"main_menu.help_content\":\"# Goal\\n\\nThe goal is to catch as many coins as possible during 7 levels. \\nCoins appear when you break bricks.\\nThey fly around, bounce and roll, and you need to catch them with your puck to increase your score. \\nYour score is displayed in the top right corner of the screen.\\nYou must delete all bricks to progress to the next level. \\nIf you drop the ball, it's game over, unless you had the \\\"extra life\\\" upgrade.\\n\\n# Upgrades \\n\\nAfter clearing a level, you'll be able to pick upgrades among a small selection presented to you. \\n\\nThe upgrade you pick will apply until the end of the run. You will get more upgrade if you play well : catch all coins, clear the level quickly, never miss the bricks, never bounce on the sides or ceiling.\\n\\nIf you play very well, you'll also get \\\"rerolls\\\" that allow you to shuffle the list of upgrades that are offered to you. Once an upgrade is offered, it's less likely to reappear afterward. \\n\\nYou also get a free random upgrade at the beginning of each run. There's also an easy mode for kids, where the game will always start with the \\\"slower ball\\\" upgrade. The icon of your randomly assigned upgrade will be the used as the first level you play in each run. You can decide which upgrades can be starting upgrades in the settings. \\n\\nUpgrades apply to the whole run and can synergize, or really work against each other. Most of the fun of the game is discovering which ones work best together.\\n\\nSome upgrades help with aiming, like \\\"Telekinesis\\\". 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.\\n\\nWhen you first play, only a few upgrades are available, you unlock the rest by simply playing and scoring points. At the end of a run, the things you just unlocked will be shown, and you can check the full content in menu / unlocks.\\n\\nMany upgrades impact your combo. \\n\\n# Combo\\n\\nYour \\\"combo\\\" is the number of coins spawned when a brick breaks. It is displayed on your puck, for example x4 means each\\nbrick will spawn 4 coins. It will reset if you miss. \\n\\nMany upgrades will increase the combo when you break a brick, but also add a condition to reset it. So the more upgrades you pick, the faster it will climb, but the more likely it will be that it returns to it's base value. \\n\\n# Aiming\\n\\nWhat 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. \\n\\nThe puck speed and incoming angle have no impact on the ball direction after bouncing.\\n\\nYou might find that a smaller puck makes it a bit easier to aim near corners, but also makes it much harder to catch coins.\\n\\n\\\"Wind\\\" and \\\"puck controls ball\\\" can help you aim even after the ball bounced to the wrong direction.\\n\\n\\\"Slower ball\\\" gives you a bit more time to aim, particularly useful in later levels where the ball goes faster. The ball also\\naccelerates as you spend time in each level. \\n\\n# Unlocks\\n\\nWhen starting breakout 71 for the first time, you can access a few upgrades and levels. The rest needs to be unlocked. Upgrades are unlocked by simply playing. Every time you catch a coin, your total score is raised by one. Then once you reach the threshold of the upgrade, it's unlocked.\\n\\nUnlocking levels is a bit different, it requires you to play very well, in many different ways. The first levels just need a high score of X, but later level are unlocked by reaching a high score of X with perk Y and without perk Z. All those requirements are pseudo random and not handpicked, so some are likely much harder than others. They should be the same for everyone though. It might happen that an update of the game perks list changes the required perks. \\n\\n# System requirements \\n\\nThe game should perform well even on low-end devices. It's very lean and does not take much storage space (Roughly 0.1MB). The web version is supposed to work on iOS safari, Firefox ESR and chrome, on desktop and mobile.\\n\\nIf the app stutters, turn on \\\"fast mode\\\" in the settings to render a simplified view that should be faster. You can adjust many aspects of the game there, go have a look ! \\n\\n\",\"main_menu.help_help\":\"Learn more about the game\",\"main_menu.help_title\":\"Help\",\"main_menu.help_upgrades\":\"

Upgrades

\",\"main_menu.high_score\":\"High score : {{score}}\",\"main_menu.kid\":\"Kids mode\",\"main_menu.kid_help\":\"Start future games with \\\"slower ball\\\".\",\"main_menu.language\":\"Language\",\"main_menu.language_help\":\"Choose the game's language\",\"main_menu.load_save_file\":\"Load save file\",\"main_menu.load_save_file_help\":\"Select a save file on your device\",\"main_menu.max_coins\":\" {{max}} coins on screen maximum\",\"main_menu.max_coins_help\":\"Cosmetic only, no effect on score\",\"main_menu.max_particles\":\" {{max}} particles maximum\",\"main_menu.max_particles_help\":\"Limits the number of particles show on screen for visual effect. \",\"main_menu.mobile\":\"Mobile mode\",\"main_menu.mobile_help\":\"Leaves space under the puck.\",\"main_menu.normal\":\"New game\",\"main_menu.normal_help\":\"Play 7 levels with a random starting perk\",\"main_menu.pointer_lock\":\"Mouse pointer lock\",\"main_menu.pointer_lock_help\":\"Locks and hides the mouse cursor.\",\"main_menu.record\":\"Record gameplay videos\",\"main_menu.record_download\":\"Download video ({{size}} MB)\",\"main_menu.record_help\":\"Get a video of each level.\",\"main_menu.red_miss\":\"Miss warning\",\"main_menu.red_miss_help\":\"Show red particles around balls going down without a hit.\",\"main_menu.reset\":\"Reset Game\",\"main_menu.reset_cancel\":\"No\",\"main_menu.reset_confirm\":\"Yes\",\"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.save_file_error\":\"Error loading save file\",\"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_ok\":\"Ok\",\"main_menu.settings_help\":\"Tailor the game play to your needs and taste\",\"main_menu.settings_title\":\"Settings\",\"main_menu.show_fps\":\"FPS counter\",\"main_menu.show_fps_help\":\"Monitor the app's performance\",\"main_menu.show_stats\":\"Show real time stats\",\"main_menu.show_stats_help\":\"Coins, time, bounces, misses\",\"main_menu.sounds\":\"Game sounds\",\"main_menu.sounds_help\":\"Can slow down some phones.\",\"main_menu.starting_perks\":\"Starting perks\",\"main_menu.starting_perks_checked\":\"When you start a new game, one of those perks will be give to you. You can click the list to exclude some perks from the pool.\",\"main_menu.starting_perks_help\":\"Choose possible starting upgrades\",\"main_menu.starting_perks_unchecked\":\"The perks below are not offered as starting perks, but you can click to add them to the pool. \",\"main_menu.title\":\"Breakout 71\",\"main_menu.unlocks\":\"Unlocked content\",\"main_menu.unlocks_help\":\"Try perks and levels you unlocked\",\"play.close_modale_window_tooltip\":\"close \",\"play.current_lvl\":\"Level {{level}}/{{max}}\",\"play.menu_label\":\"menu\",\"play.menu_tooltip\":\"Open main menu\",\"play.missed_ball\":\"miss\",\"play.mobile_press_to_play\":\"Press and hold here to play\",\"play.score_tooltip\":\"See your score, upgrades and more\",\"play.stats.coins_catch_rate\":\"Coins catch rate\",\"play.stats.levelMisses\":\"Missed shots, where you hit nothing\",\"play.stats.levelTime\":\"Level time\",\"play.stats.levelWallBounces\":\"Wall bounces\",\"score_panel.close_to_unlock\":\"Next level unlock :\",\"score_panel.get_upgrades_to_unlock\":\"Get {{missingUpgrades}} and score {{points}} more points to unlock level \\\"{{level}}\\\"\",\"score_panel.rerolls_count\":\"You have accumulated {{rerolls}} rerolls\",\"score_panel.score_to_unlock\":\"Score {{points}} more points to unlock level \\\"{{level}}\\\"\",\"score_panel.title\":\"{{score}} points at level {{level}}/{{max}} \",\"score_panel.upcoming_levels\":\"Upcoming levels :\",\"score_panel.upgrades_picked\":\"Upgrades picked in this game run : \",\"unlocks.greyed_out_help\":\"The grayed out upgrades can be unlocked by increasing your total score. The total score increases every time you score in game, outside of test runs.\",\"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 test game with it. Hint: you can set the starting upgrades in the settings.\",\"unlocks.just_unlocked\":\"Level unlocked\",\"unlocks.just_unlocked_plural\":\"You just unlocked {{count}} levels\",\"unlocks.level\":\"

You unlocked {{unlocked}} levels out of {{out_of}}

\\n

Here are all the game levels, click one to start a test game with that starting level.

\",\"unlocks.level_description\":\"A {{size}}x{{size}} level with {{bricks}} bricks, {{colors}} colors and {{bombs}} bombs.\",\"unlocks.minScore\":\"Reach ${{minScore}} in a run to unlock.\",\"unlocks.minScoreWithPerks\":\"Reach ${{minScore}} in a run with {{required}} but without {{forbidden}} to unlock.\",\"unlocks.minTotalScore\":\"Accumulate a total of ${{score}}\",\"unlocks.reached\":\"Your best score was {{reached}}.\",\"unlocks.title_upgrades\":\"You unlocked {{unlocked}} upgrades out of {{out_of}}\",\"upgrades.addiction.fullHelp\":\"The countdown only starts after breaking the first brick of each level. It stops as soon as all bricks are destroyed.\",\"upgrades.addiction.help\":\"+{{lvl}} combo / brick, combo resets {{delay}}s after breaking a brick. \",\"upgrades.addiction.name\":\"Addiction\",\"upgrades.asceticism.fullHelp\":\"You'll need to store the coins somewhere while your combo climbs. \",\"upgrades.asceticism.help\":\"+{{combo}} combo / brick, - {{combo}} on coin catch\",\"upgrades.asceticism.name\":\"Asceticism\",\"upgrades.ball_attract_ball.fullHelp\":\"Balls that are more than \\\"3/4 of the game area width\\\" away will start attracting each other. \\n\\nThe attraction force is stronger when they are furthest away from each other.\\n\\nRainbow particles will fly to symbolize the attraction force. This perk is only offered if you have more than one ball already.\",\"upgrades.ball_attract_ball.help\":\"Balls attract balls\",\"upgrades.ball_attract_ball.help_plural\":\"Stronger attraction force\",\"upgrades.ball_attract_ball.name\":\"Gravity\",\"upgrades.ball_attracts_coins.fullHelp\":\"This could be used to \\\"paint around\\\" the balls with coins if you combined it with \\\"stain\\\" and \\\"ghost coins\\\".\",\"upgrades.ball_attracts_coins.help\":\"Balls attract coins\",\"upgrades.ball_attracts_coins.name\":\"Fortunate ball\",\"upgrades.ball_repulse_ball.fullHelp\":\"Balls that are less than a quarter screen width away will start repulsing each other. The repulsion force is stronger if they are close to each other. Particles will jet out to symbolize this force being applied. This perk is only offered if you have more than one ball already.\",\"upgrades.ball_repulse_ball.help\":\"Balls repulse balls\",\"upgrades.ball_repulse_ball.help_plural\":\"Stronger repulsion force\",\"upgrades.ball_repulse_ball.name\":\"Personal space\",\"upgrades.base_combo.fullHelp\":\"Your combo normally starts at 1 at the beginning of the level, and resets to 1 when you bounce around without hitting anything. With this perk, the combo starts 3 points higher, so you'll always get at least 4 coins per brick. Whenever your combo reset, it will go back to 4 and not 1. Your ball will glitter a bit to indicate that its combo is higher than one.\",\"upgrades.base_combo.help\":\"Combo starts at {{coins}}.\",\"upgrades.base_combo.name\":\"+3 base combo\",\"upgrades.bigger_explosions.fullHelp\":\"The default explosion clears a 3x3 square, with this it becomes a 5x5 square, and the blow on the coins is also significantly stronger. The screen will flash after each explosion (except in basic mode)\",\"upgrades.bigger_explosions.help\":\"Bigger explosions\",\"upgrades.bigger_explosions.name\":\"Kaboom\",\"upgrades.bigger_puck.fullHelp\":\"A bigger puck makes it easier to never miss the ball and to catch more coins, and also to precisely angle the bounces (the ball's angle only depends on where it hits the puck). \\n\\nHowever, a large puck is harder to use around the sides of the level, and will make it sometimes unavoidable to miss. You could word around that with other perks.\",\"upgrades.bigger_puck.help\":\"Easily catch more coins.\",\"upgrades.bigger_puck.name\":\"Bigger puck\",\"upgrades.clairvoyant.fullHelp\":\"Helps you pick the right upgrades and understand what's going on with sturdy bricks. Level 2 and 3 bring additional knowledge of dubious utility (reachable in loop mode)\",\"upgrades.clairvoyant.help\":\"See upcoming levels, bricks HP and ball direction\",\"upgrades.clairvoyant.name\":\"Clairvoyant\",\"upgrades.coin_magnet.fullHelp\":\"Directs the coins to the puck. The effect is stronger if the coin is close to it already. Catching all coins bring special bonuses in the game. \\n\\nAnother way to catch more coins is to hit bricks from the bottom. The ball's speed and direction impacts the spawned coin's velocity. \",\"upgrades.coin_magnet.help\":\"Puck attracts coins\",\"upgrades.coin_magnet.help_plural\":\"Stronger effect on the coins\",\"upgrades.coin_magnet.name\":\"Coins magnet\",\"upgrades.compound_interest.fullHelp\":\"Your combo will grow by one every time you break a brick, spawning more and more coin with every brick you break. \\n\\nBe sure however to catch every one of those coins with your puck, as any lost coin will reset your combo. \\n\\nOnce your combo is above the minimum, the bottom of the play area will have a red line to remind you that coins should not go there.\",\"upgrades.compound_interest.help\":\"+{{lvl}} combo per brick broken, resets on coin lost\",\"upgrades.compound_interest.name\":\"Compound interest\",\"upgrades.concave_puck.fullHelp\":\"Balls starts the level going straight up, and bounces with less angle.\",\"upgrades.concave_puck.help\":\" Helps with aiming straight up\",\"upgrades.concave_puck.name\":\"Concave puck\",\"upgrades.corner_shot.fullHelp\":\"Helps with aiming in the corners. Further levels let you go further out. \",\"upgrades.corner_shot.help\":\"Lets your puck overlap with the borders of the screen\",\"upgrades.corner_shot.name\":\"Corner shot\",\"upgrades.etherealcoins.fullHelp\":\"You'll have to make sure that the coins fall down somehow, or you won't get any. \",\"upgrades.etherealcoins.help\":\"Coins are no longer affected by gravity\",\"upgrades.etherealcoins.name\":\"Coins, in Space\",\"upgrades.extra_levels.fullHelp\":\"The default game can last a max of 7 levels, after which the game is over. \\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.name\":\"+1 level\",\"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_plural\":\"The ball will bounce on the bottom {{lvl}} times before being lost.\",\"upgrades.extra_life.name\":\"+1 life\",\"upgrades.forgiving.fullHelp\":\"The first miss per level is free, then 10% of the combo, then 20% .. \",\"upgrades.forgiving.help\":\"Missing breaks reduces combo progressively instead of all at once.\",\"upgrades.forgiving.name\":\"Forgiving\",\"upgrades.fountain_toss.fullHelp\":\"\",\"upgrades.fountain_toss.help\":\"When you miss a coin and your combo was under {{max}}, your combo has a probability of {{lvl}}/combo to grow by one.\",\"upgrades.fountain_toss.name\":\"Fountain toss\",\"upgrades.ghost_coins.fullHelp\":\"It's not a bug, it's a feature ! Coins fly through bricks slowly. Higher levels let them move faster. \",\"upgrades.ghost_coins.help\":\"Coins slowly pass through bricks\",\"upgrades.ghost_coins.name\":\"Ghost coins\",\"upgrades.helium.fullHelp\":\"This affects the coins and will let the float up until you are ready to pick them up.\",\"upgrades.helium.help\":\"Gravity reversed left and right of puck\",\"upgrades.helium.name\":\"Helium\",\"upgrades.hot_start.fullHelp\":\"At the start of every level, your combo will start at +30 points, but then every second it will be decreased by one.\\n\\nThis means the first 30 seconds in a level will spawn many more coins than the following ones, and you should make sure that you clear the level quickly. \\n\\nThe effect stacks with other combo related perks, so you might be able to raise the combo after the 30s timeout, but it will keep ticking down. \\n\\nEvery time you take the perk again, the effect will be more dramatic.\",\"upgrades.hot_start.help\":\"Start at combo {{start}}, -{{loss}} combo per second\",\"upgrades.hot_start.name\":\"Hot start\",\"upgrades.implosions.fullHelp\":\"The explosion force is applied the other way. Further levels act as \\\"bigger explosion\\\"\",\"upgrades.implosions.help\":\"Explosions suck coins in instead of blowing them out\",\"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.help\":\"-{{lvl}} choice until game end.\",\"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\",\"upgrades.left_is_lava.help\":\"+{{lvl}} combo per brick broken, resets on left side hit\",\"upgrades.left_is_lava.name\":\"Avoid left side\",\"upgrades.limitless.fullHelp\":\"Choosing this perk also raises his own limit by one, letting you pick it again.\",\"upgrades.limitless.help\":\"Raise all upgrade's maximum level by {{lvl}} \",\"upgrades.limitless.name\":\"Limitless\",\"upgrades.metamorphosis.fullHelp\":\"With this perk, coins will be of the color of the brick they come from, and will color the first brick they touch in the same color. \\n\\nCoins spawn with the speed of the ball that broke them, which means you can aim a bit in the direction of the bricks you want to \\\"paint\\\".\",\"upgrades.metamorphosis.help\":\"Each coins can stain {{lvl}} brick(s) with its color\",\"upgrades.metamorphosis.name\":\"Metamorphosis\",\"upgrades.minefield.fullHelp\":\"Adds +lvl to the combo when a brick is place, -lvl when it is destroyed, and raises the base combo by the number of bricks times lvl\",\"upgrades.minefield.help\":\"+{{lvl}} combo per bomb brick on screen\",\"upgrades.minefield.name\":\"Minefield\",\"upgrades.multiball.fullHelp\":\"As soon as you drop the ball in Breakout 71, you loose. \\n\\nWith this perk, you get two balls, and so you can afford to lose one. \\n\\nThe lost balls come back on the next level. \\n\\nHaving more than one balls makes some further perks available, and of course clears the level faster.\",\"upgrades.multiball.help\":\"Start every levels with {{count}} balls.\",\"upgrades.multiball.name\":\"+1 ball\",\"upgrades.nbricks.fullHelp\":\"You don't necessarily need to destroy those bricks, but you need to hit them. Bricks destroyed by explosions don't count\",\"upgrades.nbricks.help\":\"Hit exactly {{lvl}} bricks per puck bounce for +{{lvl}} combo, otherwise it resets\",\"upgrades.nbricks.name\":\"Strict sample size\",\"upgrades.one_more_choice.fullHelp\":\"Every upgrade menu will have one more option. Doesn't increase the number of upgrades you can pick.\",\"upgrades.one_more_choice.help\":\"Further level ups will offer {{lvl}} more option(s) in the list\",\"upgrades.one_more_choice.name\":\"+1 choice\",\"upgrades.passive_income.fullHelp\":\"Some perks can help the balls do what you want without needing to do anything.\",\"upgrades.passive_income.help\":\"+{{lvl}} combo / brick, unless the puck moved in the last {{time}}s, then it resets instead\",\"upgrades.passive_income.name\":\"Passive income\",\"upgrades.picky_eater.fullHelp\":\"Whenever you break a brick the same color as your ball, your combo increases by one. \\n\\nIf it's a different color, the ball takes that new color, but the combo resets, unless there were no bricks left of the ball's color. \\n\\nOnce you get a combo higher than your minimum, the bricks of the wrong color will get a red halo. \\n\\nIf you have more than one ball, they all switch color whenever one of them hits a brick.\",\"upgrades.picky_eater.help\":\"+{{lvl}} combo per brick broken, resets on ball color change\",\"upgrades.picky_eater.name\":\"Picky eater\",\"upgrades.pierce.fullHelp\":\"The ball normally bounces as soon as it touches something. With this perk, it will continue its trajectory for up to 3 bricks broken. \\n\\nAfter that, it will bounce on the 4th brick, and you'll need to touch the puck to reset the counter.\",\"upgrades.pierce.help\":\"Ball pierces {{count}} bricks after a puck bounce\",\"upgrades.pierce.name\":\"Piercing\",\"upgrades.pierce_color.fullHelp\":\"Whenever a ball hits a brick of the same color, it will just go through unimpeded. \\n\\nOnce it reaches a brick of a different color, it will break it, take its color and bounce.\\n\\nIf you have sturdy bricks, the ball might still bounce off a brick of the same color.\",\"upgrades.pierce_color.help\":\"+{{lvl}} damage to bricks of the ball's color\",\"upgrades.pierce_color.name\":\"Color pierce\",\"upgrades.puck_repulse_ball.fullHelp\":\"When a ball gets close to the puck, it will start slowing down, and even potentially bouncing without touching the puck.\",\"upgrades.puck_repulse_ball.help\":\"Puck repulses balls\",\"upgrades.puck_repulse_ball.help_plural\":\"Stronger repulsion force\",\"upgrades.puck_repulse_ball.name\":\"Soft landing\",\"upgrades.reach.fullHelp\":\"If there is only one row of bricks, or if the lowest row of bricks cover the whole width of the game, then this perk does nothing. Otherwise, breaking this lowest row resets the combo, while breaking anything else increases the combo by the number of bricks present on that lowest row. \\n\\nThe lowest row will be highlighted in red. \",\"upgrades.reach.help\":\" Touching the N bricks of the lowest row resets the combo. Otherwise, +N combo\",\"upgrades.reach.name\":\"Top down\",\"upgrades.respawn.fullHelp\":\"Some particle effect will let you know where bricks will appear. \",\"upgrades.respawn.help\":\"{{percent}}% of bricks re-spawn after {{delay}}s.\",\"upgrades.respawn.name\":\"Re-spawn\",\"upgrades.right_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 right side. \\n\\nAs soon as your combo rises, the right side becomes red to remind you that you should avoid hitting them.\\n\",\"upgrades.right_is_lava.help\":\"+{{lvl}} combo per brick broken, resets on right side hit\",\"upgrades.right_is_lava.name\":\"Avoid right side\",\"upgrades.sacrifice.fullHelp\":\"This might get the combo pretty high.\",\"upgrades.sacrifice.help_l1\":\"Loosing a life clears all bricks\",\"upgrades.sacrifice.help_over\":\"Loosing a life {{lvl}}x the combo then clears all bricks\",\"upgrades.sacrifice.name\":\"Sacrifice\",\"upgrades.sapper.fullHelp\":\"Instead of just disappearing, the first brick you break will be replaced by a bomb brick. Bouncing the ball on the puck re-arms the effect. Leveling-up this perk will allow you to place more bombs.\\n\\nRemember that bombs impact the velocity of nearby coins, so too many explosions could make it hard to catch the fruits of your hard work.\",\"upgrades.sapper.help\":\"The first brick broken becomes a bomb.\",\"upgrades.sapper.help_plural\":\"The first {{lvl}} bricks broken become bombs.\",\"upgrades.sapper.name\":\"Sapper\",\"upgrades.shocks.fullHelp\":\"Whenever two balls collide, they exchange their speed, spawn an explosion, and gain added speed to separated them. \",\"upgrades.shocks.help\":\"Explosive balls collisions\",\"upgrades.shocks.name\":\"Shocks\",\"upgrades.shunt.fullHelp\":\"If you also have hot start, the hot start is just added to the current combo\",\"upgrades.shunt.help\":\"Keep {{percent}}% of your combo between levels\",\"upgrades.shunt.name\":\"Shunt\",\"upgrades.side_flip.fullHelp\":\"Impact the brick on its right side to gain one combo, but avoid hitting it on the left side as the would remove 2 combo. Hitting from the top and bottom has no effect. \",\"upgrades.side_flip.help\":\"+{{lvl}} combo per brick broken from the right, -{{loss}} otherwise\",\"upgrades.side_flip.name\":\"Right handed\",\"upgrades.side_kick.fullHelp\":\"Impact the brick on its left side to gain one combo, but avoid hitting it on the right side as the would remove 2 combo. Hitting from the top and bottom has no effect. \",\"upgrades.side_kick.help\":\"+{{lvl}} combo per brick broken from the left, -{{loss}} otherwise\",\"upgrades.side_kick.name\":\"Left handed\",\"upgrades.skip_last.fullHelp\":\"You need to break all bricks to go to the next level. However, it can be hard to get the last ones. \\n\\nClearing a level early brings extra choices when upgrading. Never missing the bricks is also very beneficial. \\n\\nSo if you find it difficult to break the last bricks, getting this perk a few time can help.\",\"upgrades.skip_last.help\":\"The last brick will explode.\",\"upgrades.skip_last.help_plural\":\"The last {{lvl}} bricks will explode.\",\"upgrades.skip_last.name\":\"Easy Cleanup\",\"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.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.help\":\"Also gives +5 base combo\",\"upgrades.smaller_puck.help_plural\":\"Even smaller puck and higher base combo\",\"upgrades.smaller_puck.name\":\"Smaller puck\",\"upgrades.soft_reset.fullHelp\":\"Limit the impact of a combo reset.\",\"upgrades.soft_reset.help\":\"Combo resets keeps {{percent}}%\",\"upgrades.soft_reset.name\":\"Soft reset\",\"upgrades.streak_shots.fullHelp\":\"Every time you break a brick, your combo (number of coins per bricks) increases by one. \\n\\nHowever, as soon as the ball touches your puck, the combo is reset to its default value, and you'll just get one coin per brick.\\n\\nOnce your combo rises above the base value, your puck will become red to remind you that it will destroy your combo to touch it with the ball.\",\"upgrades.streak_shots.help\":\"More coins if you break many bricks at once.\",\"upgrades.streak_shots.name\":\"Single puck hit streak\",\"upgrades.sturdy_bricks.fullHelp\":\"Each level of this perk adds one HP to all bricks. You can see the HP number with the \\\"clairvoyant\\\" perk. You can increase ball damage by getting the \\\"piercing\\\" perk. Each level of the perk adds +50% coins spawn. \",\"upgrades.sturdy_bricks.help\":\"+{{lvl}} bricks HP, +{{percent}}% coins spawned when broken\",\"upgrades.sturdy_bricks.name\":\"Sturdy bricks\",\"upgrades.telekinesis.fullHelp\":\"You control the ball while it's going up. \",\"upgrades.telekinesis.help\":\"Puck controls the ball's trajectory\",\"upgrades.telekinesis.help_plural\":\"Stronger effect on the ball\",\"upgrades.telekinesis.name\":\"Telekinesis\",\"upgrades.top_is_lava.fullHelp\":\"Whenever you break a brick, your combo will increase by one. However, your combo will reset as soon as your ball hit the top of the screen. \\n\\nWhen your combo is above the minimum, a red bar will appear at the top to remind you that you should avoid hitting it. \",\"upgrades.top_is_lava.help\":\"+{{lvl}} combo per brick, reset when the top is hit\",\"upgrades.top_is_lava.name\":\"Sky is the limit\",\"upgrades.trampoline.fullHelp\":\"One of the rare combo upgrades that don't add a reset condition\",\"upgrades.trampoline.help\":\"+{{lvl}} combo per puck bounce,-{{lvl}} combo per bounce on any border\",\"upgrades.trampoline.name\":\"Trampoline\",\"upgrades.unbounded.fullHelp\":\"I hope you've found a way to keep your ball on screen. Penalties for hitting the sides no longer apply. At level 2+, the ceiling will also disappear. This is an advanced perk. \",\"upgrades.unbounded.help\":\"+{{lvl}} combo per brick, no more sides to keep the ball in game, danger\",\"upgrades.unbounded.help_no_ceiling\":\"+{{lvl}} combo per brick, no more sides or ceiling\",\"upgrades.unbounded.name\":\"Unbounded\",\"upgrades.viscosity.fullHelp\":\"Coins normally accelerate with gravity and explosions to pretty high speeds. \\n\\nThis perk constantly makes them slow down, as if they were in some sort of viscous liquid. \\n\\nThis makes catching them easier, and combines nicely with perks that influence the coin's movement.\",\"upgrades.viscosity.help\":\"Slower coin fall\",\"upgrades.viscosity.name\":\"Viscosity\",\"upgrades.wind.fullHelp\":\"The wind depends on where your puck is, if it's in the center of the screen nothing happens, if it's on the left it will blow left-wise, if it's on the right of the screen then it will blow right-wise. \\n\\nThe wind affects both the balls and coins.\",\"upgrades.wind.help\":\"Puck position creates wind\",\"upgrades.wind.help_plural\":\"Stronger wind force\",\"upgrades.wind.name\":\"Wind\",\"upgrades.yoyo.fullHelp\":\"It's the opposite of telekinesis, control the ball while it's falling back down.\",\"upgrades.yoyo.help\":\"Ball falls toward puck\",\"upgrades.yoyo.name\":\"Yo-yo\",\"upgrades.zen.fullHelp\":\"After all, this is a non-violent game. \",\"upgrades.zen.help\":\"+{{lvl}} combo per bricks, reset when there's an explosion\",\"upgrades.zen.name\":\"Zen\"}"); +module.exports = JSON.parse("{\"confirmRestart.no\":\"Cancel\",\"confirmRestart.text\":\"You're about to start a new game. Are you sure you want to continue?\",\"confirmRestart.title\":\"Start a new game?\",\"confirmRestart.yes\":\"Restart game\",\"gameOver.creative\":\"This run will not be recorded. \",\"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.title\":\"Game Over\",\"gameOver.stats.balls_lost\":\"Balls lost\",\"gameOver.stats.bricks_broken\":\"Bricks broken\",\"gameOver.stats.bricks_per_minute\":\"Bricks broken per minute\",\"gameOver.stats.catch_rate\":\"Catch rate\",\"gameOver.stats.combo_avg\":\"Average combo\",\"gameOver.stats.combo_max\":\"Max combo\",\"gameOver.stats.duration_per_level\":\"Duration per level\",\"gameOver.stats.hit_rate\":\"Hit rate\",\"gameOver.stats.intro\":\"Find below your game statistics compared to your {{count}} best games.\",\"gameOver.stats.level_reached\":\"Level reached\",\"gameOver.stats.total_score\":\"Total score\",\"gameOver.stats.upgrades_applied\":\"Upgrades applied\",\"gameOver.unlocked_perk\":\"Upgrade unlocked\",\"gameOver.unlocked_perk_plural\":\"You just unlocked {{count}} perks\",\"gameOver.win.summary\":\"This game is over. You stashed {{score}} coins. \",\"gameOver.win.title\":\"You completed this game\",\"history.columns.score\":\"Score\",\"history.columns.started\":\"Date\",\"history.help\":\"See your {{count}} best games.\",\"history.locked\":\"Play at least ten games to unlock\",\"history.title\":\"Runs history\",\"lab.help\":\"Try any build you want\",\"lab.instructions\":\"Select upgrades below, then pick a level to play. \",\"lab.menu_entry\":\"Creative mode\",\"lab.reset\":\"Reset all to 0\",\"lab.select_level\":\"Select a level to play on\",\"lab.unlocks_at\":\"Unlocks at total score {{score}}\",\"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.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 upgrades.\",\"level_up.compliment_good\":\"Well done !\",\"level_up.compliment_perfect\":\"Impressive, keep it up !\",\"level_up.pick_upgrade_title\":\"Pick an upgrade\",\"level_up.plus_one_upgrade\":\"(+1 upgrade)\",\"level_up.plus_one_upgrade_and_reroll\":\"(+1 upgrade and +1 re-roll)\",\"level_up.reroll\":\"Re-roll ({{count}})\",\"level_up.reroll_help\":\"Offer new choices\",\"level_up.upgrade_perk_to_level\":\" lvl {{level}}\",\"main_menu.basic\":\"Basic graphics\",\"main_menu.basic_help\":\"Better performance.\",\"main_menu.colorful_coins\":\"Colorful coins\",\"main_menu.colorful_coins_help\":\"Coins always spawn of the color of the brick\",\"main_menu.comboIncreaseTexts\":\"Show +X in gold\",\"main_menu.comboIncreaseTexts_help\":\"When the combo increase\",\"main_menu.contrast\":\"High Contrast\",\"main_menu.contrast_help\":\"More colorful and dark rendering\",\"main_menu.credit_levels\":\"Levels\",\"main_menu.donate\":\"You've played for {{hours}} hours\",\"main_menu.donate_help\":\"How about donating? You can hide this reminder in the settings. \",\"main_menu.donation_reminder\":\"Remind me to donate\",\"main_menu.donation_reminder_help\":\"See time played and donation link in main menu\",\"main_menu.download_save_file\":\"Download score and stats\",\"main_menu.download_save_file_help\":\"Get a save file\",\"main_menu.extra_bright\":\"Extra bright\",\"main_menu.extra_bright_help\":\"Increases the size of the halo around coins and bricks.\",\"main_menu.fullscreen\":\"Fullscreen\",\"main_menu.fullscreen_help\":\"Game will try to go full screen before starting\",\"main_menu.help_content\":\"## Goal\\n\\nCatch as many coins as possible during 7 levels. \\nCoins appear when you break bricks.\\nCatch them with your puck to increase your score.\\nYour score is displayed in the top right corner of the screen.\\nDon't drop the ball or it's game over.\\n\\nAfter destroying all bricks, you'll get to pick an upgrade.\\n\\n## Upgrades \\n\\nThe upgrades you pick will apply until the end of the run. \\nSome can be picked multiple times for stronger effect.\\nSome help with aiming, or make the game easier in some other ways. \\nSome are only useful when combined.\\n\\nYou always get one upgrade at the beginning of each game. \\nIts icon will serve as the bricks of the first level. \\nYou can select starting upgrades in the settings.\\n\\nMany upgrades impact your combo. \\n\\n## Combo\\n\\nYour \\\"combo\\\" is the number of coins spawned when a brick breaks. \\nIt is displayed on your puck, for example x4 means each brick will spawn 4 coins. \\nMost upgrades that increase the combo also add a condition to reset it. \\nThe combo will also reset if the ball returns to the puck without hitting any brick.\\nA \\\"miss\\\" message will be shown when that happens. \\n\\nTry to aim towards a brick every time. \\n\\n## Aiming\\n\\nOnly the ball position on the puck decides how it will bounce.\\nIf the ball hits the puck dead center, it will bounce back up vertically. \\nIf you hit more on one side, it will have more angle. \\nThe puck speed and incoming angle have no impact on the ball direction after bouncing.\\n\\nMany upgrades that help with aiming can be unlocked.\\n\\n## Unlocks\\n\\nWhen playing Breakout 71 for the first time, most upgrades and levels are locked. \\nUpgrades are unlocked by simply playing and catching many coins. \\nThe first levels are unlocked by reaching a high score.\\nLater levels add a condition about which perks you can select. \\n\\nReach high scores is much easier when you get multiple upgrades after each level. \\n\\n## Re-rolls and free upgrades\\n\\nYou'll get an extra upgrade to pick when you play well : \\n\\n- Clear the level under {{levelTimeGood}} seconds\\n- Hit the sides or top less than {{wallBouncedGood}} times\\n- Catch {{catchRateGood}}% of coins\\n- Miss the bricks less than {{missesGood}} times \\n\\nYou will also get a re-roll that lets you skip upgrades if you do even better : \\n\\n- Clear a level under {{levelTimeBest}} seconds\\n- Hit the sides or top less than {{wallBouncedBest}} times\\n- Catch {{catchRateBest}}% of coins\\n- Miss the bricks less than {{missesBest}} times \\n\\nAn option in the settings lets you display those statistics\",\"main_menu.help_help\":\"Learn more about the game\",\"main_menu.help_title\":\"Help\",\"main_menu.help_upgrades\":\"## Upgrades\",\"main_menu.high_score\":\"High score : {{score}}\",\"main_menu.kid\":\"Kids mode\",\"main_menu.kid_help\":\"Start future games with \\\"slower ball\\\".\",\"main_menu.language\":\"Language\",\"main_menu.language_help\":\"Choose the game's language\",\"main_menu.load_save_file\":\"Load save file\",\"main_menu.load_save_file_help\":\"Select a save file on your device\",\"main_menu.max_coins\":\" {{max}} coins on screen maximum\",\"main_menu.max_coins_help\":\"Cosmetic only, no effect on score\",\"main_menu.max_particles\":\" {{max}} particles maximum\",\"main_menu.max_particles_help\":\"Limits the number of particles show on screen for visual effect. \",\"main_menu.mobile\":\"Mobile mode\",\"main_menu.mobile_help\":\"Leaves space under the puck.\",\"main_menu.normal\":\"New Game\",\"main_menu.normal_help\":\"Play 7 levels with a random starting perk\",\"main_menu.pointer_lock\":\"Mouse pointer lock\",\"main_menu.pointer_lock_help\":\"Locks and hides the mouse cursor.\",\"main_menu.record\":\"Record gameplay videos\",\"main_menu.record_download\":\"Download video ({{size}} MB)\",\"main_menu.record_help\":\"Get a video of each level.\",\"main_menu.red_miss\":\"Miss warning\",\"main_menu.red_miss_help\":\"Show red particles around balls going down without a hit.\",\"main_menu.reset\":\"Reset Game\",\"main_menu.reset_cancel\":\"No\",\"main_menu.reset_confirm\":\"Yes\",\"main_menu.reset_help\":\"Erase high score, play time and statistics\",\"main_menu.reset_instruction\":\"You will lose all progress you made in the game, are you sure?\",\"main_menu.save_file_error\":\"Error loading save file\",\"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_ok\":\"Ok\",\"main_menu.settings_help\":\"Tailor the game play to your needs and taste\",\"main_menu.settings_title\":\"Settings\",\"main_menu.show_fps\":\"FPS counter\",\"main_menu.show_fps_help\":\"Monitor the app's performance\",\"main_menu.show_stats\":\"Show real time stats\",\"main_menu.show_stats_help\":\"Coins, time, bounces, misses\",\"main_menu.sounds\":\"Game sounds\",\"main_menu.sounds_help\":\"Can slow down some phones.\",\"main_menu.starting_perks\":\"Starting perks\",\"main_menu.starting_perks_checked\":\"When you start a new game, one of those perks will be given to you. Click a perk to exclude it. \",\"main_menu.starting_perks_help\":\"Choose possible starting upgrades\",\"main_menu.starting_perks_unchecked\":\"The perks below are not offered as starting perks, but you can click to add them to the pool. \",\"main_menu.title\":\"Breakout 71\",\"main_menu.unlocks\":\"Unlocked content\",\"main_menu.unlocks_help\":\"Try perks and levels you unlocked\",\"play.close_modale_window_tooltip\":\"close \",\"play.current_lvl\":\"Level {{level}}/{{max}}\",\"play.menu_label\":\"menu\",\"play.menu_tooltip\":\"Open main menu\",\"play.missed_ball\":\"miss\",\"play.mobile_press_to_play\":\"Press and hold here to play\",\"play.score_tooltip\":\"See your score, upgrades and more\",\"play.stats.coins_catch_rate\":\"Coins catch rate\",\"play.stats.levelMisses\":\"Missed shots, where you hit nothing\",\"play.stats.levelTime\":\"Level time\",\"play.stats.levelWallBounces\":\"Wall bounces\",\"score_panel.close_to_unlock\":\"Next level unlock :\",\"score_panel.get_upgrades_to_unlock\":\"Get {{missingUpgrades}} and score {{points}} more points to unlock level \\\"{{level}}\\\"\",\"score_panel.rerolls_count\":\"You have accumulated {{rerolls}} rerolls\",\"score_panel.score_to_unlock\":\"Score {{points}} more points to unlock level \\\"{{level}}\\\"\",\"score_panel.title\":\"{{score}} points at level {{level}}/{{max}} \",\"score_panel.upcoming_levels\":\"Upcoming levels :\",\"score_panel.upgrades_picked\":\"Upgrades picked in this game run : \",\"unlocks.greyed_out_help\":\"The grayed out upgrades 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 test game with it.\",\"unlocks.just_unlocked\":\"Level unlocked\",\"unlocks.just_unlocked_plural\":\"You just unlocked {{count}} levels\",\"unlocks.level\":\"

You unlocked {{unlocked}} levels out of {{out_of}}

\\n

Here are all the game levels, click one to try it out.

\",\"unlocks.level_description\":\"A {{size}}x{{size}} level with {{bricks}} bricks, {{colors}} colors and {{bombs}} bombs.\",\"unlocks.minScore\":\"Reach ${{minScore}} in a run to unlock.\",\"unlocks.minScoreWithPerks\":\"Reach ${{minScore}} in a run with {{required}} but without {{forbidden}} to unlock.\",\"unlocks.minTotalScore\":\"Accumulate a total of ${{score}}\",\"unlocks.reached\":\"Your best score was {{reached}}.\",\"unlocks.title_upgrades\":\"You unlocked {{unlocked}} upgrades out of {{out_of}}\",\"upgrades.addiction.fullHelp\":\"The countdown only starts after breaking the first brick of each level. It stops as soon as all bricks are destroyed.\",\"upgrades.addiction.help\":\"+{{lvl}} combo / brick, combo resets {{delay}}s after breaking a brick. \",\"upgrades.addiction.name\":\"Addiction\",\"upgrades.asceticism.fullHelp\":\"You'll need to store the coins somewhere while your combo climbs. \",\"upgrades.asceticism.help\":\"+{{combo}} combo / brick, - {{combo}} on coin catch\",\"upgrades.asceticism.name\":\"Asceticism\",\"upgrades.ball_attract_ball.fullHelp\":\"Balls that are more than \\\"3/4 of the game area width\\\" away will start attracting each other. \\n\\nThe attraction force is stronger when they are furthest away from each other.\\n\\nRainbow particles will fly to symbolize the attraction force. This perk is only offered if you have more than one ball already.\",\"upgrades.ball_attract_ball.help\":\"Balls attract balls\",\"upgrades.ball_attract_ball.help_plural\":\"Stronger attraction force\",\"upgrades.ball_attract_ball.name\":\"Gravity\",\"upgrades.ball_attracts_coins.fullHelp\":\"This could be used to \\\"paint around\\\" the balls with coins if you combined it with \\\"stain\\\" and \\\"ghost coins\\\".\",\"upgrades.ball_attracts_coins.help\":\"Balls attract coins\",\"upgrades.ball_attracts_coins.name\":\"Coins cloud\",\"upgrades.ball_repulse_ball.fullHelp\":\"Balls that are less than a quarter screen width away will start repulsing each other. The repulsion force is stronger if they are close to each other. Particles will jet out to symbolize this force being applied. This perk is only offered if you have more than one ball already.\",\"upgrades.ball_repulse_ball.help\":\"Balls repulse balls\",\"upgrades.ball_repulse_ball.help_plural\":\"Stronger repulsion force\",\"upgrades.ball_repulse_ball.name\":\"Personal space\",\"upgrades.base_combo.fullHelp\":\"Your combo normally starts at 1 at the beginning of the level, and resets to 1 when you bounce around without hitting anything. With this perk, the combo starts 3 points higher, so you'll always get at least 4 coins per brick. Whenever your combo reset, it will go back to 4 and not 1. Your ball will glitter a bit to indicate that its combo is higher than one.\",\"upgrades.base_combo.help\":\"Combo starts at {{coins}} instead of 1.\",\"upgrades.base_combo.name\":\"Strong foundations\",\"upgrades.bigger_explosions.fullHelp\":\"The default explosion clears a 3x3 square, with this it becomes a 5x5 square, and the blow on the coins is also significantly stronger. The screen will flash after each explosion (except in basic mode)\",\"upgrades.bigger_explosions.help\":\"Bigger explosions\",\"upgrades.bigger_explosions.name\":\"Kaboom\",\"upgrades.bigger_puck.fullHelp\":\"A bigger puck makes it easier to never miss the ball and to catch more coins, and also to precisely angle the bounces (the ball's angle only depends on where it hits the puck). \\n\\nHowever, a large puck is harder to use around the sides of the level, and will make it sometimes unavoidable to miss.\",\"upgrades.bigger_puck.help\":\"Easily catch more coins.\",\"upgrades.bigger_puck.name\":\"Bigger puck\",\"upgrades.clairvoyant.fullHelp\":\"Helps you pick the right upgrades and understand what's going on with sturdy bricks. Level 2 and 3 bring additional knowledge of dubious utility (reachable in loop mode)\",\"upgrades.clairvoyant.help\":\"See upcoming levels, bricks HP and ball direction\",\"upgrades.clairvoyant.name\":\"Clairvoyant\",\"upgrades.coin_magnet.fullHelp\":\"Directs the coins to the puck. The effect is stronger if the coin is close to it already. Catching all coins bring special bonuses in the game. \\n\\nAnother way to catch more coins is to hit bricks from the bottom. The ball's speed and direction impact the spawned coin's velocity. \",\"upgrades.coin_magnet.help\":\"Puck attracts coins\",\"upgrades.coin_magnet.help_plural\":\"Stronger effect on the coins\",\"upgrades.coin_magnet.name\":\"Coins magnet\",\"upgrades.compound_interest.fullHelp\":\"Your combo will grow by one every time you break a brick, spawning more and more coin with every brick you break. \\n\\nBe sure however to catch every one of those coins with your puck, as any lost coin will reset your combo. \\n\\nOnce your combo is above the minimum, the bottom of the play area will have a red line to remind you that coins should not go there.\",\"upgrades.compound_interest.help\":\"+{{lvl}} combo per brick broken, resets on coin lost\",\"upgrades.compound_interest.name\":\"Compound interest\",\"upgrades.concave_puck.fullHelp\":\"Balls starts the level going straight up, and bounces with less angle.\",\"upgrades.concave_puck.help\":\"Improves vertical aiming precision\",\"upgrades.concave_puck.name\":\"Concave puck\",\"upgrades.corner_shot.fullHelp\":\"Helps with aiming in the corners. Further levels let you go further out. \",\"upgrades.corner_shot.help\":\"Lets your puck overlap with the borders of the screen\",\"upgrades.corner_shot.name\":\"Corner shot\",\"upgrades.etherealcoins.fullHelp\":\"You'll have to make sure that the coins fall down somehow, or you won't get any. \",\"upgrades.etherealcoins.help\":\"Coins are no longer affected by gravity\",\"upgrades.etherealcoins.name\":\"Coins, in Space\",\"upgrades.extra_levels.fullHelp\":\"The default game can last a max of 7 levels, after which the game is over. \\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.name\":\"5 min more\",\"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 lose 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_plural\":\"Your (last) ball will bounce on the bottom instead of being lost ({{lvl}} times).\",\"upgrades.extra_life.name\":\"Extra Life\",\"upgrades.forgiving.fullHelp\":\"The first miss per level is free, then 10% of the combo, then 20% .. \",\"upgrades.forgiving.help\":\"Missing breaks reduces combo progressively instead of all at once.\",\"upgrades.forgiving.name\":\"Forgiving\",\"upgrades.fountain_toss.fullHelp\":\"When you miss a coin and your combo was under {{max}}, your combo has a probability of {{lvl}}/combo to grow by one.\",\"upgrades.fountain_toss.help\":\"Gain some combo when you miss some coins. \",\"upgrades.fountain_toss.name\":\"Fountain toss\",\"upgrades.ghost_coins.fullHelp\":\"It's not a bug, it's a feature ! Coins fly through bricks slowly. Higher levels let them move faster. \",\"upgrades.ghost_coins.help\":\"Coins slowly pass through bricks\",\"upgrades.ghost_coins.name\":\"Ghost coins\",\"upgrades.helium.fullHelp\":\"This affects the coins and will let the float up until you are ready to pick them up.\",\"upgrades.helium.help\":\"Gravity reversed left and right of puck\",\"upgrades.helium.name\":\"Helium\",\"upgrades.hot_start.fullHelp\":\"At the start of every level, your combo will start at +30 points, but then every second it will be decreased by one. The effect stacks with other perks. \",\"upgrades.hot_start.help\":\"Start at combo {{start}}, -{{loss}} combo per second\",\"upgrades.hot_start.name\":\"Hot start\",\"upgrades.implosions.fullHelp\":\"The explosion force is applied the other way. Further levels act as \\\"bigger explosion\\\"\",\"upgrades.implosions.help\":\"Explosions suck coins in instead of blowing them out\",\"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.help\":\"+1 upgrade now, -1 choice until game end.\",\"upgrades.instant_upgrade.name\":\"Instant upgrade\",\"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\",\"upgrades.left_is_lava.help\":\"+{{lvl}} combo per brick broken. Combo resets if ball hits the left side of the screen\",\"upgrades.left_is_lava.name\":\"Avoid left side\",\"upgrades.limitless.fullHelp\":\"Choosing this perk also raises his own limit by one, letting you pick it again.\",\"upgrades.limitless.help\":\"Raise all upgrade's maximum level by {{lvl}} \",\"upgrades.limitless.name\":\"Limitless\",\"upgrades.metamorphosis.fullHelp\":\"With this perk, coins will be of the color of the brick they come from, and will color the first brick they touch in the same color. \\n\\nCoins spawn with the speed of the ball that broke them, which means you can aim a bit in the direction of the bricks you want to \\\"paint\\\".\",\"upgrades.metamorphosis.help\":\"Each coin can stain {{lvl}} brick(s) with its color\",\"upgrades.metamorphosis.name\":\"Metamorphosis\",\"upgrades.minefield.fullHelp\":\"Adds +lvl to the combo when a brick is place, -lvl when it is destroyed, and raises the base combo by the number of bricks times lvl\",\"upgrades.minefield.help\":\"+{{lvl}} combo per bomb brick on screen\",\"upgrades.minefield.name\":\"Minefield\",\"upgrades.multiball.fullHelp\":\"As soon as you drop the ball in Breakout 71, you lose. \\n\\nWith this perk, you get two balls, and so you can afford to lose one. \\n\\nThe lost balls come back on the next level. \\n\\nHaving more than one balls makes some further perks available, and of course clears the level faster.\",\"upgrades.multiball.help\":\"Start every levels with {{count}} balls.\",\"upgrades.multiball.name\":\"Multi ball\",\"upgrades.nbricks.fullHelp\":\"You don't necessarily need to destroy those bricks, but you need to hit them. Bricks destroyed by explosions don't count\",\"upgrades.nbricks.help\":\"Hit exactly {{lvl}} bricks per puck bounce for +{{lvl}} combo, otherwise it resets\",\"upgrades.nbricks.name\":\"Strict sample size\",\"upgrades.one_more_choice.fullHelp\":\"Every upgrade menu will have one more option. Doesn't increase the number of upgrades you can pick.\",\"upgrades.one_more_choice.help\":\"Further level ups will offer {{lvl}} more option(s) in the list\",\"upgrades.one_more_choice.name\":\"Extra choice\",\"upgrades.passive_income.fullHelp\":\"Some perks can help the balls do what you want without needing to do anything.\",\"upgrades.passive_income.help\":\"+{{lvl}} combo / brick, unless the puck moved in the last {{time}}s, then it resets instead\",\"upgrades.passive_income.name\":\"Passive income\",\"upgrades.picky_eater.fullHelp\":\"Whenever you break a brick the same color as your ball, your combo increases by one. \\nIf it's a different color, the ball takes that new color, but the combo resets, unless there were no bricks left of the ball's color. \\nOnce you get a combo higher than your minimum, the bricks of the wrong color will get a red border. \\nIf you have more than one ball, they all switch color whenever one of them hits a brick.\",\"upgrades.picky_eater.help\":\"+{{lvl}} combo per brick broken, resets on ball color change\",\"upgrades.picky_eater.name\":\"Picky eater\",\"upgrades.pierce.fullHelp\":\"The ball normally bounces as soon as it touches something. With this perk, it will continue its trajectory for up to 3 bricks broken. \\n\\nAfter that, it will bounce on the 4th brick, and you'll need to touch the puck to reset the counter.\",\"upgrades.pierce.help\":\"Ball pierces {{count}} bricks after a puck bounce\",\"upgrades.pierce.name\":\"Piercing\",\"upgrades.pierce_color.fullHelp\":\"Whenever a ball hits a brick of the same color, it will just go through unimpeded. \\n\\nOnce it reaches a brick of a different color, it will break it, take its color and bounce.\\n\\nIf you have sturdy bricks, the ball might still bounce off a brick of the same color.\",\"upgrades.pierce_color.help\":\"+{{lvl}} damage to bricks of the ball's color\",\"upgrades.pierce_color.name\":\"Color pierce\",\"upgrades.puck_repulse_ball.fullHelp\":\"When a ball gets close to the puck, it will start slowing down, and even potentially bouncing without touching the puck.\",\"upgrades.puck_repulse_ball.help\":\"Puck repulses balls\",\"upgrades.puck_repulse_ball.help_plural\":\"Stronger repulsion force\",\"upgrades.puck_repulse_ball.name\":\"Soft landing\",\"upgrades.reach.fullHelp\":\"If there is only one row of bricks, or if the lowest row of bricks cover the whole width of the game, then this perk does nothing. Otherwise, breaking this lowest row resets the combo, while breaking anything else increases the combo by the number of bricks present on that lowest row. \\n\\nThe lowest row will be highlighted in red. \",\"upgrades.reach.help\":\" Touching the N bricks of the lowest row resets the combo. Otherwise, +N combo\",\"upgrades.reach.name\":\"Top down\",\"upgrades.respawn.fullHelp\":\"Some particle effect will let you know where bricks will appear. \",\"upgrades.respawn.help\":\"{{percent}}% of bricks re-spawn after {{delay}}s.\",\"upgrades.respawn.name\":\"Re-spawn\",\"upgrades.right_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 right side. \\n\\nAs soon as your combo rises, the right side becomes red to remind you that you should avoid hitting them.\\n\",\"upgrades.right_is_lava.help\":\"+{{lvl}} combo per brick. Combo resets if ball hits the left side of the screen\",\"upgrades.right_is_lava.name\":\"Avoid right side\",\"upgrades.sacrifice.fullHelp\":\"This might get the combo pretty high.\",\"upgrades.sacrifice.help_l1\":\"Loosing a life clears all bricks\",\"upgrades.sacrifice.help_over\":\"Loosing a life {{lvl}}x the combo then clears all bricks\",\"upgrades.sacrifice.name\":\"Sacrifice\",\"upgrades.sapper.fullHelp\":\"Instead of just disappearing, the first brick you break will be replaced by a bomb brick. Bouncing the ball on the puck re-arms the effect. Leveling-up this perk will allow you to place more bombs.\\n\\nRemember that bombs impact the velocity of nearby coins, so too many explosions could make it hard to catch the fruits of your hard work.\",\"upgrades.sapper.help\":\"The first brick broken becomes a bomb.\",\"upgrades.sapper.help_plural\":\"The first {{lvl}} bricks broken become bombs.\",\"upgrades.sapper.name\":\"Sapper\",\"upgrades.shocks.fullHelp\":\"Whenever two balls collide, they exchange their speed, spawn an explosion, and gain added speed to separate them. \",\"upgrades.shocks.help\":\"Explosive balls collisions\",\"upgrades.shocks.name\":\"Shocks\",\"upgrades.shunt.fullHelp\":\"If you also have hot start, the hot start is just added to the current combo\",\"upgrades.shunt.help\":\"Keep {{percent}}% of your combo between levels\",\"upgrades.shunt.name\":\"Shunt\",\"upgrades.side_flip.fullHelp\":\"Impact the brick on its right side to gain one combo, but avoid hitting it on the left side as the would remove 2 combo. Hitting from the top and bottom has no effect. \",\"upgrades.side_flip.help\":\"+{{lvl}} combo per brick broken from the right, -{{loss}} otherwise\",\"upgrades.side_flip.name\":\"Right handed\",\"upgrades.side_kick.fullHelp\":\"Impact the brick on its left side to gain one combo, but avoid hitting it on the right side as the would remove 2 combo. Hitting from the top and bottom has no effect. \",\"upgrades.side_kick.help\":\"+{{lvl}} combo per brick broken from the left, -{{loss}} otherwise\",\"upgrades.side_kick.name\":\"Left handed\",\"upgrades.skip_last.fullHelp\":\"You need to break all bricks to go to the next level. However, it can be hard to get the last ones. \\n\\nClearing a level early brings extra choices when upgrading. Never missing the bricks is also very beneficial. \\n\\nSo if you find it difficult to break the last bricks, getting this perk a few time can help.\",\"upgrades.skip_last.help\":\"The last brick will explode.\",\"upgrades.skip_last.help_plural\":\"The last {{lvl}} bricks will explode.\",\"upgrades.skip_last.name\":\"Easy Cleanup\",\"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.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.help\":\"Also gives +5 base combo\",\"upgrades.smaller_puck.help_plural\":\"Even smaller puck and higher base combo\",\"upgrades.smaller_puck.name\":\"Smaller puck\",\"upgrades.soft_reset.fullHelp\":\"Limit the impact of a combo reset.\",\"upgrades.soft_reset.help\":\"Combo resets keeps {{percent}}%\",\"upgrades.soft_reset.name\":\"Soft reset\",\"upgrades.streak_shots.fullHelp\":\"Every time you break a brick, your combo (number of coins per bricks) increases by one. \\n\\nHowever, as soon as the ball touches your puck, the combo is reset to its default value, and you'll just get one coin per brick.\\n\\nOnce your combo rises above the base value, your puck will become red to remind you that it will destroy your combo to touch it with the ball.\",\"upgrades.streak_shots.help\":\"More coins if you break many bricks before bouncing on the puck.\",\"upgrades.streak_shots.name\":\"Hit streak\",\"upgrades.sturdy_bricks.fullHelp\":\"Each level of this perk adds one HP to all bricks. You can see the HP number with the \\\"clairvoyant\\\" perk. You can increase ball damage by getting the \\\"piercing\\\" perk. Each level of the perk adds +50% coins spawn. \",\"upgrades.sturdy_bricks.help\":\"+{{lvl}} bricks HP, +{{percent}}% coins spawned when broken\",\"upgrades.sturdy_bricks.name\":\"Sturdy bricks\",\"upgrades.telekinesis.fullHelp\":\"You control the ball while it's going up. \",\"upgrades.telekinesis.help\":\"Puck controls the ball's trajectory\",\"upgrades.telekinesis.help_plural\":\"Stronger effect on the ball\",\"upgrades.telekinesis.name\":\"Telekinesis\",\"upgrades.top_is_lava.fullHelp\":\"Whenever you break a brick, your combo will increase by one. However, your combo will reset as soon as your ball hit the top of the screen. \\n\\nWhen your combo is above the minimum, a red bar will appear at the top to remind you that you should avoid hitting it. \",\"upgrades.top_is_lava.help\":\"+{{lvl}} combo per brick, reset when the top is hit\",\"upgrades.top_is_lava.name\":\"Sky is the limit\",\"upgrades.trampoline.fullHelp\":\"One of the rare combo upgrades that don't add a reset condition\",\"upgrades.trampoline.help\":\"+{{lvl}} combo per puck bounce,-{{lvl}} combo per bounce on any border\",\"upgrades.trampoline.name\":\"Trampoline\",\"upgrades.unbounded.fullHelp\":\"I hope you've found a way to keep your ball on screen. Penalties for hitting the sides no longer apply. At level 2+, the ceiling will also disappear. This is an advanced perk. \",\"upgrades.unbounded.help\":\"+{{lvl}} combo per brick, no more sides to keep the ball in game, danger\",\"upgrades.unbounded.help_no_ceiling\":\"+{{lvl}} combo per brick, no more sides or ceiling\",\"upgrades.unbounded.name\":\"Unbounded\",\"upgrades.viscosity.fullHelp\":\"Coins normally accelerate with gravity and explosions to pretty high speeds. \\n\\nThis perk constantly makes them slow down, as if they were in some sort of viscous liquid. \\n\\nThis makes catching them easier, and combines nicely with perks that influence the coin's movement.\",\"upgrades.viscosity.help\":\"Slower coin fall\",\"upgrades.viscosity.name\":\"Viscosity\",\"upgrades.wind.fullHelp\":\"Wind depends on puck position: left blows left, right blows right. Affects both balls and coins.\",\"upgrades.wind.help\":\"Puck position creates wind\",\"upgrades.wind.help_plural\":\"Stronger wind force\",\"upgrades.wind.name\":\"Wind\",\"upgrades.yoyo.fullHelp\":\"It's the opposite of telekinesis, control the ball while it's falling back down.\",\"upgrades.yoyo.help\":\"Ball falls toward puck\",\"upgrades.yoyo.name\":\"Yo-yo\",\"upgrades.zen.fullHelp\":\"After all, this is a non-violent game. \",\"upgrades.zen.help\":\"+{{lvl}} combo per bricks, reset when there's an explosion\",\"upgrades.zen.name\":\"Zen\"}"); },{}],"5blfu":[function(require,module,exports,__globalThis) { // Settings @@ -2233,6 +2244,14 @@ parcelHelpers.export(exports, "comboKeepingRate", ()=>comboKeepingRate); parcelHelpers.export(exports, "hoursSpentPlaying", ()=>hoursSpentPlaying); parcelHelpers.export(exports, "miniMarkDown", ()=>miniMarkDown); parcelHelpers.export(exports, "firstWhere", ()=>firstWhere); +parcelHelpers.export(exports, "wallBouncedBest", ()=>wallBouncedBest); +parcelHelpers.export(exports, "wallBouncedGood", ()=>wallBouncedGood); +parcelHelpers.export(exports, "levelTimeBest", ()=>levelTimeBest); +parcelHelpers.export(exports, "levelTimeGood", ()=>levelTimeGood); +parcelHelpers.export(exports, "catchRateBest", ()=>catchRateBest); +parcelHelpers.export(exports, "catchRateGood", ()=>catchRateGood); +parcelHelpers.export(exports, "missesBest", ()=>missesBest); +parcelHelpers.export(exports, "missesGood", ()=>missesGood); function clamp(value, min, max) { return Math.max(min, Math.min(value, max)); } @@ -2290,6 +2309,7 @@ function firstWhere(arr, mapper) { if (typeof result !== "undefined") return result; } } +const wallBouncedBest = 3, wallBouncedGood = 10, levelTimeBest = 30, levelTimeGood = 60, catchRateBest = 95, catchRateGood = 90, missesBest = 3, missesGood = 6; },{"@parcel/transformer-js/src/esmodule-helpers.js":"gkKU3"}],"7OIPf":[function(require,module,exports,__globalThis) { var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js"); @@ -3905,6 +3925,7 @@ var _gameUtils = require("./game_utils"); var _i18N = require("./i18n/i18n"); var _game = require("./game"); var _options = require("./options"); +var _pureFunctions = require("./pure_functions"); const gameCanvas = document.getElementById("game"); const ctx = gameCanvas.getContext("2d", { alpha: false @@ -3939,16 +3960,16 @@ function render(gameState) { / ` : "") + ((0, _options.isOptionOn)("show_stats") ? ` - 0.9 && "good" || ""}" data-tooltip="${(0, _i18N.t)("play.stats.coins_catch_rate")}"> + (0, _pureFunctions.catchRateGood) / 100 && "good" || ""}" data-tooltip="${(0, _i18N.t)("play.stats.coins_catch_rate")}"> ${Math.floor(catchRate * 100)}% / - + ${Math.ceil(gameState.levelTime / 1000)}s / - + ${gameState.levelWallBounces} B / - + ${gameState.levelMisses} M / ` : "") + `$${gameState.score}`; @@ -4431,7 +4452,7 @@ function getCoinRenderColor(gameState, coin) { return "#ffd300"; } -},{"./gameStateMutators":"9ZeQl","./game_utils":"cEeac","./i18n/i18n":"eNPRm","./game":"edeGs","./options":"d5NoS","@parcel/transformer-js/src/esmodule-helpers.js":"gkKU3"}],"caCAf":[function(require,module,exports,__globalThis) { +},{"./gameStateMutators":"9ZeQl","./game_utils":"cEeac","./i18n/i18n":"eNPRm","./game":"edeGs","./options":"d5NoS","@parcel/transformer-js/src/esmodule-helpers.js":"gkKU3","./pure_functions":"6pQh7"}],"caCAf":[function(require,module,exports,__globalThis) { var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js"); parcelHelpers.defineInteropFlag(exports); parcelHelpers.export(exports, "addToTotalPlayTime", ()=>addToTotalPlayTime); @@ -4495,7 +4516,7 @@ function gameOver(title, intro) { { icon: (0, _loadGameData.icons)["icon:new_run"], value: null, - text: (0, _i18N.t)("gameOver.restart"), + text: (0, _i18N.t)("confirmRestart.yes"), help: "" }, `
`, @@ -4786,9 +4807,9 @@ async function asyncAlert({ title, content = [], allowClose = true, className = }; else closeModal = null; if (title) { - const h2 = document.createElement("h2"); - h2.innerHTML = title; - popup.appendChild(h2); + const h1 = document.createElement("h1"); + h1.innerHTML = title; + popup.appendChild(h1); } content?.filter((i)=>i).forEach((entry, index)=>{ if (!entry) return; @@ -5099,8 +5120,17 @@ function helpMenuEntry() { title: (0, _i18N.t)("main_menu.help_title"), allowClose: true, content: [ - (0, _pureFunctions.miniMarkDown)((0, _i18N.t)("main_menu.help_content")), - (0, _i18N.t)("main_menu.help_upgrades"), + (0, _pureFunctions.miniMarkDown)((0, _i18N.t)("main_menu.help_content", { + catchRateBest: (0, _pureFunctions.catchRateBest), + catchRateGood: (0, _pureFunctions.catchRateGood), + levelTimeBest: (0, _pureFunctions.levelTimeBest), + levelTimeGood: (0, _pureFunctions.levelTimeGood), + missesBest: (0, _pureFunctions.missesBest), + missesGood: (0, _pureFunctions.missesGood), + wallBouncedBest: (0, _pureFunctions.wallBouncedBest), + wallBouncedGood: (0, _pureFunctions.wallBouncedGood) + })), + (0, _pureFunctions.miniMarkDown)((0, _i18N.t)("main_menu.help_upgrades")), ...(0, _loadGameData.upgrades).map((u)=>`
${u.icon} @@ -5112,7 +5142,7 @@ function helpMenuEntry() { ${(0, _pureFunctions.miniMarkDown)(u.fullHelp)} `), - (0, _i18N.t)("main_menu.credit_levels"), + '

' + (0, _i18N.t)("main_menu.credit_levels") + '

', ...(0, _loadGameData.allLevels).filter((l)=>l.credit?.trim()).map((l)=>`
${(0, _loadGameData.icons)[l.name]} @@ -5380,27 +5410,6 @@ function runHistoryViewerMenuEntry() { label: (0, _i18N.t)("history.columns.score"), field: (r)=>r.score }, - { - label: (0, _i18N.t)("history.columns.runTime"), - tooltip: (0, _i18N.t)("history.columns.runTime_tooltip"), - field: (r)=>r.runTime, - render (v) { - return Math.floor(v / 1000) + "s"; - } - }, - { - label: (0, _i18N.t)("history.columns.puck_bounces"), - tooltip: (0, _i18N.t)("history.columns.puck_bounces_tooltip"), - field: (r)=>r.puck_bounces - }, - { - label: (0, _i18N.t)("history.columns.max_combo"), - field: (r)=>r.max_combo - }, - { - label: (0, _i18N.t)("history.columns.upgrades_picked"), - field: (r)=>r.upgrades_picked - }, ...(0, _upgrades.rawUpgrades).map((u)=>({ label: (0, _loadGameData.icons)["icon:" + u.id], tooltip: u.name, diff --git a/export-translation-csv.js b/export-translation-csv.js deleted file mode 100644 index e69de29..0000000 diff --git a/src/asyncAlert.ts b/src/asyncAlert.ts index 27509e1..6eb9e23 100644 --- a/src/asyncAlert.ts +++ b/src/asyncAlert.ts @@ -74,9 +74,9 @@ export async function asyncAlert({ } if (title) { - const h2 = document.createElement("h2"); - h2.innerHTML = title; - popup.appendChild(h2); + const h1 = document.createElement("h1"); + h1.innerHTML = title; + popup.appendChild(h1); } content diff --git a/src/game.ts b/src/game.ts index 74f5783..759c140 100644 --- a/src/game.ts +++ b/src/game.ts @@ -65,7 +65,14 @@ import { } from "./asyncAlert"; import { isOptionOn, options, toggleOption } from "./options"; import { hashCode } from "./getLevelBackground"; -import { hoursSpentPlaying } from "./pure_functions"; +import { + catchRateBest, catchRateGood, + hoursSpentPlaying, + levelTimeBest, + levelTimeGood, missesBest, missesGood, + wallBouncedBest, + wallBouncedGood +} from "./pure_functions"; import { helpMenuEntry } from "./help"; import { creativeMode } from "./creative"; import { setupTooltips } from "./tooltip"; @@ -210,35 +217,35 @@ export async function openUpgradesPicker(gameState: GameState) { wallHitsGain = "", missesGain = ""; - if (gameState.levelWallBounces < 3) { + if (gameState.levelWallBounces < wallBouncedBest) { repeats++; gameState.rerolls++; wallHitsGain = t("level_up.plus_one_upgrade_and_reroll"); - } else if (gameState.levelWallBounces < 10) { + } else if (gameState.levelWallBounces < wallBouncedGood) { repeats++; wallHitsGain = t("level_up.plus_one_upgrade"); } - if (gameState.levelTime < 30 * 1000) { + if (gameState.levelTime < levelTimeBest * 1000) { repeats++; gameState.rerolls++; timeGain = t("level_up.plus_one_upgrade_and_reroll"); - } else if (gameState.levelTime < 60 * 1000) { + } else if (gameState.levelTime < levelTimeGood * 1000) { repeats++; timeGain = t("level_up.plus_one_upgrade"); } - if (catchRate > 0.95) { + if (catchRate > catchRateBest/100) { repeats++; gameState.rerolls++; catchGain = t("level_up.plus_one_upgrade_and_reroll"); - } else if (catchRate > 0.9) { + } else if (catchRate > catchRateGood/100) { repeats++; catchGain = t("level_up.plus_one_upgrade"); } - if (gameState.levelMisses < 3) { + if (gameState.levelMisses < missesBest) { repeats++; gameState.rerolls++; missesGain = t("level_up.plus_one_upgrade_and_reroll"); - } else if (gameState.levelMisses < 6) { + } else if (gameState.levelMisses < missesGood) { repeats++; missesGain = t("level_up.plus_one_upgrade"); } @@ -500,7 +507,23 @@ export async function openMainMenu() { const cb = await asyncAlert<() => void>({ title: t("main_menu.title"), - content: [...actions, t("main_menu.footer_html", { appVersion })], + content: [...actions, + + `

+ Made in France by Renan LE CARO. + Donate + Discord + F-Droid + Google Play + itch.io + Gitlab + Web version + HackerNews + Privacy Policy + Archives + v.${appVersion} +

` + ], allowClose: true, }); if (cb) { diff --git a/src/gameOver.ts b/src/gameOver.ts index 6096244..946c108 100644 --- a/src/gameOver.ts +++ b/src/gameOver.ts @@ -78,7 +78,7 @@ export function gameOver(title: string, intro: string) { { icon: icons["icon:new_run"], value: null, - text: t("gameOver.restart"), + text: t("confirmRestart.yes"), help: "", }, `
`, diff --git a/src/help.ts b/src/help.ts index 7461840..943e457 100644 --- a/src/help.ts +++ b/src/help.ts @@ -2,6 +2,13 @@ import { allLevels, icons, upgrades } from "./loadGameData"; import { t } from "./i18n/i18n"; import { asyncAlert } from "./asyncAlert"; import { miniMarkDown } from "./pure_functions"; +import { + catchRateBest, catchRateGood, + levelTimeBest, + levelTimeGood, missesBest, missesGood, + wallBouncedBest, + wallBouncedGood +} from "./pure_functions" export function helpMenuEntry() { return { @@ -13,8 +20,14 @@ export function helpMenuEntry() { title: t("main_menu.help_title"), allowClose: true, content: [ - miniMarkDown(t("main_menu.help_content")), - t("main_menu.help_upgrades"), + miniMarkDown(t("main_menu.help_content",{ + catchRateBest, catchRateGood, + levelTimeBest, + levelTimeGood, missesBest, missesGood, + wallBouncedBest, + wallBouncedGood + })), + miniMarkDown(t("main_menu.help_upgrades")), ...upgrades.map( (u) => `
@@ -28,7 +41,7 @@ export function helpMenuEntry() { ${miniMarkDown(u.fullHelp)} `, ), - t("main_menu.credit_levels"), + '

'+t("main_menu.credit_levels")+'

', ...allLevels .filter((l) => l.credit?.trim()) .map( diff --git a/src/i18n/b71.babel b/src/i18n/b71.babel index 5e22640..fd8065e 100644 --- a/src/i18n/b71.babel +++ b/src/i18n/b71.babel @@ -152,21 +152,6 @@ - - restart - - - - - en-US - false - - - fr-FR - true - - - stats @@ -425,96 +410,6 @@ columns - - max_combo - - - - - en-US - false - - - fr-FR - true - - - - - max_level - - - - - en-US - false - - - fr-FR - true - - - - - puck_bounces - - - - - en-US - false - - - fr-FR - true - - - - - puck_bounces_tooltip - - - - - en-US - false - - - fr-FR - true - - - - - runTime - - - - - en-US - false - - - fr-FR - true - - - - - runTime_tooltip - - - - - en-US - false - - - fr-FR - true - - - score @@ -545,21 +440,6 @@ - - upgrades_picked - - - - - en-US - false - - - fr-FR - true - - - @@ -857,36 +737,6 @@ - - unlocked_level - - - - - en-US - false - - - fr-FR - true - - - - - unlocked_perk - - - - - en-US - false - - - fr-FR - true - - - upgrade_perk_to_level @@ -1162,21 +1012,6 @@ - - footer_html - - - - - en-US - false - - - fr-FR - true - - - fullscreen diff --git a/src/i18n/en.json b/src/i18n/en.json index 47292f2..c863ea8 100644 --- a/src/i18n/en.json +++ b/src/i18n/en.json @@ -1,13 +1,12 @@ { "confirmRestart.no": "Cancel", - "confirmRestart.text": "You're about to start a new game, is that really what you wanted?", + "confirmRestart.text": "You're about to start a new game. Are you sure you want to continue?", "confirmRestart.title": "Start a new game?", "confirmRestart.yes": "Restart game", - "gameOver.creative": "This is a test game, its score is not recorded.", + "gameOver.creative": "This run will not be recorded. ", "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.title": "Game Over", - "gameOver.restart": "Start a new game", "gameOver.stats.balls_lost": "Balls lost", "gameOver.stats.bricks_broken": "Bricks broken", "gameOver.stats.bricks_per_minute": "Bricks broken per minute", @@ -24,27 +23,20 @@ "gameOver.unlocked_perk_plural": "You just unlocked {{count}} perks", "gameOver.win.summary": "This game is over. You stashed {{score}} coins. ", "gameOver.win.title": "You completed this game", - "history.columns.max_combo": "Max combo", - "history.columns.max_level": "Levels", - "history.columns.puck_bounces": "PB", - "history.columns.puck_bounces_tooltip": "Puck bounces : number of time the ball bounced on the puck", - "history.columns.runTime": "Dur.", - "history.columns.runTime_tooltip": "Duration of the run, in seconds, only counting time where the game is running and the ball is in motion", "history.columns.score": "Score", "history.columns.started": "Date", - "history.columns.upgrades_picked": "Upgrades", - "history.help": "See the list of your {{count}} game", + "history.help": "See your {{count}} best games.", "history.locked": "Play at least ten games to unlock", "history.title": "Runs history", "lab.help": "Try any build you want", - "lab.instructions": "Select upgrades below, then pick the level to play. Creative mode runs are ignored in unlocks, high score, total score and statistics, and only last one level.", + "lab.instructions": "Select upgrades below, then pick a level to play. ", "lab.menu_entry": "Creative mode", "lab.reset": "Reset all to 0", "lab.select_level": "Select a level to play on", "lab.unlocks_at": "Unlocks at total score {{score}}", "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.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 upgrades.", "level_up.compliment_good": "Well done !", "level_up.compliment_perfect": "Impressive, keep it up !", "level_up.pick_upgrade_title": "Pick an upgrade", @@ -52,8 +44,6 @@ "level_up.plus_one_upgrade_and_reroll": "(+1 upgrade and +1 re-roll)", "level_up.reroll": "Re-roll ({{count}})", "level_up.reroll_help": "Offer new choices", - "level_up.unlocked_level": " (Level)", - "level_up.unlocked_perk": " (Perk)", "level_up.upgrade_perk_to_level": " lvl {{level}}", "main_menu.basic": "Basic graphics", "main_menu.basic_help": "Better performance.", @@ -63,7 +53,7 @@ "main_menu.comboIncreaseTexts_help": "When the combo increase", "main_menu.contrast": "High Contrast", "main_menu.contrast_help": "More colorful and dark rendering", - "main_menu.credit_levels": "

Levels origin

", + "main_menu.credit_levels": "Levels", "main_menu.donate": "You've played for {{hours}} hours", "main_menu.donate_help": "How about donating? You can hide this reminder in the settings. ", "main_menu.donation_reminder": "Remind me to donate", @@ -72,13 +62,12 @@ "main_menu.download_save_file_help": "Get a save file", "main_menu.extra_bright": "Extra bright", "main_menu.extra_bright_help": "Increases the size of the halo around coins and bricks.", - "main_menu.footer_html": "

\nMade in France by Renan LE CARO. \nDonate\nDiscord\nF-Droid\nGoogle Play\nitch.io \nGitlab\nWeb version\nHackerNews\nPrivacy Policy\nv.{{appVersion}}\n

\n", "main_menu.fullscreen": "Fullscreen", "main_menu.fullscreen_help": "Game will try to go full screen before starting", - "main_menu.help_content": "# Goal\n\nThe goal is to catch as many coins as possible during 7 levels. \nCoins appear when you break bricks.\nThey fly around, bounce and roll, and you need to catch them with your puck to increase your score. \nYour score is displayed in the top right corner of the screen.\nYou must delete all bricks to progress to the next level. \nIf you drop the ball, it's game over, unless you had the \"extra life\" upgrade.\n\n# Upgrades \n\nAfter clearing a level, you'll be able to pick upgrades among a small selection presented to you. \n\nThe upgrade you pick will apply until the end of the run. You will get more upgrade if you play well : catch all coins, clear the level quickly, never miss the bricks, never bounce on the sides or ceiling.\n\nIf you play very well, you'll also get \"rerolls\" that allow you to shuffle the list of upgrades that are offered to you. Once an upgrade is offered, it's less likely to reappear afterward. \n\nYou also get a free random upgrade at the beginning of each run. There's also an easy mode for kids, where the game will always start with the \"slower ball\" upgrade. The icon of your randomly assigned upgrade will be the used as the first level you play in each run. You can decide which upgrades can be starting upgrades in the settings. \n\nUpgrades apply to the whole run and can synergize, or really work against each other. Most of the fun of the game is discovering which ones work best together.\n\nSome upgrades help with aiming, like \"Telekinesis\". 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.\n\nWhen you first play, only a few upgrades are available, you unlock the rest by simply playing and scoring points. At the end of a run, the things you just unlocked will be shown, and you can check the full content in menu / unlocks.\n\nMany upgrades impact your combo. \n\n# Combo\n\nYour \"combo\" is the number of coins spawned when a brick breaks. It is displayed on your puck, for example x4 means each\nbrick will spawn 4 coins. It will reset if you miss. \n\nMany upgrades will increase the combo when you break a brick, but also add a condition to reset it. So the more upgrades you pick, the faster it will climb, but the more likely it will be that it returns to it's base value. \n\n# Aiming\n\nWhat 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. \n\nThe puck speed and incoming angle have no impact on the ball direction after bouncing.\n\nYou might find that a smaller puck makes it a bit easier to aim near corners, but also makes it much harder to catch coins.\n\n\"Wind\" and \"puck controls ball\" can help you aim even after the ball bounced to the wrong direction.\n\n\"Slower ball\" gives you a bit more time to aim, particularly useful in later levels where the ball goes faster. The ball also\naccelerates as you spend time in each level. \n\n# Unlocks\n\nWhen starting breakout 71 for the first time, you can access a few upgrades and levels. The rest needs to be unlocked. Upgrades are unlocked by simply playing. Every time you catch a coin, your total score is raised by one. Then once you reach the threshold of the upgrade, it's unlocked.\n\nUnlocking levels is a bit different, it requires you to play very well, in many different ways. The first levels just need a high score of X, but later level are unlocked by reaching a high score of X with perk Y and without perk Z. All those requirements are pseudo random and not handpicked, so some are likely much harder than others. They should be the same for everyone though. It might happen that an update of the game perks list changes the required perks. \n\n# System requirements \n\nThe game should perform well even on low-end devices. It's very lean and does not take much storage space (Roughly 0.1MB). The web version is supposed to work on iOS safari, Firefox ESR and chrome, on desktop and mobile.\n\nIf the app stutters, turn on \"fast mode\" in the settings to render a simplified view that should be faster. You can adjust many aspects of the game there, go have a look ! \n\n", + "main_menu.help_content": "## Goal\n\nCatch as many coins as possible during 7 levels. \nCoins appear when you break bricks.\nCatch them with your puck to increase your score.\nYour score is displayed in the top right corner of the screen.\nDon't drop the ball or it's game over.\n\nAfter destroying all bricks, you'll get to pick an upgrade.\n\n## Upgrades \n\nThe upgrades you pick will apply until the end of the run. \nSome can be picked multiple times for stronger effect.\nSome help with aiming, or make the game easier in some other ways. \nSome are only useful when combined.\n\nYou always get one upgrade at the beginning of each game. \nIts icon will serve as the bricks of the first level. \nYou can select starting upgrades in the settings.\n\nMany upgrades impact your combo. \n\n## Combo\n\nYour \"combo\" is the number of coins spawned when a brick breaks. \nIt is displayed on your puck, for example x4 means each brick will spawn 4 coins. \nMost upgrades that increase the combo also add a condition to reset it. \nThe combo will also reset if the ball returns to the puck without hitting any brick.\nA \"miss\" message will be shown when that happens. \n\nTry to aim towards a brick every time. \n\n## Aiming\n\nOnly the ball position on the puck decides how it will bounce.\nIf the ball hits the puck dead center, it will bounce back up vertically. \nIf you hit more on one side, it will have more angle. \nThe puck speed and incoming angle have no impact on the ball direction after bouncing.\n\nMany upgrades that help with aiming can be unlocked.\n\n## Unlocks\n\nWhen playing Breakout 71 for the first time, most upgrades and levels are locked. \nUpgrades are unlocked by simply playing and catching many coins. \nThe first levels are unlocked by reaching a high score.\nLater levels add a condition about which perks you can select. \n\nReach high scores is much easier when you get multiple upgrades after each level. \n\n## Re-rolls and free upgrades\n\nYou'll get an extra upgrade to pick when you play well : \n\n- Clear the level under {{levelTimeGood}} seconds\n- Hit the sides or top less than {{wallBouncedGood}} times\n- Catch {{catchRateGood}}% of coins\n- Miss the bricks less than {{missesGood}} times \n\nYou will also get a re-roll that lets you skip upgrades if you do even better : \n\n- Clear a level under {{levelTimeBest}} seconds\n- Hit the sides or top less than {{wallBouncedBest}} times\n- Catch {{catchRateBest}}% of coins\n- Miss the bricks less than {{missesBest}} times \n\nAn option in the settings lets you display those statistics", "main_menu.help_help": "Learn more about the game", "main_menu.help_title": "Help", - "main_menu.help_upgrades": "

Upgrades

", + "main_menu.help_upgrades": "## Upgrades", "main_menu.high_score": "High score : {{score}}", "main_menu.kid": "Kids mode", "main_menu.kid_help": "Start future games with \"slower ball\".", @@ -92,7 +81,7 @@ "main_menu.max_particles_help": "Limits the number of particles show on screen for visual effect. ", "main_menu.mobile": "Mobile mode", "main_menu.mobile_help": "Leaves space under the puck.", - "main_menu.normal": "New game", + "main_menu.normal": "New Game", "main_menu.normal_help": "Play 7 levels with a random starting perk", "main_menu.pointer_lock": "Mouse pointer lock", "main_menu.pointer_lock_help": "Locks and hides the mouse cursor.", @@ -105,7 +94,7 @@ "main_menu.reset_cancel": "No", "main_menu.reset_confirm": "Yes", "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 lose all progress you made in the game, are you sure?", "main_menu.save_file_error": "Error loading save file", "main_menu.save_file_loaded": "Save file loaded", "main_menu.save_file_loaded_help": "The app will now reload to apply your save", @@ -119,7 +108,7 @@ "main_menu.sounds": "Game sounds", "main_menu.sounds_help": "Can slow down some phones.", "main_menu.starting_perks": "Starting perks", - "main_menu.starting_perks_checked": "When you start a new game, one of those perks will be give to you. You can click the list to exclude some perks from the pool.", + "main_menu.starting_perks_checked": "When you start a new game, one of those perks will be given to you. Click a perk to exclude it. ", "main_menu.starting_perks_help": "Choose possible starting upgrades", "main_menu.starting_perks_unchecked": "The perks below are not offered as starting perks, but you can click to add them to the pool. ", "main_menu.title": "Breakout 71", @@ -143,11 +132,11 @@ "score_panel.title": "{{score}} points at level {{level}}/{{max}} ", "score_panel.upcoming_levels": "Upcoming levels :", "score_panel.upgrades_picked": "Upgrades picked in this game run : ", - "unlocks.greyed_out_help": "The grayed out upgrades can be unlocked by increasing your total score. The total score increases every time you score in game, outside of test runs.", - "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 test game with it. Hint: you can set the starting upgrades in the settings.", + "unlocks.greyed_out_help": "The grayed out upgrades 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 test game with it.", "unlocks.just_unlocked": "Level unlocked", "unlocks.just_unlocked_plural": "You just unlocked {{count}} levels", - "unlocks.level": "

You unlocked {{unlocked}} levels out of {{out_of}}

\n

Here are all the game levels, click one to start a test game with that starting level.

", + "unlocks.level": "

You unlocked {{unlocked}} levels out of {{out_of}}

\n

Here are all the game levels, click one to try it out.

", "unlocks.level_description": "A {{size}}x{{size}} level with {{bricks}} bricks, {{colors}} colors and {{bombs}} bombs.", "unlocks.minScore": "Reach ${{minScore}} in a run to unlock.", "unlocks.minScoreWithPerks": "Reach ${{minScore}} in a run with {{required}} but without {{forbidden}} to unlock.", @@ -166,24 +155,24 @@ "upgrades.ball_attract_ball.name": "Gravity", "upgrades.ball_attracts_coins.fullHelp": "This could be used to \"paint around\" the balls with coins if you combined it with \"stain\" and \"ghost coins\".", "upgrades.ball_attracts_coins.help": "Balls attract coins", - "upgrades.ball_attracts_coins.name": "Fortunate ball", + "upgrades.ball_attracts_coins.name": "Coins cloud", "upgrades.ball_repulse_ball.fullHelp": "Balls that are less than a quarter screen width away will start repulsing each other. The repulsion force is stronger if they are close to each other. Particles will jet out to symbolize this force being applied. This perk is only offered if you have more than one ball already.", "upgrades.ball_repulse_ball.help": "Balls repulse balls", "upgrades.ball_repulse_ball.help_plural": "Stronger repulsion force", "upgrades.ball_repulse_ball.name": "Personal space", "upgrades.base_combo.fullHelp": "Your combo normally starts at 1 at the beginning of the level, and resets to 1 when you bounce around without hitting anything. With this perk, the combo starts 3 points higher, so you'll always get at least 4 coins per brick. Whenever your combo reset, it will go back to 4 and not 1. Your ball will glitter a bit to indicate that its combo is higher than one.", - "upgrades.base_combo.help": "Combo starts at {{coins}}.", - "upgrades.base_combo.name": "+3 base combo", + "upgrades.base_combo.help": "Combo starts at {{coins}} instead of 1.", + "upgrades.base_combo.name": "Strong foundations", "upgrades.bigger_explosions.fullHelp": "The default explosion clears a 3x3 square, with this it becomes a 5x5 square, and the blow on the coins is also significantly stronger. The screen will flash after each explosion (except in basic mode)", "upgrades.bigger_explosions.help": "Bigger explosions", "upgrades.bigger_explosions.name": "Kaboom", - "upgrades.bigger_puck.fullHelp": "A bigger puck makes it easier to never miss the ball and to catch more coins, and also to precisely angle the bounces (the ball's angle only depends on where it hits the puck). \n\nHowever, a large puck is harder to use around the sides of the level, and will make it sometimes unavoidable to miss. You could word around that with other perks.", + "upgrades.bigger_puck.fullHelp": "A bigger puck makes it easier to never miss the ball and to catch more coins, and also to precisely angle the bounces (the ball's angle only depends on where it hits the puck). \n\nHowever, a large puck is harder to use around the sides of the level, and will make it sometimes unavoidable to miss.", "upgrades.bigger_puck.help": "Easily catch more coins.", "upgrades.bigger_puck.name": "Bigger puck", "upgrades.clairvoyant.fullHelp": "Helps you pick the right upgrades and understand what's going on with sturdy bricks. Level 2 and 3 bring additional knowledge of dubious utility (reachable in loop mode)", "upgrades.clairvoyant.help": "See upcoming levels, bricks HP and ball direction", "upgrades.clairvoyant.name": "Clairvoyant", - "upgrades.coin_magnet.fullHelp": "Directs the coins to the puck. The effect is stronger if the coin is close to it already. Catching all coins bring special bonuses in the game. \n\nAnother way to catch more coins is to hit bricks from the bottom. The ball's speed and direction impacts the spawned coin's velocity. ", + "upgrades.coin_magnet.fullHelp": "Directs the coins to the puck. The effect is stronger if the coin is close to it already. Catching all coins bring special bonuses in the game. \n\nAnother way to catch more coins is to hit bricks from the bottom. The ball's speed and direction impact the spawned coin's velocity. ", "upgrades.coin_magnet.help": "Puck attracts coins", "upgrades.coin_magnet.help_plural": "Stronger effect on the coins", "upgrades.coin_magnet.name": "Coins magnet", @@ -191,7 +180,7 @@ "upgrades.compound_interest.help": "+{{lvl}} combo per brick broken, resets on coin lost", "upgrades.compound_interest.name": "Compound interest", "upgrades.concave_puck.fullHelp": "Balls starts the level going straight up, and bounces with less angle.", - "upgrades.concave_puck.help": " Helps with aiming straight up", + "upgrades.concave_puck.help": "Improves vertical aiming precision", "upgrades.concave_puck.name": "Concave puck", "upgrades.corner_shot.fullHelp": "Helps with aiming in the corners. Further levels let you go further out. ", "upgrades.corner_shot.help": "Lets your puck overlap with the borders of the screen", @@ -201,16 +190,16 @@ "upgrades.etherealcoins.name": "Coins, in Space", "upgrades.extra_levels.fullHelp": "The default game can last a max of 7 levels, after which the game is over. \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.name": "+1 level", - "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_levels.name": "5 min more", + "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 lose 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_plural": "The ball will bounce on the bottom {{lvl}} times before being lost.", - "upgrades.extra_life.name": "+1 life", + "upgrades.extra_life.help_plural": "Your (last) ball will bounce on the bottom instead of being lost ({{lvl}} times).", + "upgrades.extra_life.name": "Extra Life", "upgrades.forgiving.fullHelp": "The first miss per level is free, then 10% of the combo, then 20% .. ", "upgrades.forgiving.help": "Missing breaks reduces combo progressively instead of all at once.", "upgrades.forgiving.name": "Forgiving", - "upgrades.fountain_toss.fullHelp": "", - "upgrades.fountain_toss.help": "When you miss a coin and your combo was under {{max}}, your combo has a probability of {{lvl}}/combo to grow by one.", + "upgrades.fountain_toss.fullHelp": "When you miss a coin and your combo was under {{max}}, your combo has a probability of {{lvl}}/combo to grow by one.", + "upgrades.fountain_toss.help": "Gain some combo when you miss some coins. ", "upgrades.fountain_toss.name": "Fountain toss", "upgrades.ghost_coins.fullHelp": "It's not a bug, it's a feature ! Coins fly through bricks slowly. Higher levels let them move faster. ", "upgrades.ghost_coins.help": "Coins slowly pass through bricks", @@ -218,40 +207,40 @@ "upgrades.helium.fullHelp": "This affects the coins and will let the float up until you are ready to pick them up.", "upgrades.helium.help": "Gravity reversed left and right of puck", "upgrades.helium.name": "Helium", - "upgrades.hot_start.fullHelp": "At the start of every level, your combo will start at +30 points, but then every second it will be decreased by one.\n\nThis means the first 30 seconds in a level will spawn many more coins than the following ones, and you should make sure that you clear the level quickly. \n\nThe effect stacks with other combo related perks, so you might be able to raise the combo after the 30s timeout, but it will keep ticking down. \n\nEvery time you take the perk again, the effect will be more dramatic.", + "upgrades.hot_start.fullHelp": "At the start of every level, your combo will start at +30 points, but then every second it will be decreased by one. The effect stacks with other perks. ", "upgrades.hot_start.help": "Start at combo {{start}}, -{{loss}} combo per second", "upgrades.hot_start.name": "Hot start", "upgrades.implosions.fullHelp": "The explosion force is applied the other way. Further levels act as \"bigger explosion\"", "upgrades.implosions.help": "Explosions suck coins in instead of blowing them out", "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.help": "-{{lvl}} choice until game end.", - "upgrades.instant_upgrade.name": "+2 upgrades now", + "upgrades.instant_upgrade.help": "+1 upgrade now, -1 choice until game end.", + "upgrades.instant_upgrade.name": "Instant upgrade", "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", - "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. Combo resets if ball hits the left side of the screen", "upgrades.left_is_lava.name": "Avoid left side", "upgrades.limitless.fullHelp": "Choosing this perk also raises his own limit by one, letting you pick it again.", "upgrades.limitless.help": "Raise all upgrade's maximum level by {{lvl}} ", "upgrades.limitless.name": "Limitless", "upgrades.metamorphosis.fullHelp": "With this perk, coins will be of the color of the brick they come from, and will color the first brick they touch in the same color. \n\nCoins spawn with the speed of the ball that broke them, which means you can aim a bit in the direction of the bricks you want to \"paint\".", - "upgrades.metamorphosis.help": "Each coins can stain {{lvl}} brick(s) with its color", + "upgrades.metamorphosis.help": "Each coin can stain {{lvl}} brick(s) with its color", "upgrades.metamorphosis.name": "Metamorphosis", "upgrades.minefield.fullHelp": "Adds +lvl to the combo when a brick is place, -lvl when it is destroyed, and raises the base combo by the number of bricks times lvl", "upgrades.minefield.help": "+{{lvl}} combo per bomb brick on screen", "upgrades.minefield.name": "Minefield", - "upgrades.multiball.fullHelp": "As soon as you drop the ball in Breakout 71, you loose. \n\nWith this perk, you get two balls, and so you can afford to lose one. \n\nThe lost balls come back on the next level. \n\nHaving more than one balls makes some further perks available, and of course clears the level faster.", + "upgrades.multiball.fullHelp": "As soon as you drop the ball in Breakout 71, you lose. \n\nWith this perk, you get two balls, and so you can afford to lose one. \n\nThe lost balls come back on the next level. \n\nHaving more than one balls makes some further perks available, and of course clears the level faster.", "upgrades.multiball.help": "Start every levels with {{count}} balls.", - "upgrades.multiball.name": "+1 ball", + "upgrades.multiball.name": "Multi ball", "upgrades.nbricks.fullHelp": "You don't necessarily need to destroy those bricks, but you need to hit them. Bricks destroyed by explosions don't count", "upgrades.nbricks.help": "Hit exactly {{lvl}} bricks per puck bounce for +{{lvl}} combo, otherwise it resets", "upgrades.nbricks.name": "Strict sample size", "upgrades.one_more_choice.fullHelp": "Every upgrade menu will have one more option. Doesn't increase the number of upgrades you can pick.", "upgrades.one_more_choice.help": "Further level ups will offer {{lvl}} more option(s) in the list", - "upgrades.one_more_choice.name": "+1 choice", + "upgrades.one_more_choice.name": "Extra choice", "upgrades.passive_income.fullHelp": "Some perks can help the balls do what you want without needing to do anything.", "upgrades.passive_income.help": "+{{lvl}} combo / brick, unless the puck moved in the last {{time}}s, then it resets instead", "upgrades.passive_income.name": "Passive income", - "upgrades.picky_eater.fullHelp": "Whenever you break a brick the same color as your ball, your combo increases by one. \n\nIf it's a different color, the ball takes that new color, but the combo resets, unless there were no bricks left of the ball's color. \n\nOnce you get a combo higher than your minimum, the bricks of the wrong color will get a red halo. \n\nIf you have more than one ball, they all switch color whenever one of them hits a brick.", + "upgrades.picky_eater.fullHelp": "Whenever you break a brick the same color as your ball, your combo increases by one. \nIf it's a different color, the ball takes that new color, but the combo resets, unless there were no bricks left of the ball's color. \nOnce you get a combo higher than your minimum, the bricks of the wrong color will get a red border. \nIf you have more than one ball, they all switch color whenever one of them hits a brick.", "upgrades.picky_eater.help": "+{{lvl}} combo per brick broken, resets on ball color change", "upgrades.picky_eater.name": "Picky eater", "upgrades.pierce.fullHelp": "The ball normally bounces as soon as it touches something. With this perk, it will continue its trajectory for up to 3 bricks broken. \n\nAfter that, it will bounce on the 4th brick, and you'll need to touch the puck to reset the counter.", @@ -271,7 +260,7 @@ "upgrades.respawn.help": "{{percent}}% of bricks re-spawn after {{delay}}s.", "upgrades.respawn.name": "Re-spawn", "upgrades.right_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 right side. \n\nAs soon as your combo rises, the right side becomes red to remind you that you should avoid hitting them.\n", - "upgrades.right_is_lava.help": "+{{lvl}} combo per brick broken, resets on right side hit", + "upgrades.right_is_lava.help": "+{{lvl}} combo per brick. Combo resets if ball hits the left side of the screen", "upgrades.right_is_lava.name": "Avoid right side", "upgrades.sacrifice.fullHelp": "This might get the combo pretty high.", "upgrades.sacrifice.help_l1": "Loosing a life clears all bricks", @@ -281,7 +270,7 @@ "upgrades.sapper.help": "The first brick broken becomes a bomb.", "upgrades.sapper.help_plural": "The first {{lvl}} bricks broken become bombs.", "upgrades.sapper.name": "Sapper", - "upgrades.shocks.fullHelp": "Whenever two balls collide, they exchange their speed, spawn an explosion, and gain added speed to separated them. ", + "upgrades.shocks.fullHelp": "Whenever two balls collide, they exchange their speed, spawn an explosion, and gain added speed to separate them. ", "upgrades.shocks.help": "Explosive balls collisions", "upgrades.shocks.name": "Shocks", "upgrades.shunt.fullHelp": "If you also have hot start, the hot start is just added to the current combo", @@ -308,8 +297,8 @@ "upgrades.soft_reset.help": "Combo resets keeps {{percent}}%", "upgrades.soft_reset.name": "Soft reset", "upgrades.streak_shots.fullHelp": "Every time you break a brick, your combo (number of coins per bricks) increases by one. \n\nHowever, as soon as the ball touches your puck, the combo is reset to its default value, and you'll just get one coin per brick.\n\nOnce your combo rises above the base value, your puck will become red to remind you that it will destroy your combo to touch it with the ball.", - "upgrades.streak_shots.help": "More coins if you break many bricks at once.", - "upgrades.streak_shots.name": "Single puck hit streak", + "upgrades.streak_shots.help": "More coins if you break many bricks before bouncing on the puck.", + "upgrades.streak_shots.name": "Hit streak", "upgrades.sturdy_bricks.fullHelp": "Each level of this perk adds one HP to all bricks. You can see the HP number with the \"clairvoyant\" perk. You can increase ball damage by getting the \"piercing\" perk. Each level of the perk adds +50% coins spawn. ", "upgrades.sturdy_bricks.help": "+{{lvl}} bricks HP, +{{percent}}% coins spawned when broken", "upgrades.sturdy_bricks.name": "Sturdy bricks", @@ -330,7 +319,7 @@ "upgrades.viscosity.fullHelp": "Coins normally accelerate with gravity and explosions to pretty high speeds. \n\nThis perk constantly makes them slow down, as if they were in some sort of viscous liquid. \n\nThis makes catching them easier, and combines nicely with perks that influence the coin's movement.", "upgrades.viscosity.help": "Slower coin fall", "upgrades.viscosity.name": "Viscosity", - "upgrades.wind.fullHelp": "The wind depends on where your puck is, if it's in the center of the screen nothing happens, if it's on the left it will blow left-wise, if it's on the right of the screen then it will blow right-wise. \n\nThe wind affects both the balls and coins.", + "upgrades.wind.fullHelp": "Wind depends on puck position: left blows left, right blows right. Affects both balls and coins.", "upgrades.wind.help": "Puck position creates wind", "upgrades.wind.help_plural": "Stronger wind force", "upgrades.wind.name": "Wind", diff --git a/src/i18n/fr.json b/src/i18n/fr.json index 68fd900..b008016 100644 --- a/src/i18n/fr.json +++ b/src/i18n/fr.json @@ -1,13 +1,12 @@ { - "confirmRestart.no": "Annuler, continuer ma partie en cours", + "confirmRestart.no": "Annuler", "confirmRestart.text": "Vous êtes sur le point de commencer une nouvelle partie, est-ce vraiment ce que vous vouliez ?", "confirmRestart.title": "Démarrer une nouvelle partie ?", "confirmRestart.yes": "Commencer une nouvelle partie", - "gameOver.creative": "Cette partie de test et son score ne sont pas enregistrés.", + "gameOver.creative": "Cette partie de test ne sera pas enregistrée.", "gameOver.cumulative_total": "Votre score total cumulé est passé de {{startTs}} à {{endTs}}.", "gameOver.lost.summary": "Vous avez fait tomber la balle après avoir attrapé {{score}} pièces.", "gameOver.lost.title": "Balle perdue", - "gameOver.restart": "Nouvelle partie", "gameOver.stats.balls_lost": "Balles perdues", "gameOver.stats.bricks_broken": "Briques cassées", "gameOver.stats.bricks_per_minute": "Briques cassées par minute", @@ -19,25 +18,18 @@ "gameOver.stats.intro": "Vous trouverez ci-dessous les statistiques de cette partie comparées à vos {{count}} meilleures parties.", "gameOver.stats.level_reached": "Niveau atteint", "gameOver.stats.total_score": "Score total", - "gameOver.stats.upgrades_applied": "Mises à jour appliquées", + "gameOver.stats.upgrades_applied": "Améliorations appliquées", "gameOver.unlocked_perk": "Amélioration débloquée", "gameOver.unlocked_perk_plural": "Vous avez débloqué {{count}} améliorations", "gameOver.win.summary": "Cette partie est terminée. Vous avez accumulé {{score}} pièces. ", "gameOver.win.title": "Vous avez terminé cette partie", - "history.columns.max_combo": "Combo maximum", - "history.columns.max_level": "Les niveaux", - "history.columns.puck_bounces": "PB", - "history.columns.puck_bounces_tooltip": "Rebonds du palet : nombre de fois où la balle a rebondi sur le palet", - "history.columns.runTime": "Dur.", - "history.columns.runTime_tooltip": "Durée de la partie, en secondes, en comptant uniquement le temps où le jeu se déroule et où la balle est en mouvement", "history.columns.score": "Score", "history.columns.started": "Date", - "history.columns.upgrades_picked": "Mises à niveau", - "history.help": "Voir la liste de votre jeu {{count}} ", + "history.help": "Liste vos {{count}} meilleurs parties.", "history.locked": "Jouez d'abord au moins dix parties", "history.title": "Historique", "lab.help": "Essayez n'importe quel build", - "lab.instructions": "Sélectionnez les améliorations ci-dessous, puis choisissez le niveau à jouer. Les parties en mode créatif sont ignorées dans les déblocages, le meilleur score, le score total et les statistiques, et ne durent qu'un seul niveau.", + "lab.instructions": "Sélectionnez les améliorations ci-dessous, puis choisissez le niveau à jouer. .", "lab.menu_entry": "Mode créatif", "lab.reset": "Retirer toutes les améliorations", "lab.select_level": "Sélectionnez un niveau sur lequel jouer", @@ -52,8 +44,6 @@ "level_up.plus_one_upgrade_and_reroll": "(+1 amélioration et +1 re-roll)", "level_up.reroll": "Re-roll ({{count}})", "level_up.reroll_help": "Nouveaux choix", - "level_up.unlocked_level": " (Niveau)", - "level_up.unlocked_perk": " (Amélioration)", "level_up.upgrade_perk_to_level": " niveau {{level}}", "main_menu.basic": "Graphismes simplifiés", "main_menu.basic_help": "Meilleures performances.", @@ -63,7 +53,7 @@ "main_menu.comboIncreaseTexts_help": "Quand le combo augmente", "main_menu.contrast": "Contraste élevé", "main_menu.contrast_help": "Affichage plus contrasté et coloré", - "main_menu.credit_levels": "

Source des niveaux

", + "main_menu.credit_levels": "Niveaux", "main_menu.donate": "Vous avez joué {{hours}} heures", "main_menu.donate_help": "Pourriez-vous donner quelques euros ? Vous pouvez masquer ce rappel dans les paramètres.", "main_menu.donation_reminder": "Me rappeler de donner", @@ -72,13 +62,12 @@ "main_menu.download_save_file_help": "Obtenir un fichier de sauvegarde", "main_menu.extra_bright": "Plus de lumière", "main_menu.extra_bright_help": "Plus grand halo lumineux autours des briques et pièces.", - "main_menu.footer_html": "

\nProgrammé en France par Renan LE CARO.\nDonner\nDiscord\nF-Droid\nGoogle Play\nitch.io\nGitlab\nVersion web\nHackerNews\nPolitique de confidentialité \nv.{{appVersion}}\n

", "main_menu.fullscreen": "Plein écran", "main_menu.fullscreen_help": "Le jeu essaiera de passer en plein écran quand vous le démarrez", - "main_menu.help_content": "# Objectif\n\nLe but est d'attraper un maximum de pièces au cours des 7 niveaux.\nLes pièces apparaissent lorsque vous cassez des briques.\nElles volent, rebondissent et roulent, et vous devez les attraper avec votre palet pour augmenter votre score.\nVotre score est affiché en haut à droite de l'écran.\nVous devez supprimer toutes les briques pour passer au niveau suivant.\nSi vous laissez tomber la balle, la partie est terminée, sauf si vous aviez l'amélioration « Vie supplémentaire ».\n\n# Améliorations\n\nAprès avoir terminé un niveau, vous pourrez choisir des améliorations parmi une petite sélection qui vous sera présentée.\nL'amélioration choisie sera valable jusqu'à la fin de la partie. Vous aurez plus de choix d'améliorations, et même la possibilité d'en choisir plusieurs à la fin du niveau si vous jouez bien : attrapez toutes les pièces, terminez le niveau rapidement et ne ratez jamais votre cible.\nVous obtenez également une amélioration aléatoire gratuite au début de chaque partie. Vous pouvez voir vos améliorations (et quelques détails supplémentaires) en cliquant sur votre score en haut à droite de l'écran.\n\nLes améliorations s'appliquent à l'ensemble de la partie et peuvent être synergiques. Par exemple, si vous combinez « sapeur » et « perforant », la première brique que vous touchez après un rebond de palet se transformera immédiatement en brique explosive et explosera avec la même balle, vous donnant ainsi une balle explosive.\n\nCertaines améliorations facilitent la visée, comme les « balles de contrôle de palet ». Certaines améliorations peuvent être sélectionnées plusieurs fois pour augmenter leur effet. Par exemple, « +1 balle niveau 2 » ajoute une troisième balle.\n\nLors de votre première partie, seules quelques améliorations sont disponibles ; vous débloquez les autres en jouant et en marquant des points. À la fin d'une partie, les éléments que vous venez de débloquer seront affichés et vous pourrez consulter leur contenu complet dans le menu / Déblocages.\n\nDe nombreuses améliorations influencent votre combo.\n\n# Combo\n\nVotre « combo » correspond au nombre de pièces générées lorsqu'une brique se brise. L'affichage est sur votre palet. Par exemple, x4 signifie que chaque brique rapporte 4 pièces. Le combo se réinitialise si vous ratez toutes les briques et que la balle revient vers le palet sans en avoir touché aucune.\n\n# Déblocages\n\nLorsque vous démarrez Breakout 71 pour la première fois, vous avez accès à quelques améliorations et niveaux. Les autres doivent être débloqués. Les améliorations se débloquent simplement en jouant. Chaque fois que vous attrapez une pièce, votre score total cumulé augmente d'un point. Une fois le seuil de l'amélioration atteint, elle est débloquée.\n\nLe déblocage des niveaux est un peu différent : il requiert une excellente maîtrise du jeu, de différentes manières. Les premiers niveaux nécessitent d'atteindre le score X pendant une partie, tandis que les niveaux suivants sont débloqués en atteignant un score élevé de X avec l'amélioration Y et sans l'amélioration Z. Toutes ces conditions sont pseudo-aléatoires, certaines sont donc probablement plus difficiles que d'autres. Elles devraient toutefois être les mêmes pour tous les joueurs. Il est possible qu'une mise à jour modifie les améliorations requises.\n\n# Configuration requise\n\nBreakout 71 peut fonctionner hors ligne (ajoutez-le à l'écran d'accueil) et fonctionne bien même sur les appareils bas de gamme.\nL'application est très simple et occupe peu d'espace de stockage (environ 0,1 Mo).\nSi l'application est instable, activez le « mode rapide » dans les paramètres pour afficher une vue simplifiée et plus rapide. Il existe également un mode facile pour les enfants (balle plus lente).\n\n# Boucle\n\nUne fois toutes les améliorations débloquées, vous aurez la possibilité de jouer une partie plus longue.\nDans ce mode, vous pouvez boucler le jeu jusqu'à 7 fois après votre première tentative.\n\nChaque boucle est plus courte et vous ne pouvez pas utiliser les niveaux d'avantages utilisés dans les niveaux précédents, à l'exception d'un avantage que vous pouvez améliorer continuellement. Si vous épuisez complètement un avantage, il ne sera plus proposé dans les boucles suivantes. L'avantage que vous améliorez gagne instantanément +1 niveau et +2 niveaux max.\n\nChaque boucle est plus courte d'un niveau. La balle démarre légèrement plus vite. La partie se termine lorsque vous perdez le ballon ou terminez la 7e boucle.\n\n# Visée\n\nSeule la position du palet frappé détermine la trajectoire du ballon. Si le ballon touche le palet en plein centre, il rebondira verticalement, tandis que si vous frappez davantage d'un côté, l'angle sera plus grand.\nLa vitesse du palet et l'angle d'arrivée n'ont aucun impact sur la direction du ballon après le rebond.\n\nUn palet plus petit facilitera peut-être la visée près des coins, mais rendra aussi beaucoup plus difficile la capture de pièces.\nLes options « Vent » et « Télékinesis » peuvent vous aider à viser même après un rebond dans la mauvaise direction.\n« Balle plus lente » vous donne un peu plus de temps pour viser, ce qui est particulièrement utile dans les niveaux avancés où la balle va plus vite. La balle accélère également à mesure que vous progressez dans chaque niveau.", + "main_menu.help_content": "## Objectif\n\nAttrapez un maximum de pièces au cours des 7 niveaux.\nLes pièces apparaissent lorsque vous cassez des briques.\nAttrapez-les avec votre palet pour augmenter votre score.\nVotre score est affiché en haut à droite de l'écran.\nNe laissez pas tomber la balle, sinon la partie est terminée.\n\nAprès avoir détruit toutes les briques, vous pourrez choisir une amélioration.\n\n## Améliorations\n\nLes améliorations que vous choisissez seront valables jusqu'à la fin de la partie.\nCertaines peuvent être sélectionnées plusieurs fois pour un effet plus puissant.\nD'autres aident à viser ou simplifient le jeu.\nCertaines ne sont utiles que lorsqu'elles sont combinées.\n\nVous obtenez toujours une amélioration au début de chaque partie.\nSon icône forme les briques du premier niveau.\nVous pouvez sélectionner les améliorations de départ dans les paramètres.\n\nDe nombreuses améliorations influencent votre combo.\n\n## Combo\n\nVotre « combo » correspond au nombre de pièces générées lorsqu'une brique se casse.\nIl est affiché sur votre palet. Par exemple, x4 signifie que chaque brique rapporte 4 pièces.\n\nLa plupart des améliorations qui augmentent le combo ajoutent également une condition pour le réinitialiser.\nLe combo se réinitialise également si la balle revient sur le palet sans toucher de brique.\nUn message « Manqué » s'affiche alors.\n\nEssayez de viser vers un brique à chaque rebond.\n\n## Visée\n\nSeule la position de la balle sur le palet détermine son angle de rebond.\nSi la balle touche le palet en plein centre, elle rebondira verticalement.\nSi vous frappez sur le côté du palet, l'angle sera plus grand.\nLa vitesse et l'angle d'impact du palet n'ont aucun impact sur la direction de la balle après le rebond.\n\nDe nombreuses améliorations facilitant la visée peuvent être débloquées.\n\n## Déblocages\n\nLorsque vous jouez à Breakout 71 pour la première fois, la plupart des améliorations et des niveaux sont verrouillés.\nLes améliorations se débloquent simplement en jouant et en attrapant beaucoup de pièces.\nLes premiers niveaux se débloquent en atteignant un score élevé.\nLes niveaux suivants ajoutent une condition concernant les avantages sélectionnés.\n\nAtteindre des scores élevés est beaucoup plus facile lorsque vous obtenez plusieurs améliorations après chaque niveau.\n\n## Relances et améliorations gratuites\n\nVous obtiendrez une amélioration supplémentaire si vous jouez bien :\n\n- Terminez le niveau en moins de {{levelTimeGood}} secondes\n- Touchez les bords ou le haut moins de {{wallBouncedGood}} fois\n- Attrapez {{catchRateGood}} % de pièces\n- Manquez les briques moins de {{missesGood}} fois\n\nVous bénéficierez également d'une relance qui vous permettra d'ignorer les améliorations si vous faites encore mieux :\n\n- Terminez un niveau en moins de {{levelTimeBest}} secondes\n- Touchez les bords ou le haut moins de {{wallBouncedBest}} fois\n- Attrapez {{catchRateBest}} % de pièces\n- Manquez les briques moins de {{missesBest}} fois\n\nUne option dans les paramètres vous permet d'afficher ces statistiques ", "main_menu.help_help": "Découvrez le jeu en détail", "main_menu.help_title": "Aide", - "main_menu.help_upgrades": "

Améliorations

", + "main_menu.help_upgrades": "## Améliorations", "main_menu.high_score": "High score : {{score}}", "main_menu.kid": "Mode enfants", "main_menu.kid_help": "Balle plus lente", @@ -92,7 +81,7 @@ "main_menu.max_particles_help": "Limite le nombre de particules affichées à l'écran pour les effets visuels", "main_menu.mobile": "Mode mobile", "main_menu.mobile_help": "Laisse un espace sous le palet.", - "main_menu.normal": "Nouvelle partie", + "main_menu.normal": "Nouvelle Partie", "main_menu.normal_help": "Avec un avantage de départ aléatoire", "main_menu.pointer_lock": "Verrouillage du pointeur", "main_menu.pointer_lock_help": "Cache aussi le curseur de la souris.", @@ -119,7 +108,7 @@ "main_menu.sounds": "Sons du jeu", "main_menu.sounds_help": "Ralentis certains téléphones.", "main_menu.starting_perks": "Avantages de départ", - "main_menu.starting_perks_checked": "Lorsque vous démarrez une nouvelle partie, l'un de ces avantages vous sera attribué. Vous pouvez cliquer sur la liste pour exclure certains avantages de la sélection.", + "main_menu.starting_perks_checked": "Lorsque vous démarrez une nouvelle partie, l'un de ces avantages vous sera attribué. Cliquez sur un avantage pour l'exclure.", "main_menu.starting_perks_help": "Choisissez les avantages de départ", "main_menu.starting_perks_unchecked": "Les avantages ci-dessous ne sont pas proposés comme avantages de départ, mais vous pouvez cliquer pour les ajouter aux avantages de départ possibles.", "main_menu.title": "Breakout 71", @@ -143,11 +132,11 @@ "score_panel.title": "{{score}} points au niveau {{level}}/{{max}} ", "score_panel.upcoming_levels": "Niveaux de la parties : ", "score_panel.upgrades_picked": "Améliorations choisies pendant la partie :", - "unlocks.greyed_out_help": "Les éléments grisées peuvent être débloquées en augmentant votre score total. Le score total augmente à chaque fois que vous marquez des points dans le jeu, en dehors des parties de test.", - "unlocks.intro": "Votre score total est de {{ts}}. Vous trouverez ci-dessous toutes les améliorations et tous les niveaux que le jeu peut offrir. Cliquez sur l'un d'entre eux pour les essayer dans une partie de test. Astuce : vous pouvez choisir les améliorations de départ dans les réglages.", + "unlocks.greyed_out_help": "Les éléments grisées peuvent être débloquées en augmentant votre score total. Le score total augmente à chaque fois que vous marquez des points dans le jeu.", + "unlocks.intro": "Votre score total est de {{ts}}. Vous trouverez ci-dessous toutes les améliorations et tous les niveaux que le jeu peut offrir. Cliquez sur l'un d'entre eux pour les essayer dans une partie de test. ", "unlocks.just_unlocked": "Niveau débloqué", "unlocks.just_unlocked_plural": "Vous venez de débloquer {{count}} niveaux", - "unlocks.level": "

Vous avez débloqué {{unlocked}} niveaux sur {{out_of}}

\n

Voici tous les niveaux du jeu, cliquez sur l'un d'eux pour démarrer une partie de test avec ce niveau de départ.

", + "unlocks.level": "

Vous avez débloqué {{unlocked}} niveaux sur {{out_of}}

\n

Voici tous les niveaux du jeu, cliquez sur l'un d'eux pour l'essayer.

", "unlocks.level_description": "Un niveau {{size}}x{{size}} avec {{bricks}} briques, {{colors}} couleurs et {{bombs}} bombes.", "unlocks.minScore": "Atteignez un score de ${{minScore}} dans une partie pour débloquer.", "unlocks.minScoreWithPerks": "Atteignez ${{minScore}} dans une partie avec {{required}} mais sans {{forbidden}}.", @@ -172,12 +161,12 @@ "upgrades.ball_repulse_ball.help_plural": "Force de répulsion plus forte", "upgrades.ball_repulse_ball.name": "Vol en formation", "upgrades.base_combo.fullHelp": "Votre combo commence normalement à 1 au début du niveau et revient à 1 lorsque vous rebondissez sans rien toucher. Avec cette caractéristique, le combo commence 3 points plus haut, ce qui fait que vous obtiendrez toujours au moins 4 pièces par brique. Lorsque votre combo est réinitialisé, il revient à 4 et non à 1. Votre balle scintillera un peu pour indiquer que son combo est supérieur à 1.", - "upgrades.base_combo.help": "Le combo commence à {{coins}}.", - "upgrades.base_combo.name": "Combo +3", + "upgrades.base_combo.help": "Le combo commence à {{coins}} au lieu de 1.", + "upgrades.base_combo.name": "Meilleur base", "upgrades.bigger_explosions.fullHelp": "L'explosion par défaut efface un carré de 3x3 briques, avec cette amélioration un carré de 5x5. Le vent soufflant les pièces est également beaucoup plus fort. L'écran clignotera un peu après chaque explosion (sauf en mode graphismes basiques).", "upgrades.bigger_explosions.help": "Explosions plus violentes", "upgrades.bigger_explosions.name": "Kaboom", - "upgrades.bigger_puck.fullHelp": "Un grand palet permet de ne jamais rater la balle et d'attraper plus de pièces, ainsi que d'orienter précisément les rebonds (l'angle de la balle ne dépend que de l'endroit où elle touche le palet). \n\nCependant, un grand palet est plus difficile à utiliser sur les côtés du niveau, sauf si vous le combinez avec une autre amélioration.", + "upgrades.bigger_puck.fullHelp": "Un grand palet permet de ne jamais rater la balle et d'attraper plus de pièces, ainsi que d'orienter précisément les rebonds (l'angle de la balle ne dépend que de l'endroit où elle touche le palet). \n\nCependant, un grand palet est plus difficile à utiliser sur les côtés du niveau.", "upgrades.bigger_puck.help": "Attrapez facilement plus de pièces.", "upgrades.bigger_puck.name": "Palet plus grand", "upgrades.clairvoyant.fullHelp": "Vous aide à choisir les bonnes améliorations et à comprendre ce qu'il se passe avec \"briques solides\". Les niveaux 2 et 3 (en mode loop) amènent des informations complémentaires d'une utilité douteuse. ", @@ -189,7 +178,7 @@ "upgrades.coin_magnet.name": "Aimant pour pièces", "upgrades.compound_interest.fullHelp": "Votre combo augmentera d'une unité à chaque fois que vous casserez une brique, générant de plus en plus de pièces à chaque fois que vous casserez une brique. Veillez cependant à attraper chacune de ces pièces avec votre palet, car toute pièce perdue remettra votre combo à zéro. \n \nSi votre combinaison est supérieure au minimum, une ligne rouge s'affichera au bas de la zone de jeu pour vous le rappeler que les pièces ne doivent pas aller à cet endroit.", "upgrades.compound_interest.help": "+{{lvl}} combo par brique cassée, remise à zéro quand une pièce est perdu", - "upgrades.compound_interest.name": "Intérêts", + "upgrades.compound_interest.name": "Intérêts composés", "upgrades.concave_puck.fullHelp": "Les balles démarrent verticalement en début de niveau, et rebondi sur le palet de manière plus verticale et inversée.", "upgrades.concave_puck.help": "Aide à éviter les bords.", "upgrades.concave_puck.name": "Palet concave", @@ -201,32 +190,32 @@ "upgrades.etherealcoins.name": "Monnaie spatiale ", "upgrades.extra_levels.fullHelp": "La partie dure normalement 7 niveaux, après quoi le jeu est terminé et le score que vous avez atteint est votre score de partie.\n\nChoisir cette amélioration vous permet de prolonger la partie d'un niveau. Les derniers niveaux sont souvent ceux où vous faites le plus de points, la différence peut donc être spectaculaire.", "upgrades.extra_levels.help": "Jouer {{count}} niveaux au lieu de 7", - "upgrades.extra_levels.name": "+1 niveau", + "upgrades.extra_levels.name": "Encore 5 minutes", "upgrades.extra_life.fullHelp": "Normalement, vous n'avez qu'une seule balle par manche, et la manche est terminée dès que vous la laissez tomber.\n\nCette compétence ajoute une barre blanche en bas de l'écran qui sauvera une balle une fois, et se brisera au cours du processus.\n\nVous pouvez prendre plusieurs vies d'avances, elle seront utilisées à chaque fois qu'une balle est sur le point d'être perdue. ", "upgrades.extra_life.help": "La balle rebondit une fois avant d'être perdue.", - "upgrades.extra_life.help_plural": "La balle rebondit {{lvl}} fois avant d'être perdue.", - "upgrades.extra_life.name": "+1 vie", + "upgrades.extra_life.help_plural": "La (dernière) balle rebondit en bas de l'écran au lieu d'être perdue ( {{lvl}} fois).", + "upgrades.extra_life.name": "Seconde chance", "upgrades.forgiving.fullHelp": " La première brique ratée par niveau ne coûte rien, la suivante 10%, 20%, etc.", "upgrades.forgiving.help": "Rater les briques fait perdre un portion progressivement plu importante du combo", "upgrades.forgiving.name": "L'erreur est humaine", - "upgrades.fountain_toss.fullHelp": "", - "upgrades.fountain_toss.help": "Quand une pièce est perdue alors que votre combo était en dessous de {{max}}, votre combo à une probabilité de {{lvl}}/combo d'être incrémenté", + "upgrades.fountain_toss.fullHelp": "Quand une pièce est perdue alors que votre combo était en dessous de {{max}}, votre combo à une probabilité de {{lvl}}/combo d'être incrémenté", + "upgrades.fountain_toss.help": "Gagnez parfois un peu de combo quand vous perdez des pièces.", "upgrades.fountain_toss.name": "Pièce dans la fontaine", "upgrades.ghost_coins.fullHelp": "Ce n'est pas une bug, c'est une fonctionnalité ! Les pièces passent à travers les briques doucement. Les niveaux plus élevés permettent aux pièce de traverser les briques plus vite.", "upgrades.ghost_coins.help": "Les pièces traversent les briques doucement", "upgrades.ghost_coins.name": "Pièces fantôme", "upgrades.helium.fullHelp": "Les pièces attendront d'être sous le palet pour tomber. ", "upgrades.helium.help": "Les pièce flottent au lieu de tomber autours du palet", - "upgrades.helium.name": "Helium", - "upgrades.hot_start.fullHelp": "Au début de chaque niveau, votre combo commencera à +30 points, mais à chaque seconde, il sera diminué d'un point. Cela signifie que les 30 premières secondes d'un niveau produiront beaucoup plus de pièces que les suivantes.\nVous devez vous assurer de terminer le niveau rapidement. L'effet se cumule avec d'autres avantages liés au combo, ce qui vous permet d'augmenter le combo après les 30 secondes, mais il continuera à diminuer chaque seconde. Chaque fois que vous reprenez la compétence, l'effet est encore plus prononcé.", + "upgrades.helium.name": "Hélium", + "upgrades.hot_start.fullHelp": "Au début de chaque niveau, votre combo commencera à +30 points, mais à chaque seconde, il sera diminué d'un point. ", "upgrades.hot_start.help": "Combo à {{start}}, -{{loss}} combo par seconde", "upgrades.hot_start.name": "Démarrage à chaud", "upgrades.implosions.fullHelp": "La force d’explosion est appliquée dans l’autre sens. Les niveaux 2+ augmentent la puissance de l'implosion. ", "upgrades.implosions.help": "Les explosions aspirent les pièces au lieu de les faire exploser.", "upgrades.implosions.name": "Implosions", "upgrades.instant_upgrade.fullHelp": "Choisissez immédiatement deux améliorations, afin d'en obtenir une gratuite et une autre pour rembourser celle utilisée pour obtenir cet avantage. Chaque fois que vous choisirez des améliorations dans le menu suivant, vous aurez moins de choix.", - "upgrades.instant_upgrade.help": "-{{lvl}} choix jusqu'à la fin de la partie.", - "upgrades.instant_upgrade.name": "+2 améliorations maintenant", + "upgrades.instant_upgrade.help": "-1 amélioration maintenant, mais un choix de mois jusqu'à la fin de la partie.", + "upgrades.instant_upgrade.name": "Un tiens vaut deux tu l'auras", "upgrades.left_is_lava.fullHelp": "Chaque fois que vous cassez une brique, votre combo augmente d'une unité, ce qui vous permet d'obtenir une pièce de plus à chaque fois que vous cassez une brique.\n\nCependant, votre combinaison se réinitialise dès que votre balle touche le côté gauche.\n\nDès que votre combo augmente, le côté gauche devient rouge pour vous rappeler que vous devez éviter de le frapper.", "upgrades.left_is_lava.help": "+{{lvl}} combo par brique, perdu en touchant le bord gauche", "upgrades.left_is_lava.name": "Éviter le côté gauche", @@ -234,24 +223,24 @@ "upgrades.limitless.help": "Augmenter le niveau maximum de toutes les mises à niveau de {{lvl}} ", "upgrades.limitless.name": "Sans limites", "upgrades.metamorphosis.fullHelp": "Avec cette amélioration, les pièces seront de la couleur de la brique d'où elles proviennent et coloreront la première brique qu'elles toucheront. \n\nLes pièces apparaissent à la vitesse de la balle qui les a cassées, ce qui signifie que vous pouvez viser un peu dans la direction des briques que vous voulez \"peindre\".", - "upgrades.metamorphosis.help": "Chaque pièces peut tacher {{lvl}} brique(s) avec sa couleur", + "upgrades.metamorphosis.help": "Chaque pièce peut tacher {{lvl}} brique(s) avec sa couleur", "upgrades.metamorphosis.name": "Métamorphose", "upgrades.minefield.fullHelp": "Ajoute +lvl au combo lorsqu'une brique est placée, -lvl lorsqu'elle est détruite et augmente le combo de base du nombre de briques multiplié par le niveau", "upgrades.minefield.help": "+{{lvl}} combo par brique explosive à l'écran", "upgrades.minefield.name": "Terrain miné", "upgrades.multiball.fullHelp": "Dès que vous laissez tomber la balle dans Breakout 71, vous perdez. \n\nAvec cet avantage, vous obtenez deux balles, et vous pouvez donc vous permettre d'en perdre une.\n\nLes balles perdues reviennent au niveau suivant. \n\nLe fait d'avoir plus d'une balle permet d'obtenir d'autres avantages et, bien sûr, de franchir le niveau plus rapidement.", "upgrades.multiball.help": "Chaque niveau commence avec {{count}} balles.", - "upgrades.multiball.name": "+1 balle", + "upgrades.multiball.name": "Multi balle", "upgrades.nbricks.fullHelp": "Si votre balle rebondis sans casser une brique, ça compte quand même comme une frappe. Les briques détruites par des explosions ne comptent pas.", "upgrades.nbricks.help": "Frappez exactement {{lvl}} briques par rebond pour +{{lvl}} combo, sinon combo perdu", "upgrades.nbricks.name": "Prélèvement", - "upgrades.one_more_choice.fullHelp": "Chaque menu d'amélioration comportera une option supplémentaire. Cela n'augmente pas le nombre d'améliorations que vous pouvez choisir, mais vous aide à créer le profile idéal. ", - "upgrades.one_more_choice.help": "Les niveaux suivants offriront {{lvl}} option(s) supplémentaire(s) dans la liste d'améliorations.", - "upgrades.one_more_choice.name": "+1 choix", + "upgrades.one_more_choice.fullHelp": "Chaque menu d'amélioration comportera une option supplémentaire. Cela n'augmente pas le nombre d'améliorations que vous pouvez choisir, mais vous aide à créer le profile idéal. \"La réponse D\" est une référence à un sketch classique. ", + "upgrades.one_more_choice.help": "1 choix supplémentaire d'amélioration proposé jusqu'à la fin de la partie", + "upgrades.one_more_choice.name": "La réponse D", "upgrades.passive_income.fullHelp": "Certaines amélioration font bouger les balles sans avoir besoin de mettre le palet en mouvement.", "upgrades.passive_income.help": "+{{lvl}} combo / brique, sauf si le palet à bougé dans les {{time}} dernières secondes, combo perdu dans ce cas", "upgrades.passive_income.name": "Revenu passif", - "upgrades.picky_eater.fullHelp": "Chaque fois que vous cassez une brique de la même couleur que votre balle, votre combo augmente d'une unité.\n\nS'il s'agit d'une couleur différente, la balle adopte cette nouvelle couleur, mais la combinaison est réinitialisée, sauf s'il n'y avais plus aucune brique de la couleur de la balle.\n\nLes briques de la mauvaise couleur sont entourées en rouge.\n\nSi vous avez plus d'une balle, elles changent toutes de couleur en même temps lorsque l'une d'entre elles touche une brique.", + "upgrades.picky_eater.fullHelp": "Chaque fois que vous cassez une brique de la même couleur que votre balle, votre combo augmente d'une unité.\nS'il s'agit d'une couleur différente, la balle adopte cette nouvelle couleur, mais la combinaison est réinitialisée, sauf s'il n'y avais plus aucune brique de la couleur de la balle. Les briques de la mauvaise couleur sont entourées en rouge. Si vous avez plus d'une balle, elles changent toutes de couleur en même temps lorsque l'une d'entre elles touche une brique.", "upgrades.picky_eater.help": "+{{lvl}} combo par brique cassée la couleur de la balle, combo perdu sinon", "upgrades.picky_eater.name": "Mangeur par couleur", "upgrades.pierce.fullHelp": "Normalement , la balle rebondit dès qu'elle touche une brique. Avec cette caractéristique, elle continuera sa trajectoire jusqu'à 3 briques cassées.\n\nAprès cela, elle rebondira sur la quatrième brique et vous devez toucher le palet pour remettre le compteur à zéro.", @@ -330,7 +319,7 @@ "upgrades.viscosity.fullHelp": "Les pièces accélèrent normalement avec la gravité et les explosions pour atteindre des vitesses assez élevées. \n\nCette compétence les ralentit constamment, comme si elles se trouvaient dans une sorte de liquide visqueux.\n\nCela permet de les attraper plus facilement et se combine bien avec les améliorations qui influencent le mouvement de la pièce.", "upgrades.viscosity.help": "Chute plus lente des pièces", "upgrades.viscosity.name": "Fluide visqueux ", - "upgrades.wind.fullHelp": "Le vent dépend de l'endroit où se trouve le palet, s'il est au centre de l'écran, il ne se passe rien, s'il est à gauche, il soufflera vers la gauche, s'il est à droite de l'écran, il soufflera vers la droite.\n\nLe vent affecte à la fois les balles et les pièces.", + "upgrades.wind.fullHelp": "Le vent dépend de la position du palet à l'écran, vers la gauche s'il est à gauche, vers la droite s'il est à droite. \nAffecte les balles et les pièces.", "upgrades.wind.help": "La position du palet crée du vent", "upgrades.wind.help_plural": "Force du vent plus importante", "upgrades.wind.name": "Vive le vent", diff --git a/src/pure_functions.ts b/src/pure_functions.ts index 0a11914..7b5147c 100644 --- a/src/pure_functions.ts +++ b/src/pure_functions.ts @@ -1,77 +1,88 @@ export function clamp(value: number, min: number, max: number) { - return Math.max(min, Math.min(value, max)); + return Math.max(min, Math.min(value, max)); } export function comboKeepingRate(level: number) { - return clamp(1 - (1 / (1 + level)) * 1.5, 0, 1); + return clamp(1 - (1 / (1 + level)) * 1.5, 0, 1); } export function hoursSpentPlaying() { - try { - const timePlayed = - localStorage.getItem("breakout_71_total_play_time") || "0"; - return Math.floor(parseFloat(timePlayed) / 1000 / 60 / 60); - } catch (e) { - return 0; - } + try { + const timePlayed = + localStorage.getItem("breakout_71_total_play_time") || "0"; + return Math.floor(parseFloat(timePlayed) / 1000 / 60 / 60); + } catch (e) { + return 0; + } } export function miniMarkDown(md: string) { - let html: { tagName: string; text: string }[] = []; - let lastNode: { tagName: string; text: string } | null = null; + let html: { tagName: string; text: string }[] = []; + let lastNode: { tagName: string; text: string } | null = null; - md.split("\n").forEach((line) => { - const titlePrefix = line.match(/^#+ /)?.[0]; + md.split("\n").forEach((line) => { + const titlePrefix = line.match(/^#+ /)?.[0]; - if (titlePrefix) { - if (lastNode) html.push(lastNode); - lastNode = { - tagName: "h" + (titlePrefix.length - 1), - text: line.slice(titlePrefix.length), - }; - } else if (line.startsWith("- ")) { - if (lastNode?.tagName !== "ul") { - if (lastNode) html.push(lastNode); - lastNode = { tagName: "ul", text: "" }; - } - lastNode.text += "
  • " + line.slice(2) + "
  • "; - } else if (!line.trim()) { - if (lastNode) html.push(lastNode); - lastNode = null; - } else { - if (lastNode?.tagName !== "p") { - if (lastNode) html.push(lastNode); - lastNode = { tagName: "p", text: "" }; - } - lastNode.text += line + " "; + if (titlePrefix) { + if (lastNode) html.push(lastNode); + lastNode = { + tagName: "h" + (titlePrefix.length - 1), + text: line.slice(titlePrefix.length), + }; + } else if (line.startsWith("- ")) { + if (lastNode?.tagName !== "ul") { + if (lastNode) html.push(lastNode); + lastNode = {tagName: "ul", text: ""}; + } + lastNode.text += "
  • " + line.slice(2) + "
  • "; + } else if (!line.trim()) { + if (lastNode) html.push(lastNode); + lastNode = null; + } else { + if (lastNode?.tagName !== "p") { + if (lastNode) html.push(lastNode); + lastNode = {tagName: "p", text: ""}; + } + lastNode.text += line + " "; + } + }); + if (lastNode) { + html.push(lastNode); } - }); - if (lastNode) { - html.push(lastNode); - } - return html - .map( - (h) => - "<" + - h.tagName + - ">" + - h.text.replace( - /\bhttps?:\/\/[^\s<>]+/gi, - (a) => `${a}`, - ) + - "", - ) - .join("\n"); + return html + .map( + (h) => + "<" + + h.tagName + + ">" + + h.text.replace( + /\bhttps?:\/\/[^\s<>]+/gi, + (a) => `${a}`, + ) + + "", + ) + .join("\n"); } export function firstWhere( - arr: Input[], - mapper: (item: Input, index: number) => Output | undefined, + arr: Input[], + mapper: (item: Input, index: number) => Output | undefined, ): Output | undefined { - for (let i = 0; i < arr.length; i++) { - const result = mapper(arr[i], i); - if (typeof result !== "undefined") return result; - } + for (let i = 0; i < arr.length; i++) { + const result = mapper(arr[i], i); + if (typeof result !== "undefined") return result; + } } + +export const + wallBouncedBest = 3, + wallBouncedGood = 10, + levelTimeBest = 30, + levelTimeGood = 60, + catchRateBest = 95, + catchRateGood = 90, + missesBest = 3, + missesGood = 6; + diff --git a/src/render.ts b/src/render.ts index df3ba20..0d75cc6 100644 --- a/src/render.ts +++ b/src/render.ts @@ -14,6 +14,14 @@ import { Coin, colorString, GameState } from "./types"; import { t } from "./i18n/i18n"; import { gameState, lastMeasuredFPS } from "./game"; import { isOptionOn } from "./options"; +import { + catchRateBest, + catchRateGood, + levelTimeBest, + levelTimeGood, missesBest, missesGood, + wallBouncedBest, + wallBouncedGood +} from "./pure_functions"; export const gameCanvas = document.getElementById("game") as HTMLCanvasElement; export const ctx = gameCanvas.getContext("2d", { @@ -71,16 +79,16 @@ export function render(gameState: GameState) { : "") + (isOptionOn("show_stats") ? ` - 0.9 && "good") || ""}" data-tooltip="${t("play.stats.coins_catch_rate")}"> + catchRateGood/100 && "good") || ""}" data-tooltip="${t("play.stats.coins_catch_rate")}"> ${Math.floor(catchRate * 100)}% / - + ${Math.ceil(gameState.levelTime / 1000)}s / - + ${gameState.levelWallBounces} B / - + ${gameState.levelMisses} M / ` diff --git a/src/runHistoryViewer.ts b/src/runHistoryViewer.ts index 17f1b6a..56a7e3b 100644 --- a/src/runHistoryViewer.ts +++ b/src/runHistoryViewer.ts @@ -30,28 +30,6 @@ export function runHistoryViewerMenuEntry() { label: t("history.columns.score"), field: (r) => r.score, }, - { - label: t("history.columns.runTime"), - tooltip: t("history.columns.runTime_tooltip"), - - field: (r) => r.runTime, - render(v) { - return Math.floor(v / 1000) + "s"; - }, - }, - { - label: t("history.columns.puck_bounces"), - tooltip: t("history.columns.puck_bounces_tooltip"), - field: (r) => r.puck_bounces, - }, - { - label: t("history.columns.max_combo"), - field: (r) => r.max_combo, - }, - { - label: t("history.columns.upgrades_picked"), - field: (r) => r.upgrades_picked, - }, ...rawUpgrades.map((u) => ({ label: icons["icon:" + u.id], tooltip: u.name,