1. Announcing Mekorama on the Web!

    Now anyone can play levels from the forum online, with one click!

    Dismiss Notice
  2. Psst! If you're new here, welcome! Please visit these pages first for information about the forum and Mekorama:

    Welcome! ¡Bienvenido! Selamat datang! Добро пожаловать! Willkommen!
    and
    Everything you want to know about Mekorama

    Dismiss Notice

Help - Other QR code - Can it be reverse engineered?

Discussion in 'General (Issues, Help, Discussions)' started by QuantumForce, Oct 19, 2016.

  1. QuantumForce

    QuantumForce Active Member

    Messages:
    37
    Levels:
    3
    Albums:
    1
    Likes Received:
    113
    Joined:
    Oct 19, 2016
    Level Rotation!

    All blocks_Rotated 90.png
    All blocks_Rotated 180.png
    All blocks_Rotated 270.png

    Let me know if anyone spots an error.
     
    TR O, cpw and Gepeto like this.
  2. Gepeto

    Gepeto MekoStudio Architect Staff Member

    Messages:
    453
    Levels:
    48
    Albums:
    1
    Likes Received:
    2,504
    Joined:
    Jul 7, 2016
    @QuantumForce Wow! You did it ! That's wonderful. Thanks for the great pictures. Not on this for now but I am looking forward to be in front of my computer :)
     
  3. Gepeto

    Gepeto MekoStudio Architect Staff Member

    Messages:
    453
    Levels:
    48
    Albums:
    1
    Likes Received:
    2,504
    Joined:
    Jul 7, 2016
    For the hex and decimal data type, yes that's a bit confusing to me as I only work with a string representation of the hex to concatenate everything at the end and convert the whole to hex data. But I am aware of that now so I'll be more careful.
     
  4. Gepeto

    Gepeto MekoStudio Architect Staff Member

    Messages:
    453
    Levels:
    48
    Albums:
    1
    Likes Received:
    2,504
    Joined:
    Jul 7, 2016
    Did you changed that value from 0x05 to 0x0c by the time? I really thought I've red 5. I should think to have a rest :confused:
    What's strange is that 0x05 have a result: a kind of up/down orientation with rotation. We'll... Maybe I missed something and should think to be more serious and organized now. :rolleyes:
     
  5. nGord

    nGord Standby Administrator, Retired Moderator Staff Member

    Messages:
    608
    Levels:
    7
    Albums:
    4
    Likes Received:
    2,827
    Joined:
    Jul 21, 2016
    Wonderful job! In response to your request, I seem to see some irregularities, but it could just be poor angles or the level of detail on my display. Notably the metal block and ball seem to be out of place in the 180 rotation. The row of rails closest to the stone wedges along with the zapper and win seem to be off by one place as well. Weirdly, the first two rows of metal half pillars (closest to the stone wedges) seem to be of different orientations between the three rotations. Is this just me?
     
    QuantumForce likes this.
  6. LarsH

    LarsH New Member

    Messages:
    7
    Levels:
    2
    Albums:
    2
    Likes Received:
    20
    Joined:
    Oct 25, 2016
    Hi guys, I just found your thread. I have also reversed the protocol on my own.

    Have you noticed that there are a few hidden tiles? Like the wheel, trashcan and golden ball? Will post an example! =)
     
    QuantumForce likes this.
  7. Gepeto

    Gepeto MekoStudio Architect Staff Member

    Messages:
    453
    Levels:
    48
    Albums:
    1
    Likes Received:
    2,504
    Joined:
    Jul 7, 2016
    Welcome @LarsH ;)
    Thanks to share that! It's a wonderful news. Here is your attachment link. But this shouldn't be shared among the level section... :( Only here please.
     
  8. LarsH

    LarsH New Member

    Messages:
    7
    Levels:
    2
    Albums:
    2
    Likes Received:
    20
    Joined:
    Oct 25, 2016
    Ok! I moved the level to a new album only visible for me. Your link should still work!
     
    Last edited: Oct 29, 2016
    Gepeto likes this.
  9. Frenzies

    Frenzies Administrator Staff Member

    Messages:
    355
    Levels:
    18
    Albums:
    5
    Likes Received:
    1,215
    Joined:
    Jun 15, 2016
    Wow! You guys are awesome.

    @LarsH Welcome to the forums! Unfortunately, the link you provided leads to a private album, so we can't see the level. You can use the upload a file option to upload it from your device. By the way, I think the "trashcan" block is just the delete button in the editor glitched into a block :confused:

    Other blocks seem to be a draggable cylinder, a free moving pillar (I don't really know what's with that), a desert block (the bug would be obsolete), a desert ramp, a win with no star, metal stairs, and a weird looking metal cube. Also, B doesn't get zapped in the level :eek:. Are you sure that some of these aren't just mixups in the data or code of the other blocks (like the draggable code mixed with a pillar)? Also, what's with the golden ball? Does it go to the direction of the moving pillar? Either way, it's awesome.
     
    Last edited: Oct 29, 2016
    QuantumForce likes this.
  10. LarsH

    LarsH New Member

    Messages:
    7
    Levels:
    2
    Albums:
    2
    Likes Received:
    20
    Joined:
    Oct 25, 2016
    Ok, here is the level again - now attached. =)

    Also, here is the list of tiles that I found out:
    Code:
    '''
    The keys in the dictionary are the tile character used for coding.
    The values are tuples of
        description as a string
        the number of extra bytes as an integer
        the representation of the tile for printing, as a single character
    '''
    tiles = {
        '\x00' : ('Empty',0, ' '),
        '\x01' : ('Stone',0, '#'),
        '\x02' : ('Brick Red',0, 'X'),
        '\x03' : ('Cracked stone*',0, '#'),
        '\x04' : ('Win',0, 'W'),
        '\x05' : ('Stairs',1,'s'),
        '\x06' : ('Trash*', 0, 't'),
        '\x07' : ('Stone Wedge', 1, '/'),
        '\x08' : ('Grass Wedge*', 1, '/'),
        '\x09' : ('Golden ball*', 0, '*'),
        '\x0a' : ('Metal Win*', 1, 'W'),
        '\x0b' : ('Water', 0, '~'),
        '\x0c' : ('Grass',0, '#'),
        '\x0d' : ('Brick Pillar*',0, 'X'),
        '\x0e' : ('Stone corner*',1, '#'),
        '\x0f' : ('Robot Tap to Walk', 1, 'B'),
        '\x10' : ('Zapper',1, 'Z'),
        '\x11' : ('Draggable', 0, 'd'),
        '\x12' : ('Yellow bricks', 0, 'X'),
        '\x13' : ('Wheel*', 1, 'o'),
        '\x14' : ('Metal Stairs*', 1, '/'),
        '\x15' : ('Metal Corner*', 1, '+'),
        '\x16' : ('Motor', 1, 'm'),
        '\x17' : ('Metal box*', 0, '+'),
        '\x18' : ('Alternative stone*', 0, '#'),
        '\x19' : ('Metal', 0, '+'),
        '\x1a' : ('Robot Turns Right', 1, 'R'),
        '\x1b' : ('Eye',0, '0'),
        #'\x1c' : ('Unknown? Behaves strange...',0),
        '\x1d' : ('Alterative stone?',1, '#'),
        '\x1e' : ('Slider Corner',1, 'j'),
        '\x1f' : ('Alternative stone pillar*',1,'#'),
        '\x20' : ('Metal Half Pillar', 1, '+'),
        '\x21' : ('Slider Rail', 1, '|'),
        '\x22' : ('Shiny Metal Half Pillar*', 1, '+'),
        '\x23' : ('Stone Pillar', 1, '#'),
        '\x24' : ('Draggable Pillar*', 1, 'd'),
        '\x25' : ('Ball', 0, '*'),
        '\x26' : ('Shiny Metal?*', 0, '+'),
        '\x27' : ('Metal Pillar', 1, '+'),
        '\x29' : ('Slider', 1, '='),
        '\x2b' : ('Fence', 1, '_')
        }
    
     

    Attached Files:

    Mekob_123, ArGee, TR O and 5 others like this.
  11. Gepeto

    Gepeto MekoStudio Architect Staff Member

    Messages:
    453
    Levels:
    48
    Albums:
    1
    Likes Received:
    2,504
    Joined:
    Jul 7, 2016
    Haha :D Until 0xff maybe can we find a lot of other new blocks. :eek: Good job @LarsH !
     
  12. Frenzies

    Frenzies Administrator Staff Member

    Messages:
    355
    Levels:
    18
    Albums:
    5
    Likes Received:
    1,215
    Joined:
    Jun 15, 2016
    Niiiice. Where is the yellow brick? Is it the grass block with no grass? This is a breakthrough
     
  13. LarsH

    LarsH New Member

    Messages:
    7
    Levels:
    2
    Albums:
    2
    Likes Received:
    20
    Joined:
    Oct 25, 2016
    I tried more values as well, but the app does not like values higher than 0x30. The last blocks are all brown metal boxes, I did not include those duplicates.

    I'm still confused about the 0x1c tile. It does strange things to tiles around it (removes them?)
     
    sawdust likes this.
  14. Frenzies

    Frenzies Administrator Staff Member

    Messages:
    355
    Levels:
    18
    Albums:
    5
    Likes Received:
    1,215
    Joined:
    Jun 15, 2016
    Are you talking about the pillar the ball went to?
     
  15. LarsH

    LarsH New Member

    Messages:
    7
    Levels:
    2
    Albums:
    2
    Likes Received:
    20
    Joined:
    Oct 25, 2016
    No, the \x1c tile is just strange. I tried to create an example, but Mekorama complains about corrupted data. I'll just leave that as a note here for when other people starts looking into what new tiles there might be.
     
  16. LarsH

    LarsH New Member

    Messages:
    7
    Levels:
    2
    Albums:
    2
    Likes Received:
    20
    Joined:
    Oct 25, 2016
    I uploaded all code I wrote here: https://github.com/LarsH/MekoramaQRdecoder

    Not proud of it (ESPECIALLY not the compression/decompression part) but it sort of works. Hope it helps you other guys out. =)

    If you can read Swedish (Hej Martin, underbart spel du gjort!), there is also my worklog of how I approached the code and my reversing efforts.
     
    QuantumForce and Gepeto like this.
  17. sawdust

    sawdust Retired Moderator

    Messages:
    149
    Levels:
    83
    Albums:
    4
    Likes Received:
    771
    Joined:
    Jun 8, 2016
    Oh man! I've wished for metal stairs at least a dozen times! I wonder what the mechanics of the wheel are. The cylindrical draggable would be very welcome in compact maze type puzzles where adjacent draggables should not move simultaneously.
     
  18. LarsH

    LarsH New Member

    Messages:
    7
    Levels:
    2
    Albums:
    2
    Likes Received:
    20
    Joined:
    Oct 25, 2016
    Here, try both the metal stairs and the wheels! The wheels seems to work only when the metal is movable, they fall of otherwise.

    Code:
    def createCar():
        level = []
        for i in range(0x1000):
            level += [ '\x00' ]
    
        def f(x,y,z,val):
            level[x*16*16+y+z*16] = val
        f(7-5,8,0,'\x19')
        f(8-5,8,0,'\x19')
        f(9-5,8,0,'\x19')
        f(8-5,8,1,'\x14\x00')
    
        f(7-5,9,0,'\x16\x03')
        f(9-5,9,0,'\x13\x00')
    
        f(7-5,7,0,'\x13\x02')
        f(9-5,7,0,'\x13\x02')
    
        f(7,8,0,'\x19')
        f(8,8,0,'\x19')
        f(9,8,0,'\x11')
        f(8,8,1,'\x14\x00')
    
        f(7,9,0,'\x13\x00')
        f(9,9,0,'\x13\x00')
    
        f(7,7,0,'\x13\x02')
        f(9,7,0,'\x13\x02')
    
        createQR('Cars', 'LarsH',level)
     

    Attached Files:

    • cars.png
      cars.png
      File size:
      92.5 KB
      Views:
      215
  19. cpw

    cpw Retired Moderator

    Messages:
    236
    Levels:
    65
    Albums:
    4
    Likes Received:
    880
    Joined:
    Jun 5, 2016
    This thread is opening up so many possibilities :D I wonder if these are in fact hidden by @Martin Magni should there be an update. I love all the hidden block shapes -- not just for potential new tricks but also for aesthetic reasons. It always bugs me when I have to create convoluted pathways using stone pillars and staircases, and they end up looking like a whole mess with grey patches everywhere :rolleyes: Having grass wedges would surely help camouflage many mechanisms as well. And......metal stairs would be really useful in @richardfu_ 's Limbo too. :D

    And the wheel definitely has tons of applications! I'm sure it'll be popular if it ever makes its way into an update.
     
    TR O likes this.
  20. cpw

    cpw Retired Moderator

    Messages:
    236
    Levels:
    65
    Albums:
    4
    Likes Received:
    880
    Joined:
    Jun 5, 2016
    It appears that the Win without stars would turn green when B is on it, but turns back to red when he leaves. This looks like some kind of "checkpoint" that doesn't finish the level right away, but a marker that indicates where the player should go step-by-step :rolleyes:

    The adjacent cylinder also turns brick red when B is next to it. Probably a glitch for a block that hasn't been finalized :confused:

    As for the golden ball......Looks like it would always move towards the same direction automatically. Not sure if it's intended to be contained and released by a trigger, so as to hit something in its trajectory. I wonder what might happen if a free motor is attached onto it :D As seen in @retrograde 's levels, a normal ball would rotate if attached to a motor.
    [​IMG]
     
    QuantumForce likes this.

Share This Page