upvote
too bad universe doesn't ship with unobfuscated source so that you could see whether you're unlucky, or just skill issue
reply
The source is right there, you just have to grok it.
reply
Good news: the universe is written in LISP. Bad news: with no comments.
reply
> the universe is written in LISP

Ostensibly. Honestly most of it was hacked together with Perl.

https://xkcd.com/224/

reply
I like to imagine perl was bootstrapped from forth and used to build a lisp
reply
You can ask AI to comment an entire code base now in as much detail as you need.
reply
Comments explaining what the code does, which is what an LLM could answer, are basically useless comments. Comments that describes why the code is how it is, is a bit more valuable, but also something LLMs cannot really reliably infer by just looking at the code.
reply
deleted
reply
Well, it's kind of a machine code for a self-modifying compiler, so there's that.
reply
The source is not just dna - that's just one type of architecture that exists. There might be others that operate on different instruction sets.

The real source is mathematics. But some might say it's incomplete.

reply
Mathematics is the FORTRAN of the real source. Closer to a real source is probably "real" things like atoms and other universal things.

If I remember correctly, Stargate-SG1 at one point had some ideas about this sort of universal language, that multiple species could use for communication, as any sufficiently intelligent specie probably been able to see atoms and so on, but may have completely other way of doing "math-like" stuff.

reply
I'm still waiting for the slackers at CERN to finish decompiling it.
reply
that's great, could read the source code on how to unify gravity and quantum mechanics for all energy levels? vibeing to a nobel price will be cool...
reply
I don't have to check the source code to know that for me it's a skill issue :/
reply
hahaha, I did the exact same thing after the game came out to see if wheel of fortune was really a 1/4 chance
reply
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.
reply
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

reply
I used to get so many comments about how the computer opponent in a tile-based board game of mine cheats and got all the high numbers while they always got low numbers, and I'd be like "that's mathematically impossible. I divide the number of spaces on the board in half, generate a deck of tiles to go into a 'bag', and then give a copy of those same tiles to the other player.

So over the course of the game you'll get the exact same tiles, just in a different random order.

Now to be fair, I didn't make that clear to the player that's what was happening, they were just seeing numbers come up, but it was still amazing to see how they perceived themselves as getting lower numbers overall compared to the opponent all the time.

Meanwhile on the base game difficulty I was beating the computer opponent pretty much every game because it had such basic A.I. where it was placing its tiles almost totally at random (basically I built an array of all possible moves where it would increase its score, and it would pick one at random from all those possibilities, not the best possibility out of those).

My Dad used to play a lot of online poker, and he used to complain when other players got lucky with their hands, be like 'I know the chances are like 5% of them getting that! They shouldn't have gotten that!' and it always reminded me of those people.

reply
The better option would be to just increase the flat odds. DQM: The Dark Prince is brutal with it's odds, but fair. A 45% chance is 45%.

In games like Civ/EU/Stellaris/Sins/etc It makes sense that a 3:1 battle wouldn't scale linearly, especially if you have higher morale/tech/etc. Bullets have a miss ratio, 3x as many bullets at the same target narrows that gap and gives the larger side an advantage at more quickly destroying the other side. So just give it an oversized ratio to scale the base (1:1) odds at.

That keeps "losing" realistic...a once in an occasion happenstance of luck/bad tactics/etc but also a generally very favorable and reliable outcome for your side.

reply
I worked on a game where we added a "fairness" factor to randomness. If you were unlucky in one battle, you were lucky in the next, and vice versa. Mathematically you ended up completely fair. (The game designer hated it, though, and it wasn't shipped like that)
reply
Games like Battle for Wesnoth which have it implemented right, you’ll look at a 90-10 scenario with 2 attacks and end up with the 1% scenario. Enough to make a man rage. I have degrees in Mathematics, I am aware of statistics, and all that. And yet when I played that game I would still have an instant “wait what, that’s super unlikely” before I had to mentally control for the fact that so many battles happen in a single map.

Was good because it identified a personal mental flaw.

reply
Dispatch too. If your odds are above a certain threshold, the mission is a gimme.
reply
I think XCOM does this as well.
reply
The 8-ball joker is even more BS. I think I’ve only seen it trigger once ever.
reply
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.

reply
It's been done, it's a valid RNG. It's somewhere on Reddit if you want to try and search for it.
reply
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.
reply
Neat example of cognitive bias, the brain perceives the Nope as being much more prevalent than it actually is!
reply
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."

reply
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.
reply
I’ve 100%’d Balatro and wheel of fortune is quite strong. It’s never worth taking before you’re at max interest though.
reply
I'm sure it's strong if you hit it, I never did so to me it was a waste of chips.
reply
Not on steam does it? I can only see the exe and dlls.
reply
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
reply
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?

reply
Can't say for sure how Balatro did it, but typically you do one shared core and any platforms basically use that core in their own suitable way. Considering it's lua, would feel very natural and be relatively simple for Balatro to do it this way too. Not much to keep in sync, just ensuring the core remains reusable in the ways the platforms need it.
reply
The Android and Xbox PC versions look more like forks for a shared codebase. Most of the platform-specific code is abstracted to a bridge, but even the bridges aren't consistent across the codebases. (Android's save system uses different methods than Xbox 's.)
reply
yep that works
reply
come on you can blame whatever the program is using for randomness still
reply
I know which card. We were all there. Are the odds wrong? "Nope!"
reply