Everyone loves a good visualisation, share any visualisations that you have created here.

  • Strlcpy@1@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    6
    ·
    edit-2
    7 days ago

    In 16-bit real mode assembly, as a hybrid DOS .COM program and BIOS-bootable disk image. With bonus palette animations! I had the hybrid thing going on before (see the repo), but this is the first time getting something animated.

    Repo | day07.com (12 KB) | full video

      • Strlcpy@1@lemmy.sdf.org
        link
        fedilink
        English
        arrow-up
        2
        ·
        6 days ago

        Well it uses the input of course but I found that if you make it truly random, the lines mostly go down in a straight line, all bunching up in the middle, which isn’t very pleasing. So now the beams have a “current direction” which has a 25% of flipping at every splitter

        • CameronDev@programming.devOPM
          link
          fedilink
          arrow-up
          1
          ·
          6 days ago

          I used a u8, one bit per level to do mine, but because not all bits correspond to a splitter, it ends up duplicating a lot of the paths. Which is why I made the lowest bit at the top, so it flip-flops a lot, giving the appearance of multiple different paths :D

          • Strlcpy@1@lemmy.sdf.org
            link
            fedilink
            English
            arrow-up
            2
            ·
            edit-2
            6 days ago

            If I understand correctly, your visualization shows up to to 256 unique paths then?

            In this one, every time the beam passes a splitter, the other side is put on a queue, so eventually all possible paths are traced, breadth first. Initially I worked through the options recursively, but that depth-first filling out was boring to look at.

            • CameronDev@programming.devOPM
              link
              fedilink
              arrow-up
              1
              ·
              6 days ago

              Yeah, max of 256 paths, and if there were no holes in the splitter layout, it would be the full 256. Also why i had to limit the depth to 16 layers, more than that and the brute forcing gets a bit silly.