Remix.run Logo
patapong 8 hours ago

One of the biggest recent indie hits, Balatro, was made in Löve!

I really like it, the developer experience is so smooth for beginners, just drag a zip onto the exe and it starts. And the APIs are simple enough to memorize while allowing pretty cool rendering stuff.

KeplerBoy 8 hours ago | parent | next [-]

Balatro ships with the entire unobfuscated Lua source by the way.

I once checked if the odds stated on a card were implemented wrong. Turns out no, the code checks out, I'm just that unlucky.

__s 8 hours ago | parent | next [-]

too bad universe doesn't ship with unobfuscated source so that you could see whether you're unlucky, or just skill issue

Tepix 8 hours ago | parent [-]

The source is right there, you just have to grok it.

Sardtok 5 hours ago | parent [-]

Well, it's kind of a machine code for a self-modifying compiler, so there's that.

brooke2k 8 hours ago | parent | prev | next [-]

hahaha, I did the exact same thing after the game came out to see if wheel of fortune was really a 1/4 chance

mh- 7 hours ago | parent | next [-]

lol, love seeing that I'm not the only one who did this. Being suspicious of WoF was the first and last time I peeked at the Balatro source.

QuantumNomad_ 6 hours ago | parent | next [-]

Game developers sometimes make the “randomness” favor the player, because of how we perceive randomness and chance.

For example in Sid Meier’s Memoir, this is mentioned.

Quoting from a review of said book:

> People hate randomness: To placate people's busted sense of randomness and overdeveloped sense of fairness, Civ Revolutions had to implement some interesting decisions: any 3:1 battle in favor of human became a guaranteed win. Too many randomly bad outcomes in a row were mitigated.

https://smus.com/books/sid-meiers-memoir/

Some threads on randomness and perceived fairness in video games can be found here on HN too, for example https://news.ycombinator.com/item?id=19399044

The original link being discussed in that thread is 404 now, but archived copies of the original link exist such as for example https://archive.is/8eVqt

bsimpson 3 hours ago | parent | next [-]

Dispatch too. If your odds are above a certain threshold, the mission is a gimme.

addandsubtract 5 hours ago | parent | prev [-]

I think XCOM does this as well.

lovehashbrowns 6 hours ago | parent | prev [-]

The 8-ball joker is even more BS. I think I’ve only seen it trigger once ever.

mh- 6 hours ago | parent [-]

I've read the source a few years back. It's all implemented fairly as it says on the tin.

I've long been suspicious of the RNG/seed implementation.. but not curious enough to automate testing of it, though.

StilesCrisis 3 hours ago | parent [-]

It's been done, it's a valid RNG. It's somewhere on Reddit if you want to try and search for it.

mh- 3 hours ago | parent [-]

I figured it had been tested by someone more motivated than me, haha, thanks! Will look for it when I'm back at a computer.

andrepd 5 hours ago | parent | prev | next [-]

Neat example of cognitive bias, the brain perceives the Nope as being much more prevalent than it actually is!

tertle950 5 hours ago | parent [-]

For a small while I've had the idea of a [game engine/fantasy console/Scratch clone?] that comes packed with a bunch of example games. The example games should be good enough that people download it just to play them, but they are also encouraged to peek into their source code. I'd hope for it to be a sneaky gateway into programming.

For that, I'll keep this in mind: "Unlucky players may look at the source code of a chance-based effect to check if the odds are actually as stated."

sfn42 6 hours ago | parent | prev [-]

I didn't know I could check but after losing like 20 times in a row I just stopped taking WoF. Never saw the good outcome.

Levitating 6 hours ago | parent | prev [-]

Not on steam does it? I can only see the exe and dlls.

jared0x90 6 hours ago | parent [-]

extract the exe like a zip file, that's how love packages itself. last i looked at the source myself it had comments in still from the dev

bsimpson 3 hours ago | parent | next [-]

I'm really curious how they do version control.

The Steam version was created by one guy, but the platform ports have a couple different authors. The Google Play and Xbox PC versions, for instance, have divergences.

I wonder how the ports influence the upstream and each other. How do they keep the codebases in sync, while also accounting for platform differences?

Levitating 6 hours ago | parent | prev [-]

yep that works

bsimpson 7 hours ago | parent | prev | next [-]

In case you're curious, here's a Nix derivation to make Balatro for any other system playable on Linux:

https://github.com/NixOS/nixpkgs/tree/master/pkgs/by-name/ba...

I wrote half a blog post when I did the derivation. One day, I should finish it and post it here.

pmarreck 3 hours ago | parent [-]

That's awesome!

eek2121 5 hours ago | parent | prev | next [-]

A lot of indie devs actually are fine with decompiling/viewing source. Even the STS2 devs have no issue with this. I think it is great and helps the indie dev community. Seeing this has actually made me excited about game dev to the point where I'm beginning to dig in myself.

Neywiny 6 hours ago | parent | prev [-]

Haven't used it in almost 10 years but at least back then one sticky point was that unlike unity and the like, opening the exe didn't open an IDE. Just kind of a dummy window. Also building for Mac from Windows was a nightmare since my end user was not technically literate and it didn't just run on their end. But that's likely just a Mac issue