ASCII Clouds

(caidan.dev)

119 points | by majkinetor 4 hours ago

18 comments

  • ku1ik 3 minutes ago
    It has very little to do with ASCII but cool nonetheless.
  • greggman65 3 hours ago
  • ksymph 2 hours ago
    This is cool... But I feel like having different color/brightness for each symbol kinda defeats the purpose of it being ASCII when the symbols only correspond to different intensities anyway.
    • Bimos 1 hour ago
      Yeah, with all these colors, any single character should be enough.
  • yanchep 20 minutes ago
    Trippy!

      browsh https://caidan.dev/portfolio/ascii_clouds/
  • kristopolous 2 hours ago
    I had a similar effect for a C program I wrote a long time ago (I think 2007?). Here's a video: https://www.youtube.com/watch?v=H4j-BkwMB20

    and the code: https://github.com/kristopolous/ascsee

    I just updated it so it compiles on modern systems.

    I also found the original version if you like being an archaeologist: https://9ol.es/tmp/gol.c

  • matthew_hre 3 hours ago
    Spent longer than I'd like to admit trying to recreate the Balatro background effect...
  • ynac 2 hours ago
    Just throwing a HELL YES <with a kung fu punch> out there for this. Nice work. I've been trying to integrate a live ascii video feature for a while now and the subtle detail on this is really inspiring.
  • firecall 4 hours ago
    Well thats pretty cool!
  • burnt-resistor 43 minutes ago
    Neat. It'd be more "ASCII" if it used 8x16 pixel (but right extended to 9x16) characters in 80:133 width:height aspect ratio since 80x25 characters at 720x400 on 4:3 results in 80:133 pixels. An arbitrary sized canvas is cool so long as the aspect ratio is preserved.

    The infamous MCGA/"VGA" mode 13h had pixels with an aspect ratio 6:5, while 320 x 240 Mode X was square (1:1).

    I still remember the unchained offset calculation for the memory offset for pixel memory access before the era of U and V pipes and many optimizing compiler passes:

        unsigned short offset = (((y << 2) + y) << 6) + x;
        unsigned char far *ptr = (unsigned char far*)MK_FP(0xA000, offset);
    
    In real-mode (linear): 0xa0000 + (320 * y) + x
  • arionmiles 44 minutes ago
    Dope!
  • casparvitch 4 hours ago
    Would love this as an audio visualizer
  • imvetri 1 hour ago
    What is this?
  • functionmouse 4 hours ago
    What do you see in the clouds?
  • baalimago 1 hour ago
    Here I'm being ridiculous but I was a bit disappointed that it was a canvas rendering and not a mono-font text block
  • tomiezhang 1 hour ago
    That is magic
  • imdsm 4 hours ago
    that looks pretty good
  • Padriac 4 hours ago
    I don't understand.
    • keyle 3 hours ago
      I think it's just a technological show piece, basically built on top of open source libraries and a couple of algorithms.
      • imvetri 59 minutes ago
        Lets let author explain. Our explanation might derail newbie readers
    • imvetri 1 hour ago
      Same here
  • r0075h3ll 1 hour ago
    nicee