Пікірлер
@rithvik119am6
@rithvik119am6 4 ай бұрын
love your 3 videos for the sake of god please upload more man please
@JPWALLHOME
@JPWALLHOME 6 ай бұрын
Legend
@malcolmkoharian
@malcolmkoharian 10 ай бұрын
you should make a 10-hour video of the robot solving it. maybe it could have music or something?
@fejfo6559
@fejfo6559 10 ай бұрын
I recommend the game "14 minesweeper variants" it has a built in SAT solver to procedurally generate puzzles that require complicated logic
@NotPhoenic
@NotPhoenic 10 ай бұрын
between launch attempts were you tweaking anything or did it end up just working with random variations
@HaveaLukeatthis
@HaveaLukeatthis 10 ай бұрын
I tweaked the position of the camera and added an offset to the code so the robot would aim slightly above my mouth - there is still quite a lot of variation after tweaking and tuning though!
@justcode7326
@justcode7326 10 ай бұрын
You remind me of Stuff Made Here
@bicrome
@bicrome 10 ай бұрын
i NEED this! This is awesome :) I cant wait for the servo upgrade video!
@user-wl9vg3bq1u
@user-wl9vg3bq1u 10 ай бұрын
Great stuff! Well done Luke.
@unrellated
@unrellated Жыл бұрын
Sometimes, a minesweeper puzzle is actually unsolvable. If your solver finds one of these, I suggest having it cheat a little and give itself a hint, revealing a clear tile.
@QUASAR098
@QUASAR098 Жыл бұрын
finally! i can play catan in peace knowing that the board is not totally jank and skewed towards one player
@bastian1847
@bastian1847 Жыл бұрын
Very cool! The original minesweeper had a maybe flag that I used extensively :⁠-⁠)
@ykaaaaar
@ykaaaaar Жыл бұрын
How do you only have 1k subscribers
@CheeseDud
@CheeseDud Жыл бұрын
I’ve moved on to bigger and better games at this point of my board game hobby, but Catan is beloved for a reason. RIP Klaus Teuber 🐑 🌾 🧱 🪨 🪵
@tensorflaw
@tensorflaw Жыл бұрын
What is the time complexity of the solver?
@badhippo
@badhippo Жыл бұрын
Christmas trees are very seasonal...... but ridged buttplugs? They are good for all-year round. Just saying....
@Vearru
@Vearru Жыл бұрын
I personally don’t mind unbalanced Catan boards as I feel like the most important part of the game is diplomacy and social skills. Obviously though it should be important to not have a resource by it’s respective port in order to make sure diplomacy and trading between players is relied on more heavily but other than that I find unbalanced layouts are pretty fun.
@goldenredstone04
@goldenredstone04 Жыл бұрын
I made a minesweeper screensaver a couple of years ago. I made mine scroll infinitely so it looks like an infinite minefield. I also cheated a little and let it choose a random safe tile to clear when it was stuck.
@JT12523
@JT12523 Жыл бұрын
I see the code but how do I run the generator?
@farianderson168
@farianderson168 Жыл бұрын
Counting the bombs also helps at dead-ends
@goktuggokcen1564
@goktuggokcen1564 Жыл бұрын
You only have tree videos, but you are great!!! Please continue uploading. All your videos are interesting!!!
@HaveaLukeatthis
@HaveaLukeatthis Жыл бұрын
Thanks so much! I really appreciate the feedback!
@FAWebb1
@FAWebb1 Жыл бұрын
Nice video! You could use Wave Function Collapse generation to reduce the number of permutations you need to search through.
@revimfadli4666
@revimfadli4666 Жыл бұрын
And WVC is somewhat algorithm-friendly too, at least for me and similar viewers
@laytonyon5965
@laytonyon5965 Жыл бұрын
I was going to say the exact same thing, definitely unnecessary as it currently runs in less than a second but would be a cool optimization.
@thunfisch987
@thunfisch987 Жыл бұрын
Nice! Now i'd like someone to analyze how many balanced combinations there are and if it would make sense to just generate all of them with the Generator and randomly pick them out of a list
@revimfadli4666
@revimfadli4666 Жыл бұрын
Sounds like a memory-hungry version of wave function collapse
@noskillpureandy
@noskillpureandy Жыл бұрын
I wanted to take a look at the comments, but then I realized that this only has 12 views. Very interesting video, I also liked your one about Minesweeper. I hope this one blows up too!
@HaveaLukeatthis
@HaveaLukeatthis Жыл бұрын
Thanks!
@bicrome
@bicrome Жыл бұрын
So cool man! That will be super useful when playing catan with my friends
@HaveaLukeatthis
@HaveaLukeatthis Жыл бұрын
Thanks! Glad you liked it
@tomwordsworth-ju2of
@tomwordsworth-ju2of Жыл бұрын
First!
@markcoleman9892
@markcoleman9892 Жыл бұрын
I played this obsessively when it first came out - so much so that I "used" it to think about other things, keeping the overactive part of my brain occupied. When it became too "easy," I stopped dropping bomb markers so that I had to rely just on the number patterns. It was especially satisfying to finish a board with no bomb markers in view. He left out that the original game displays a count of the total bomb markers remaining, which was one of the parameters for resetting the board. Getting to only 5 bombs left and 20 or 30 unmarked squares made it easier to guess safely. The original game "cheated" in that the very first square was ALWAYS NOT a bomb - which means the pattern couldn't be set until AFTER the players first move. (A few times, the first click revealed an 8, though, making the next click VERY risky! 😁
@MrSaemichlaus
@MrSaemichlaus Жыл бұрын
For the logic around the 02:40 mark, it would make sense to pause the normal "iterating over a bunch of tiles to look for trivial solves" and to look specifically around the two cells forming an XOR and examine the surrounding cells with that characteristic in mind. That way you could blast through most cells very quickly and only apply advanced logic when needed.
@AlonzoTG
@AlonzoTG Жыл бұрын
yeah, the part at 2:30 is what I call the law of 1-2-1. Wherever you see that pattern, or anything that reduces to that pattern, then the flags go adjacent to the 1's and the center is cleared and depending on how you arrived at 1-2-1, you may also clear whatever is on the other side of those 1's.
@martindorrance8133
@martindorrance8133 Жыл бұрын
It’s proof by contradiction!
@SkyboxMonster
@SkyboxMonster Жыл бұрын
I wanted to create my own puzzle solver engine for a puzzle game that I dont know the name for. its a grid of pipes and ends. all you can do is rotate the blocks in place to move the connections around. everything must connect to the center tile. I learned quickly that the edges should be solved first since all edge tiles cannot have a connection. so any "T" shape must always face inwards. allowing you to "lock" the tile and mark it as solved. I thought it would be a fun task to make a program that would solve the puzzles
@syndrrgd812
@syndrrgd812 Жыл бұрын
the position at 2:31 is impossible
@kenan2386
@kenan2386 Жыл бұрын
Only 800 subs? Come on! Take mine!
@SP-ny1fk
@SP-ny1fk Жыл бұрын
Get the puzzle generator to talk directly with the puzzle solver and cut out that thing in the middle
@sbrunner69
@sbrunner69 Жыл бұрын
Oh snap. I might have to code this in c#. Years ago I got bored and coded reversi client server over tcp. That was fine and similar logic with checking neighbors.
@manusoftar
@manusoftar Жыл бұрын
rather than complicating yourself you all that algorithmic AI, you could just simply use RL and let the computer to just "learn" how to solve Minesweeper games.
@arnoldvanhofwegen2255
@arnoldvanhofwegen2255 Жыл бұрын
Why is the very first guess never a bomb? ;-)
@MouseGoat
@MouseGoat Жыл бұрын
hmm sound to me more like you over complicating the problem. Just asign values to each block facing a number, that faces more blocks than value, that gives a bomb heat map. Make sure the numbers have been updated if a marked block is next to them then -1 to their value. with the 2 rows at 3:13 form left to right that gives us: 11, 3 , 5, 3, 5 , 4, 6. Next you place a marker on the higst value and run the code again: 2 , 3, 2, 4 , 4, 6.
@robbkenobi
@robbkenobi Жыл бұрын
Dude this is awesome. Subscribed!
@xamarinmaster1403
@xamarinmaster1403 Жыл бұрын
You should try to write a solver for SkiaLogic type puzzles.
@marklandgraf7667
@marklandgraf7667 Жыл бұрын
Chopin is a nice touch
@TheMadMurf
@TheMadMurf Жыл бұрын
What happened at 5:11? It looks like the solver hit a bomb next to a two tile? Why would it be guessing when the 2 is only touching 2 squares?
@michaelhoffmann2891
@michaelhoffmann2891 Жыл бұрын
Hate to be that guy, but that code ain't PEP compliant. Another Java/Javascript dev come to Python? 😄 But seriously, and hopefully more constructive, I wonder if it could be made multi-threaded, possible on the basis of separating the work into n sections of the grid. That would require some "look over the fence" logic, at the interfaces between sections, I guess.
@Gredddfe
@Gredddfe Жыл бұрын
I'm going to have to sit with your "maybe" logic for a bit before I understand it.
@QUASAR098
@QUASAR098 Жыл бұрын
i just remade your project from scratch. also tkinter is kind of ehh i wouldn't use tkinter
@TheRealKitWalker
@TheRealKitWalker Жыл бұрын
Till now, I didn't know what this bloody game was about and now that I know how to play it I too feel like coding a solver for this using pyautogui 😋 thanks for the motivation my good friend 👏👌✌️💪😎
@user-uo1yn4se8r
@user-uo1yn4se8r Жыл бұрын
very cool, but seems bad as a screensaver. lots of pixels don't change color at all
@cliftonchurch6039
@cliftonchurch6039 Жыл бұрын
Okay, different angle on solving the maybe situation in plaintext: Until a new number is revealed, treat each cell as a rolling percentage of likelihood of a bomb. The first 2 knows that those two cells each have a 50% chance of being a bomb, so for the value of "likelihood of a bomb" set a value of 0.5, and move onto the next digit down the line. The next two adds up the values of all cells it sees to get the total likelihood of bombs placed, reading flagged bombs as a 1, and numbers, spaced, and unclicked cells as 0. It sees that the likely number of bombs placed is 1 (if it were somehow 1.25 or something, it would truncate at the ones place, and do the math from there) so it knows that in any 0 likelihood unclicked cells it sees, they must hold *number in cell* minus *bombs placed value* bombs. in this case there's only one 0 probability unclicked cell the number sees, so it puts all 1 bomb into that cells value. Then the logic decided if flags must be placed. Any cell who's probability of a bomb is one or greater, gets flagged as a bomb, so the cell directly in front of the 1 gets flagged. The logic then reverses the order of thinking and says "does this cause any number I'm touching to be maxed out?" If it finds more than one, that doesn't matter, but if it doesn't find any, the logic would have then continued down the line of numbers, erasing memory of values holding probability of a bomb, continuing to try and find a maxed out number. When it maxes out a number, that number flips all remaining unclicked cells to safe, then starts the process all over again. I'm the kind of guy who feels like he's good at talking out programming logic, but no good at actually writing it. I have no idea if that's a valuable skill, and I'm just hopeful that I made some level of sense, and all respect for having the knowledge to make that programming happen. I hope the idea helps get the juices flowing, should you want to try to make your code leaner.
@koppadasao
@koppadasao Жыл бұрын
2:23 That's an odd number 3... On the edge, with 4 of 6 spaces revealed....
@unflexian
@unflexian Жыл бұрын
Amazing! Are there any situations where two hypotheses are required? like, assuming one tile is maybe cleared reveals some data but not enough, so you need to assume/guess about another tile inside the first assumption?
@To1ne
@To1ne Жыл бұрын
Can you make it infinitely scrolling?