This reminds me of one of my very first programs, a tic-tac-toe game I wrote in high school. It displayed hardcoded grids of Xs and Os and blanks very similar to what’s shown here. This approach worked because of the much more limited move possibilities. The program could always win if it made the first move, and always win or tie if the human moved first, depending on if the human made mistakes. I wish I still had the code.
This is very inefficient, they should be using a switch case.
Are they trying to code every possible chess position??
Programming chess as a single lookup table is wild
Right?
pretty sure there are more possible chess positions than atoms in the earth (universe?), so even if every atom of our planet were converted to transistors there’d be no way to fully represent all possibilities.
This was a fun one to look up. https://en.wikipedia.org/wiki/Shannon_number
It looks like the number of valid chess positions is in the neighborhood of 10^40 to 10^44, and the number of atoms in the Earth is around 10^50. Yeah the latter is bigger, but the former is still absolutely huge.
Let’s assume we have a magically amazing diamond-based solid state storage system that can represent the state of a chess square by storing it in a single carbon atom. The entire board is stored in a lattice of just 64 atoms. To estimate, let’s say the total number of carbon atoms to store everything is 10^42.
Using Avogadro’s number, we know that 6.022x10^23 atoms of carbon will weigh about 12 grams. For round numbers again, let’s say it’s just 10^24 atoms gives you 10 grams.
That gives 10^42 / 10^24 = 10^18 quantities of 10 grams. So 10^19 grams or 10^16 kg. That is like the mass of 100 Mount Everests just in the storage medium that can store multiple bits per atom! That SSD would be the size of a
smalllarge moon!valid chess positions is in the neighborhood of 1040 to 1044
Lol, big board you’re playing with…
Assuming your math is correct (and I have no reason to doubt that it is) a mass of 10^16 kg would actually be a pretty small moon or moderately sized asteroid. That’s actually roughly the mass of Mars’ moon Phobos (which is the 75th largest planetary moon in the Solar System).
I would have probably done it in my high school programming class to be funny and also fuck with my teacher, because they were an asshole.
This is where you’d normally go “there must be a better way…”
Honestly back when I was a kid this is how I thought games were made, every possible image of a game was already saved and according to your input it just loaded the next image.
I stopped thinking that with 3d games
It does work like that a little bit, like with sprites they’ve often hard-coded the frames of animation, so when you push a button it loads the correct image, like Mario’s jumping frame with his hand in the air. But there are such things as tilesets, and sprite positions, and all that good stuff.
I thought that they were managing that stuff on a per-pixel basis, no engine, assets, or other abstractions, just raw-dogging pixel colors.
And before I even played video games at all I was watching somebody play some assassin’s creed game I think and I thought the player had to control every single limb qwop-style.
In the first few Assassin’s Creed games, they did use the idea of a Puppeteer system for the control scheme, although it wasn’t physics-based or anywhere near as hard as QWOP. Each of the controllers face buttons performed actions associated with each limb, and the right trigger would swap between low profile actions and high profile actions.
In the top right of the screen, there was always a UI element showing what the buttons did at that moment in that context, which might’ve been why you thought it was a QWOP style system. It’s not exactly what you were thinking of at the time, but you were closer than you realise.
Even with 2D games that’s basically impossible. Only time it could work is with turn based games and then…you end up with this post lol.
I see you’ve never played “Dragon’s Lair”, where every scene was cell animated and the player “chose” the path that the animation would take.
I remember having a thought one day as a young kid while interacting with a DVD main menu (the kind that had clips from the movie playing in the background, and would play a specific clip depending on what menu you went in to).
“This is basically how video games work, there’s a bunch of options you can choose from and depending on what you do it shows you something. Videogames are just DVD menus with way more options.”
I grew up to not be a programmer.
The game Myst actually worked kind of like a DVD menu with more options.
Instead you are a choose-your-own-adventure author
Close, I DM’ed a short-lived DnD campaign a year ago.
Its not terribly far off from pre rendered or FMV games like Myst are doing it.
I remember speculating as a (small) kid that the AI soldiers in Battlefront II’s local multiplayer might be real people employed by the developer. Not the brightest child was I.
I remember as a kid seeing my older brother talk to people on a mic and thought he was talking to the characters in the game
I grew up mostly with the PS2 and above and I thought the same thing 😅. I did think there had to be a better way though
As a middle schooler I used Power Point to make FMV games for my friends and classmates, and it was basically this. Just, like, SO MANY slides
Laughable for chess, but essentially how Steve Mould played tic tac toe using synthesized DNA.
AI has probably finished this game by now.
And still lost.
if that is python then makes sense