Hey! I’m Philipp and I’m a front-end developer and open source contributor living in Hamburg, Germany.
Go to to my website!
Score calculator for Balatro
Home Page: https://balatrolator.com/
License: MIT License
Hey! I’m Philipp and I’m a front-end developer and open source contributor living in Hamburg, Germany.
Go to to my website!
I know you're tracking a few more things than I am, but the same hand in my calculator has a URL state-string that's less than 3% of the length of yours:
https://efhiii.github.io/balatro-calculator/?hand=oACMOJQACOMAECgAKaA0BIAwBA
There are a few things that made it possible for me to make the state-string so short:
default states:
minimal bit-lengths for values; for example:
assumed 0s
Even if you don't want to rely on using small numbers like 16 bit ints, you can use small ints where possible and have a higher bit-length fallback, but for all the things I used 16 bit ints for, I don't think it's practical for the integer limit to be reached.
Add a basic save state management system so users can save and load played hands.
While a user can technically keep track of multiple played hands already by keeping track of the various share URLs of their played hands, it'd be much nicer to allow users to save the state by name in the their browser (i.e. local storage). They could load their saved states and thus flip and back and forth between various hands to try out which hand performs better.
This should probably be limited to ~10 entries or something like that. There are probably also storage limitations by browsers that I need to consider here.
Handle the various probabilistic effects of things like the "Bloodstone" joker, lucky enhanced cards, etc. Currently, they're not taken into account at all.
Some way to handle probabilities is definitely needed. Now I don't want to just roll the dice and have scores change based on whether, for example, a lucky card was triggered. I don't really have good ideas for this so far.
Some rough sketches:
Jokers:
Note that a lot of probabilistic jokers don't affect joker (e.g. Gros Michel)
Modifiers:
Re-order jokers and cards using drag'n'drop.
Support all jokers that aren't currently taken into account or working correctly.
Copy jokers:
Re-trigger jokers:
Non-scoring jokers:
Rest:
isFaceCard
utility; anything this is missing?)Handle Observatory. I probably don't need to handle vouchers in general because they generally don't have score-influencing effects.
Handle blinds (e.g. cards being debuffed, etc.). Take Chicot into account.
Handle decks (e.g. decks with different scoring mechanisms)
There's a good chance I don't need to do anything here as I'm already handling Plasma Deck and its balancing effect. All other decks have features either completely unrelated to scoring or that users can already change from the UI (e.g. a different number of joker slots for the Black Deck)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.