How I made a game with 10,303 different cards!
HTML-код
- Опубликовано: 20 сен 2024
- This is bonus content for the video "How does Dobble (Spot It) work?"
• How does Dobble (Spot ...
I give a quick tour of the design, code and spreadsheets required to make Monomatch Myriad a reality.
Reminder: if you support me on Patreon keep an eye out for three Monomatch Myriad cards for you to check, arriving in your email early in May.
/ 50645477
No I'm not putting the code on github. It's too awful.
There are no mistakes, only happy little houses.
And every house needs a friend
Sounds so much like something Bob Ross would say!
someone needs to beat the devil outta matt's code
@@NightHawk59 Sherlock
Best commentary on RUclips I read in the last years!!!
So what you did is, you opened a new deck of cards, pulled the 13 first cards, and were surprised they were all in the same suit.
Yes. Pretty much exactly that.
wow what are the odds that every card was the happy little house?? someone should write an article about this incredible feat of probability
@@Vallam23 4.20x10^69
Even dream wasnt this lucky😂
First, the Parker Square.
Next, the Parker Dobble.
But then, in the background of the opening shot... The Parker Pine.
The Parker Pentagon.
Next: The Parker Hexagon (or as CGP Grey would say: The Parker Bestagon)
The Parker Universe is of course the final destination, an impossible universe where there's only one thing wrong.
@@MrTridac Is there any crossover? Like Brady and CGP Grey make podcasts IIRC, but any Parker Bestagons?
@@elmajore4818 Not that I know of. Would certainly be great, though.
Python: "I have sin(), cos(), multiplication and addition. you can do your rotations using me!"
standupmaths: "Spreadsheets it is!"
Always have a Christmas tree behind you at the end of April
He lives in Australia.
@@lukaszha8826 It's two months early for Australian Christmas .. he must live near the equator.
@@TomLeg I thought he lived in the UK
how do you know it's a christmas tree if it doesnt have christmas decorations?
@@oaaees Busted! You win!
Matt: "Not worth putting in the main video"
Everyone here including me: "MORE CONTENT! YES!"
As a partially colorblind person, thanks for thinking of us with the color palet choice ^^
I try!
@@mattparker2
Which service did you use? That would be handy for my projects as well to improve accessibility.
@@ErkkiMattila medialab.github.io/iwanthue/ is one such tool, though it may or may not be the one used here.
When I paused and searched for the symbol, I literally thought "I bet he printed out 101 cards from the top row." As soon a he immediately found the house I felt very proud.
I didnt even twig to that row comment, was sure Matt wouldn't fall for that.. but found the symbol, and enjoyed the rest of the videos.
still terrified of game night at matt parker's
Although it would be fun to watch
Matt with the people he's done videos with in the past like Hugh, Bradey, James (Grime), Hannah Fry, Tom Scott etc.
I can't hardly wait for the invite. I'm vaccinated and ready to go!
There is a relatively easy way to get those cyclic difference sets in James Singers 1938 paper "A theorem in finite projective geometry and some applications to number theory" using finite fields of order p^3. I wrote some code to generate these sets for an undergraduate research position last summer.
The most important thing about this video: Matt Parker uses a light theme code editor
Also that he's still using python 2
Which scrolling down apparently was because he was reusing python 2 code and didn't want to convert it so basically the same reason as most of the industry.
I know you said you wouldn't put the code online, but please reconsider. You can upload it and mark it as archived and disable notifications so you won't get spammed from it, but the code can still be useful for others to read and learn from.
The amount of scripting and rehearsal you must do to make these videos feel so casual and extemporaneous is incredible.
Pure genuineseness. He's saving me from lockdown madness.
If you'd used SVGs, it would have been a lot easier to check that they weren't too thin automatically using the stroke width property which is part of the SVG
Also, it's possible the PNGs would actually be bigger
Man, you thought of optimizing for colourblindness! That's so neat!
As a colourblind myself, I always feel left out of these things when colour are important. So when Matt said that he specifically searched for a colour palette that optimizes for colourblindness, I almost teared up!
10:12 "I don't round"
IEEE 754 floating point disagrees.
As the parent of a young person with Deuteranopia, I appreciate very much you taking color into account in your design. I used to run a game store, and there were so many games that would come in that had obviously not given any thought to that. So thank you.
I'd be interested in buying a set, too!
Matt, firstly, love your content in general, and this is another great video specifically! I'm not colorblind, but when you specifically mentioned how you had selected the color palette, I audibly (alone in my room) said, "Awwww!". You are truly one of the good ones out there! Most of the people I've met in this world are far less considerate to the people they directly interact with on a daily basis than you are for hypothetical people playing a(n) (practically, legally speaking, at this point) imaginary game. Never change, Matt Parker...
Amazing video! An interesting thing regarding copyright/licensing is that you allowed to copy any rules from a game, just not assets and copyrighted names. That means you can legally make an exact clone of Monopoly, you are just not allowed to use their assets and some words. Hence, in your case you would legally be allowed to make your clone as long as you use different icons from them. Disclaimer: I am not a lawyer, but I have read up on this.
The issue was never creating a competitive game, people do that all the time. The issue was with the image library he licensed.
@@Tahgtahv Ah yes, you are correct. I only picked that up at the end of the video.
13:08 - what Matt describes as "pickleing", is actually called "serializing" which means "taking thing from python, and saving it as raw bytes, so it can be stored and then put back into python things".
10:25 Done like a true software engineer 😂
True laziness is “A”+”B”, who has time to type out concatenate()
I know this is run once code so performance probably isn't important, but there's a bit of computer science/software engineering stuff that I need to nerd out about for a second. If performance was a goal, then it looks like your recolourize loop is inside out. Digital images are almost always row-major, which means each row of pixels is stored in a contiguous block, followed by the next row and the next. Sequential access of elements in an array is faster (that's an entire computer engineering topic that I won't go into), so we should try to access the "next" pixel in the image, which is the pixel to the immediate right or if we're on the last pixel of the row, the first pixel on the next row, which is usually one row below. Therefore, on the inner loop, you should be iterating over the columns (from 0 to width-1) and on the outer loop, you should be iterating over the rows (from 0 to height-1).
I now want a 2 metre high stack of mega dobble cards for Christmas
By the way, there is a term for the "Only need to work once, just need to be good enough". It is "Botching" something. And it is perfectly fine to do if done at the right situation. Demos for systems are often such a case
Thank you for thinking about colour blind people! You really took that extra step most people don't think of or don't bother. Kudos!
Love the fact that you picked a color set that was also accessible! great job!
Very impressive! The set you printed might not make for the most exciting mono-match, but the real challenge is to try to do a faro shuffle with these.
Faro
Thank you for making it colourblind friendly.
Matt, it’s almost May. Why is the tree still up? 😂
yea i was a bit surprised from how that havent lost all the leaves yet
@@DeenBoi yes all the leaves
Its prolly the lights 3d stuff he did - the programs work and its been calibrated so why take it down?
it's still march 2020 don't worry
What, don't you have a Spring Tree?
Love ya matt! That's a clever way to deal with the icons etc... But I assume they were SVGs? Next time take a look at svgs and just adjusting the "stroke thickness" :D
Edit: Oop ok they were svgs! Yeah they should definitely be significantly smaller of a file size as SVGs and you could easily write something to ensure stroke width is a certain thickness. Imagemagick should be able to batch convert them for ya too. Huge fan man
@MichaelKingsfordGray what
A person who openly owns/admits their mistake is a good person.
A person who learns from and teaches others about their mistake is a GREAT person.
Thank you Matt! Fantastic !!
Beat Mould to 10**6 (Steve is great too !!)
i love these channels - seeing the "parker X" in each video is so fun
you should have called them "Parker's Pentagons"
Surely a Parker Pentagon wouldn't have 5 straight equal sides 🤔
@@stevieinselby it would, but with random angles
*This game* would be so easy to lose your cards.
Matt beginning a video with "Hello and welcome to..." with a smile on his face is the best thing the world!!!
Matt, love the use of Excel for repetitive code "generation". I've used that technique a few times myself. Great example of using multiple tools to solve a problem. Elegance in diversity of tools!
The use of concat and replace-all to create your paste points was so close to home.
I was doing that recently with an Sql insert statement, like a boss.
I'd love to see the math of Set. I know that the manual for that claims some very small odds for not being able to have a set in 12 cards and 15 cards, but I wonder how you could go about verifying that.
Quadratic residues strike again!
The "manufacturing" issue why you get 55 cards 57 cards is mathematically cool. It's a similar kind of persistent width effect as railway gauge. (See www.trains.com/trn/train-basics/abcs-of-railroading/a-history-of-track-gauge.) TL;DR it's the rule of 11.
Card manufacturing companies like Carta Mundi have big expensive card-printing machines. A deck or a playset of collectable cards is essentially a rectangle. It's pretty easy to change the length of a rectangle, but changing the width of the rectangle is much more tricky. The default rectangle for conventional playing cards is 11x10, which will yield two decks. This gives two times 52 cards plus 2 jokers + 1 for luck. For Magic the Gathering, for many years, the cards were in playsets of 11x11 or sometimes 11x10. These days they have more complicated sorting etc, but nevertheless it illustrates the point. See Carta Mundi video at ruclips.net/video/ZDO9oAi6b7M/видео.html, where if you go through the video at .25 speed, you can clearly count two 11x10 rectangles emerging.
Now is it possible to have one of these dobble sets where you wouldn't be short-changed? I.e. where the right number is a multiple of 11? No, it isn't!
If you have n^2+n+1 cards (even if n is composite) then that can be rewritten as ((2n+1)^2 +3)/4. The quadratic residues mod 11 are 0,1,3,4,5,9, and if you add 3 and divide by 4 mod 11, you get 1,2,3,7,9,10. None of them is 0, so there's no way that you can manufacture a set for any n on one of these standard rule of 11 card-printing machines, without someone being short-changed!
Unlucky! :-)
Why are these cards 5 sided? Hexagons are the bestagons.
Plus they tile easier so less wasted paper if your printer is sufficiently big.
Best video I have watched in ages well done Matt
You're still using python 2?
There's nothing wrong with printing the first row... once you print the rest of it.
I just want to see someone shuffle the deck of 10000 cards. You might see if you can get a world record for the largest card game.
Throw them off a tall building and ask volunteers to pick them up. You might lose a few, bit the original game was never playing with a full deck anyway.
In that vein, if a full deck is ever printed they should be numbered.
I'm significantly colorblind, and I'm always so happy when someone takes the time to make something colorblind friendly!
Imagine this:
This Old Tony, Colin Furze, Smarter Every Day, Stuff Made Here, Integza, Mark Roper, Jermey Fielding, Matt Parker, Make Anything, Styropyro, NileRed, Teaching Tech, Tom Stanton, Veritasium, and 3D Printing Nerd (or more, or less) network and take on a real world problem, and solve it through crowdfunding and engineering solutions. A pyramid scheme, but for ideas and solutions.
They could reach out to their specific communities and crowdsource/delegate individual pieces of the overall project. The RUclips creators would be the project managers for their part of the solution, using each of their communities as resources.
In a matter of months, there could be thousands of makers, engineers, programmers, physicists, mathematicians, and chemists working in the same direction to solve a global human problem, instead of each of them doing siloed projects in no particular direction.
Baseballs breaking the sound barrier and calculating Pi with atoms is cool (really cool) but not really pushing humanity forward.
The beauty of this, is no single person needs to take on a huge amount of responsibility or dedicate huge amounts of time, other than a Google/RUclips rep that keeps tabs on the project as a whole.
A project like this would get global attention from everywhere, and create thousands and thousands of hours of RUclips content. Sponsors would be all over it.
Realistic ideas:
*A realistic automated recycling solution- The world’s current solutions for recycling has completely failed. To fix the problem, there needs to be solutions from sorting at home, to industrial sorting, to supply chain. Plastic testing/sorting. Cleaning and processing into raw materials that are actually ready to be used in industry.
*Home automation- affordable kits that can monitor use of electric, water, and natural gas/LP and manage each effectively.
*Climate change- look at what can be done to improve carbon emissions by individuals. Tiny changes to each of our daily lives can have large impacts. I’m sure there are engineered solutions that can make our lives more convenient, and lessen our carbon footprint.
*Affordable water purification- A lot has already been done in this area, but clearly there is still room for improvement.
*Affordable and fast housing- 3d printed houses are happening, what else could this group of RUclipsrs come up with?
*Home-based product manufacturing- home robots of various sizes that can perform various tasks. Some useful, some fun, some silly. Zero-point production isn’t just the future of energy, consumer products are heading that direction too.
*Efficient food/plant production- automated vertical vegetable gardens, grains, mushrooms, root starches, latex (rubber trees/plants).
If we all spent 100 hours spread across a couple years, we could solve these problems permanently. We just need some leadership to guide us and manage our efforts.
@Matt_Parker_2 Please go talk to your RUclips buddies and RUclips representatives to see if there’s any interest in this.
Sorry for the novel.
Honestly I would have been disappointed if he hadn't printed out all with the same icon
When I needed to do something similar to reading in the circle positions from the image, the way I did it was marking each spot with 1 red pixel and then having code that looped through every pixel and recorded the red ones. But maybe that's boring compared to inexplicably using a spreadsheet to calculate it?
You might enjoy looking into the board game Khet, the chess game with lasers. Idk if there is any math in there, but I'm sure you'll be able to find some lol
Matt, are going to sign the 101 cards you had printed, and sell them? I would buy one!
He said in the video he's not allowed to resell them due to the licensing of the icons, so he can only use them as props in the video
When you say "here" you remind everyone that you're from Australia. (I heard it's such a beautiful land down there. Some day I'll try to visit my cousin down there.)
Love the christmas tree in April, basicaly May Matt XD... I can only hope it is plastic and not live(now probably dead) one... /j /nice???(i guess)
This reminds me A LOT of Tom Scott's emoji keyboard, bodges everywhere, Its amazing.
"split it into fifths".
5 lines appear, splitting the pentagon into 10ths.
Dude, cheats like preformatting your json sub-arrays directly in Excel are not so much lazy as they are brilliant.
Could use Unicode as your symbols. From: Windings, Webdings, most Emoji, Manually chosen/censored Egyptian Hieroglyphs, Bamum Supplement, etc…
I did consider that. I thought maybe I could choose 10 different ‘types’ of Unicode alphabet and pull 1,000 from each so no one symbol type dominates.
Hardly any scripts in Unicode have 1000+ distinct symbols. You could however just use 10,303 Chinese characters, there are plenty of those ;)
@@hugobouma many are not that distinct, and those I mention do have hundreds of symbols.
@@alan2here I thought of an even more evil version: just use randomly-generated QR codes.
Hold on. You skipped over that colour bind bit too quickly. What is that all about? I am moderately red-green challenged and this sort of things has always caused me problems. I gather there is a partial solution. What is that?
I like how you record yourself in truly cinematic 48 fps
he turned his cards into a pickle...
Spot the Atom: Myriad Edition
This would be an excellent multiplayer Steam board game. I'm sure a crowd fund could be started to cover the resale license for the icons.
6:33 Great advert for using free alternatives right there.
Here's what you should do: have your Patrons send you a bunch of doodles and then choose some distinct ones to add to your game.
it is not a parker house, it is a parker home.
That game is called Spot It in the US.
Finally, the long sought after Parker pentagon!
Thanks for the Blankety Blank Super Match Game earworm!
15:05 regarding "no easy way to get the cyclic difference group"
It sounds awful similar to MPMP: Unique Distancing Problem. From what I recall, the searches there are incredibly self pruning. Maybe not enough to be feasible, but enough to have a second look at it.
Quick Excel trick that can save you the find and replace work in a text editor at 10:30 is to use the TEXTJOIN function to combine cells H46:H146 into a single cell. You can also include the delimiter in the TEXTJOIN function itself, rather than building the delimiter into the CONCATENATE function.
Quick Excel trick: you can learn a scripting language, and you'll never have to figure out how to do something in Excel again
@@davidgustavsson4000 I think of Excel as a program that was built to do things it wasn't built to do, so for me half the fun is figuring it out :)
@@MarbleComa to me it's a program that wasn't built to do the things it was built to do.
The cards are nice, but christmas tree in April is a true rarity.
If you do want a chance to be able to print a full set of dobble cards on a single sheet or set of sheets without paper wastage, then all primes dividing the width of the printer need to be 3 itself or any which is 1 mod 6. So 7, 13, 19, etc... 11 the standard gauge is no good.
Matt, it's like 3am where you are and you're responding to comments! Please get some sleep - the comments will be here for you in the morning!
Iterating pixels one by one with WHILE loop in python is the worst insult ever to numpy 😂😂
Python 2 single use code :”)
Ah, so changing your Matt size is how you got to have a cubit size of exactly 0.5 meters...
Too bad about the copyright issues. If you put these on github, I'm sure someone could make a nice digital (maybe even just online) version of the game.
That comment involving the lazy bracket/auto-replace technique … I've done that before. :)
I'd have looped through the pixels of that layout image and picked out all the pixel coordinates for Pixels with the center marker colour. And probably used csv or excel files to store all the data. Maybe something for a satisfying V2?
A generator you could share for everyone to make their own Version of the game
Edit:
Also, what about using a variety 100% free Icon fonts to get the icons you need?
WHOO SPOT THE HAPPY LITTLE HOUSE TIME!!!
I love Matt, “Where’s my spreadsheet?”
"all of this, single use code, not meant to be read ever again, maybe not by me ever again"
=> 40 years and on and some government it person is debugging an issue with some form generating code and digs through the documentation for a weird library that's included
"That would have fixed my problem. I did not do that." lol
Presumably you only need to print one extra card that isn't in the happy house set and you can still play the game? All be it with one of the cards always being the new extra card
Albeit
10:25 Formatting your spreadsheet so you can copy/paste directly into a text file isn't lazy, it's smart. I've done it more than a few times.
My thought on the first Video: well, that's somewhat ridiculous, but not really
My thought after viewing this: Ok, that's really ridiculous
Colourer script, line 30: Are you sure you're using all your carefully selected colours?
I hope that huge try block was a way of avoiding to debug and just going to next symbol or something. I can only imagine the pain Matt endured if he actually had to debug the code in there.
Yep. It only had to work often enough. Working “all the time” is overrated.
@@mattparker2 Nice! Glad to hear
Matt: Big fan of Photoshop
Photoshop: *breaks*
Must be the universe telling you to use Clip Studio or something better
The Parker pentagon.
It was great that we got to see the code as well as a mini-Matt
I'm unsure, but does he have a GitHub?
Matt really needs to learn about the range() built-in.
It was only seeing the Dobble card in this video that I found out Asmodee partnered with Great Ormond Street Hospital on a charity branded version!
Cranking up the Dobble system was a genius idea. Maybe you could be using simple letters (including greek, cyrillic, hebrew and arabic) to solve the copyright problem? Could you extract unicode code points as pictures? The Mainz design university printed out a poster with unicode characters: shop.designinmainz.de/produkt/decodeunicode-basic-multilingual-plane-bmp-map/
"Other free versions are available."
Why do I understand that reference even though I am not British? Thanks to Evan Edinger, that's why :D
Parker Squar now Parker Myriad 🤣
Matt, would you consider making a subset of these available digitally? (or generating code for them) you could conceivably implement this in tabletop simulator and play with friends! I have not yet dipped my toes into implementing things in tabletop simulator, but I would be willing to learn and implement your 10303 cards if I had them to build off of!
Didn't want a manual check.
Considering how simple geometry (like four L's meeting at right angles) can carry a completely different meaning in society, it is just as well that you have a curated source.
Yep. The options are either manual check or curated source. (Or something I generate from scratch myself.)
Nice look for the code editor. Could you tell us which one it is ? Thanks. And thanks for making a great video; just subbed to this 2nd channel.
I would have done it exactly the same way. Using the photoshop for mocking and quick doodle in spreadsheet for the coordinates.
It could have been done all in python, but the effort would be too much.
We need to make this happen. Crowd source some symbols!
He.. he explained in video, exactly why he doesn't want to do that