THIS IS THE TEST SITE OF EUROBRICKS!
-
Reverse Engineering Lego Super Mario
Awesome! Thanks a lot! Can you quickly confirm that these are the correct colors?
-
Reverse Engineering Lego Super Mario
Okay, after fiddling around for a bit and looking at some basic facts: Colors don't repeat There are at least 8 colors There appears to be no checksum as a change of 1 changes only one column Only three columns actually hold data (the other two are always the same) I tried some basic encoding math and ended up with something that works. The colors have an inherent order needed for encoding, the order is as follows: Blue Pink Yellow Purple Cyan Lime Now, the trick here is, it's actually one color more than that, there's a (as of now) secret color between Pink and Yellow. I can't say what it is, but as soon as you assume 7 data colors, everything makes sense. Decoding works like this: Take the three data stripes (green and red are some sort of header or unused bytes or something), then take a look at the color list and pick the first appearing color from your data. Example: Bob-Omb has colors: (Green, Red), Blue, Yellow, Cyan So now, look up the "value" of the first color (Blue), it ends up as 0 as it's the first color of our list. As we used up the blue color, all the other color values shift by one. The second color is Yellow, it used to have a value of 3 as it's the fourth color, however, due to Blue being removed, its value is now 2. Last color is Cyan, which originally had a value of 5, but now due to shifting sits at 3. That gives us overall 3 numbers for our stripes, 0(a), 2(b) and 3(c). The final step is a specific formula to convert these values into the actual ID of the tag: ID = 30a + 5b + c + 1 In our case: 30 x 0 + 5 x 2 + 1 x 3 + 1 = 14
-
Super Mario 2020 - Rumors & Discussion
Hm, interesting. Did you pay specific attention to sizing of the recreated tag? What about color accuracy? My own scan of the tags ended up really bad... If those two look OK, I'd try laminating the result maybe... I created a dedicated thread about the topic here: https://www.eurobricks.com/forum/index.php?/forums/topic/179464-reverse-engineering-lego-super-mario/
-
Reverse Engineering Lego Super Mario
Hey all, I started looking into reverse engineering the Super Mario products and would like to start a discussion about the topic. As was brought up before, Mario uses the known Lego BLE protocol to communicate, so it's not really difficult to make that happen. My own implementation can talk with Mario and get the following info so far: Game state changes Idle Game started Goal reached Time running out (15s left) Time up End-screen no longer visible (or something like that, happens 9s after Time Up/Goal reached) Coin counts (Mario apparently has several different coin counters for different things) Regular enemies Double Jump enemies Multi-jump/boss Walking Flying/Cloud Turntable ?-Box Time Bonus Pants-Type Scanned Tag Current surface type he's on Interestingly enough, it appears that Mario doesn't notify me about special events like stars, mushrooms, etc. Does the official app display anything when you happen to get a star? Now I'm looking into the barcodes. They consist of 5 colored stripes that repeat a bunch of times. There are (from what I can see so far) 8 colors (Red, Green, Blue, Yellow, Pink, Purple, Light Green, Light Blue). So far, all my tags start with Red and Green, the remaining 3 stripes are different. Here's a list of what I have so far: Maybe you guys can share some other tags you already own, the goal of course is to find a pattern and decode them or even generate new tags. At this point it's not known to me if Mario can recognize unknown but well formed tags and pass them via the BLE connection or if he will refuse to read them altogether. The Internal ID columns represent what numbers Mario will send via BLE when the given tag is scanned, I suppose there is some connection between the color pattern and the number, but that's not a given a this point. So yea, I was hoping to get some discussion going, trying to get some secrets out of him :) Bonus footage, a little video of the data being sent by Mario, not overly exciting, but you can kind understand how it works... (Warning, quite technical) https://www.dropbox.com/s/fy8nfec3vxofk1n/2020-08-03_18-38-24.mp4?dl=0
-
Super Mario 2020 - Rumors & Discussion
So, bought my Starter Pack and two blind backs at a local store here in Germany today, they had it on offer for 39.99€ which makes for a nice 34% discount... I mostly bought it for reverse engineering and tinkering around, connection to PC/my own app works fine, the whole BLE platform from LEGO works really nicely :) Is anyone else interested in working on the barcodes? Decoding them, trying to create new ones etc etc?
Sponsored Links