..

Long Live ASCII Art

I came of age on The Internet at a time when images and the web went hand-in-hand. The proliferation of the animated GIF in the personal web page scene was an aesthetic that defines the web in the time of Y2K (and one that I used to great effect on my own Geocities sites), but there is an artistic format that predates that time that I am particular fond of: ASCII Art.

You see, even though I grew up with The World Wide Web, the technology that truly inspired my love for computers was the Multi-User Dungeon (MUD). For the uninitiated, MUDs were the precursor to modern MMORPGs like World of Warcraft. A text-only protocol, these games ran on pure imagination, and were the reason I became both a programmer and a writer.

WTF Is ASCII Art?

But just because we were limited to text doesn't mean that there wasn't any opportunity for art beyond words. ASCII art is the creation of "graphical" artwork using only characters from the 1963 ASCII Standards table (and is not to be confused with ANSI art, which is far too fancy for my tastes).

Put another way, ASCII art is to images what emoticons are to emojis. That is to say, it's clearly superior. Here's an example of one such amazing piece of art:

         _nnnn_
        dGGGGMMb
       @p~qp~~qMb
       M|@||@) M|
       @,----.JM|
      JS^\__/  qKL
     dZP        qKRb
    dZP          qKKb
   fZP            SMMb
   HZM            MMMM
   FqM            MMMM
 __| ".        |\dS"qML
 |    `.       | `' \Zq
_)      \.___.,|     .'
\____   )MMMMMP|   .'
     `-'       `--' hjm

ASCII Art's Greatest Hits

Like MUDs, ASCII art isn't dead, but it's not exactly young anymore. So, as a sort of Ode to ASCII Art, I thought I'd retrieve some of my favorite pieces from history (which, for the record, I've recovered from The ASCII Art Archive):

The Coolest Dragon Ever

I was first exposed to ASCII art through fantasy-themed MUDs, so it shouldn't come as much of a surprise that I'm a sucker for a sweet dragon:

                                        ..
                                     ,o""""o
                                  ,o$"     o
                               ,o$$$
                             ,o$$$'
                           ,o$"o$'
                         ,o$$"$"'
                      ,o$"$o"$"'
                   ,oo$"$"$"$"$$`                      ,oooo$$$$$$$$oooooo.
                ,o$$$"$"$"$"$"$"o$`..             ,$o$"$$"$"'            `oo.o
             ,oo$$$o"$"$"$"$  $"$$$"$`o        ,o$$"o$$$o$'                 `o
          ,o$"$"$o$"$"$"$  $"$$o$$o $$o`o   ,$$$$$o$"$$o'                    $
        ,o"$$"'  `$"$o$" o$o$o"  $$$o$o$oo"$$$o$"$$"$o"'                     $
     ,o$"'        `"$ "$$o$$" $"$o$o$$"$o$$o$o$o"$"$"`""o                   '
   ,o$'          o$ `"$"$o "$o$$o$$$"$$$o"$o$$o"$$$    `$$
  ,o'           (     `" o$"$o"$o$$$"$o$"$"$o$"$$"$ooo|  ``
 $"$             `    (   `"o$$"$o$o$$ "o$o"   $o$o"$"$    )
(  `                   `    `o$"$$o$" "o$$     "o /|"$o"
 `                           `$o$$$$"" o$      "o$\|"$o'
       Art By                 `$o"$"$ $ "       `"$"$o$
       -darren rion hall-      "$$"$$ "oo         ,$""$
                               $"$o$$""o"          ,o$"$
                               $$"$$"$ "o           `,",
                     ,oo$oo$$$$$$"$o$$$ ""o
                  ,o$$"o"o$o$$o$$$"$o$$oo"oo
                ,$"oo"$$$$o$$$$"$$$o"o$o"o"$o o
               ,$$$""$$o$,      `$$$$"$$$o""$o $o
               $o$o$"$,          `$o$"$o$o"$$o$ $$o
              $$$o"o$$           ,$$$$o$$o"$"$$ $o$$oo      ,
              "$o$$$ $`.        ,"$$o$"o$""$$$$ `"$o$$oo    `o
              `$o$o$"$o$o`.  ,.$$"$o$$"$$"o$$$$   `$o$$ooo    $$ooooooo
                `$o$"$o"$"$$"$$"$"$$o$$o"$$o"        `"$o$o            `"o
                   `$$"$"$o$$o$"$$"$ $$$  $ "           `$"$o            `o
                      `$$"o$o"$o"$o$ "  o $$$o            `$$"o          ,$
                         (" ""$"""     o"" "o$o             `$$ooo     ,o$$
                              $$"""o   (   "$o$$$"o            `$o$$$o$"$'
                                ) ) )           )  ) )            ` "'

A Beautiful Beige Box

Alright, so it's not exactly beige, but if you imagine it in your mind's eye, is there really any other color it could be?

                       .,,uod8B8bou,,.
              ..,uod8BBBBBBBBBBBBBBBBRPFT?l!i:.
         ,=m8BBBBBBBBBBBBBBBRPFT?!||||||||||||||
         !...:!TVBBBRPFT||||||||||!!^^""'   ||||
         !.......:!?|||||!!^^""'            ||||
         !.........||||                     ||||
         !.........||||  ##                 ||||
         !.........||||                     ||||
         !.........||||                     ||||
         !.........||||                     ||||
         !.........||||                     ||||
         `.........||||                    ,||||
          .;.......||||               _.-!!|||||
   .,uodWBBBBb.....||||       _.-!!|||||||||!:'
!YBBBBBBBBBBBBBBb..!|||:..-!!|||||||!iof68BBBBBb....
!..YBBBBBBBBBBBBBBb!!||||||||!iof68BBBBBBRPFT?!::   `.
!....YBBBBBBBBBBBBBBbaaitf68BBBBBBRPFT?!:::::::::     `.
!......YBBBBBBBBBBBBBBBBBBBRPFT?!::::::;:!^"`;:::       `.
!........YBBBBBBBBBBRPFT?!::::::::::^''...::::::;         iBBbo.
`..........YBRPFT?!::::::::::::::::::::::::;iof68bo.      WBBBBbo.
  `..........:::::::::::::::::::::::;iof688888888888b.     `YBBBP^'
    `........::::::::::::::::;iof688888888888888888888b.     `
      `......:::::::::;iof688888888888888888888888888888b.
        `....:::;iof688888888888888888888888888888888899fT!
          `..::!8888888888888888888888888888888899fT|!^"'
            `' !!988888888888888888888888899fT|!^"'
                `!!8888888888888888899fT|!^"'
                  `!988888888899fT|!^"'
                    `!9899fT|!^"'
                      `!^"'

Making Money

I mean, this is so realistic it's practically counterfeiting.

||====================================================================||
||//$\\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\//$\\||
||(100)==================| FEDERAL RESERVE NOTE |================(100)||
||\\$//        ~         '------========--------'                \\$//||
||<< /        /$\              // ____ \\                         \ >>||
||>>|  12    //L\\            // ///..) \\         L38036133B   12 |<<||
||<<|        \\ //           || <||  >\  ||                        |>>||
||>>|         \$/            ||  $$ --/  ||        One Hundred     |<<||
||<<|      L38036133B        *\\  |\_/  //* series                 |>>||
||>>|  12                     *\\/___\_//*   1989                  |<<||
||<<\      Treasurer     ______/Franklin\________     Secretary 12 />>||
||//$\                 ~|UNITED STATES OF AMERICA|~               /$\\||
||(100)===================  ONE HUNDRED DOLLARS =================(100)||
||\\$//\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\\$//||
||====================================================================||

Back to Nature

Honestly, why do we even have 4k? This is all of nature's splendor I need.

    .                  .-.    .  _   *     _   .
           *          /   \     ((       _/ \       *    .
         _    .   .--'\/\_ \     `      /    \  *    ___
     *  / \_    _/ ^      \/\'__        /\/\  /\  __/   \ *
       /    \  /    .'   _/  /  \  *' /    \/  \/ .`'\_/\   .
  .   /\/\  /\/ :' __  ^/  ^/    `--./.'  ^  `-.\ _    _:\ _
     /    \/  \  _/  \-' __/.' ^ _   \_   .'\   _/ \ .  __/ \
   /\  .-   `. \/     \ / -.   _/ \ -. `_/   \ /    `._/  ^  \
  /  `-.__ ^   / .-'.--'    . /    `--./ .-'  `-.  `-. `.  -  `.
@/        `.  / /      `-.   /  .-'   / .   .'   \    \  \  .-  \%
@&8jgs@@%% @)&@&(88&@.-_=_-=_-=_-=_-=_.8@% &@&&8(8%@%8)(8@%8 8%@)%
@88:::&(&8&&8:::::%&`.~-_~~-~~_~-~_~-~~=.'@(&%::::%@8&8)::&#@8::::
`::::::8%@@%:::::@%&8:`.=~~-.~~-.~~=..~'8::::::::&@8:::::&8:::::'
 `::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.'

Make Your Own ASCII Art

You may be wondering, short of typing every character by hand, how exactly do you make ASCII art? Well, thanks to my obsession with text-based mediums, I have done my fair share of experimenting with this over the last few decades, and there are a few cool resources I've stumbled across.

Images

Convertcase.net has a pretty solid image-to-ascii converter that you can use. As an example, here's the typewriter from my post Get A Typewriter. Write a Friend. converted into ASCII art.

+=+*=+*=*=+*=*+**+*+*#*+##@%%%%%%#%###+**+**#**##*#++++=-**+-=-=---::-.:::::::::
=:=-==++==+:++*+====**++*******##****+*-=-*--+=---=-==--+:--:--:-:::::::::::::::
++====++*-+:-::+*#********+++++***+*=+==*+*+=-+-+=-++=*-:++-+--=:-=+::::::::::::
:--:--:=--:--%%-*#********+*+=*++++*++-++**=#*++=++++*=+=++-==+=:+*%::::::::::::
+==*+=+==+==:-:-#%%#%%%%##%%%%%%%#%%@%%%%%@%%@#%%%%%@%%%%%%%%%%%%%-*-:::::::::::
==-**-++=-+-:=--##*##%%#%%%%%#%####%%*@=-@=:*%*%%#%%@%%%%%%%%%%%%%@#%:::::::::::
=:=::-:=-:+-:::-%###%%#%%##%%##%#####*####%#%%%%%#%%#%#%%%%%%%@%%%%+#:::::::::::
--::-==--::-:-+:=%**####%###%%%@%@%%@%@@%@#%*##**+###*%#%@%%@%%%%%@@::::::::::::
--=:---::#+:+:::.#%##%%#%%%%%%#@%@%#%@@%=%%%%#@@%@*@@@@@%%%%%%@@%%@%-:::::::::::
:-:::+-=*:+=-:*:-%*#+***#*##**+*****+*+*+*+**####*##%%#%@%%@%%@%@%#+::::::::::::
+:-+++==-:@%%%-::+***#####################****##****************%%*%-%=:::::::::
-:----:-+=@%%%--#:+**#**##***+***+*++++++==+==+=====--:--=+:-====%=%%@*:::::::::
:-+-=+=+--@%%#=-*:#%%##%###*#%#=****+*++=+=++%%%==-+--=+-+=+=++==%-%%@#-::::::::
:--=====-+%@@+#+:::::::::::-=*+:-::-:::::--::*++:-==--=====+===++*+%%@%-::::::::
-::-*==:*+%@%%%%:-+%%%%%%%%%@%%%%%%%%%%%%%##%%%@%%%@%%%%%%%%%%%%%%*%%%@-::::::::
:=+=*+=--=%%%*%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%-+%@:::::::::
=+=++*-:+*=++=+*++@%%%%%%%%@%%@%@#@%%%##@%%##*#+%%%%%%%@@%%%%%%%@:::::.:::::::::
*+#*++:#-:+==+++**#*#*#**#*#**#%%%%@@@#*-:%#%%@@%%%#=*+****+*#*##-::::::::::::::
-:-+==:=+=-===++%#**********+*#%@@%@%%%@+@@%%%@@%%%*++=+==**+***-*:::::::--:::::
=++==:.+-=-**-+*%*#********+**%*#*@#:%#%%%%%%%+#@@@#*=+==***++++:*::::::::::::::
:===-:=--:=-:-=-@##*#***#*********+**++#**+#*+==#*=*+*=+++*++++*=*::::::::::::::
=-=+-:+-==-::--=%%**************+**+*+#=*%*+#**+++++==+++*=+****+*::::::::::::::
=-.--:-=::--:-+=@#*#**#****#*++*****++-%+*+*:+=++++*++++*==*+**++*:::::-::::::::
+=+*-.-+==*-:=**##*#****************==+%%*#@#@+++****+++*=+*****-+::::-:::::::::
:=---#*:++:=-:*=#*##**#***********+*-+*#@%##%%%+++*+****+--****+**::::-:::::::::
++**:=#=:-====-*@##****************++#%##=*@%%%%%**++++*=-=*******::::::::::::::
-+-+:+=====+=-=+%*#*#***********#++*@@%##=+%%%%@@***+**+=-********::::::::::::::
=*==#@+===+=+=-+###************+=*=:+%%#%%%%%%%%%%@****+-==***#*#*::::::::::::::
=:-:@::-------==%###*+*#**#*#@#:#+%+:+#*%%%%%%%%%%%%@#+#*=+***#***::::::::::::::
-:.:---:::----=-%##***#*#*%%%#%%-+*#*-##%%%%%%%%%%%%%%%%#=******+*::::::::::::::
:===-=:=--:==-*:%%#####*#*%%#%%+-%-#@+=%@%%%%%%%%%%%%%%%#****##***::::::::::::::
:::==-:+*====---###%##*#+##%*##-+%+=#@##@@@@@@@@@%@@@@@#****#**#*#::::::::::::::
::-==+=-=+----:-%*###*#*##**#***#**#+#********#*+***+****#****##*#::::::::::::::
=--==+==*----:::%+==+*******#**#*#**###**##*#**####****####**#*#+#::::::::::::::
:==++-=-:---=::-%%##########%%##%#######%%%#%#%####@#########%%#%#::::::::::::::
=+=++=*==:::=-::#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%%%%%%%%%%%%%%%%#::::::::::::::
-=*+++=-=::::::::@%%%%%%%%%@%%%%%%%%%%####%@%%%%%%%%%%%%%%%%%%%%%:::::::::::::::
==*+*+++-:+--===:::%%#@@@#+@%-%%-%@#*#@=@%+##%*#%+@@%@@@@#%%%%@%:::::::::::--:::
+-=++=--:.-:--:-::::*::%%+:%-:=-::%--@=-:*:==:*-:=:%*-+.-#%%%%%%::::::::::::::::
*===+-=:+:::---:::::@#+%%#*@-%%@@+@**%-##@#*#+##*++@**%*#*%%%%%%::::::::::::::::
-++*=**=+:---=--::::@@%%#%=*#+%=*%%#@%%@@%###@%*@%@@%%%%%*%@%%%%::::::::::::::::
-++:+=:--:=-=----::-%%%#:-:+-==::#=-*+:%+:=-#-=**+-=-+=*=:-@%%%*:-::::::::::::::
==+==-:-.:=::--:::::%%%##+++*@-%#*%+#*+%=%#*=-%%#%*@##*+@-:@%#%%::::::::::::::::
===++=+=----::-:::::%@=-@%-%@=#@=*@*%@#*@@*%@#@%*@#%#@*%%%*%-==@-:::::::::::::::
--:---:-----::::::::*@=+@:-#.-.--:=-:**-#-.-.=::--#-+*:+-.:::=-#-:::::::::::::::
=+:*=-------:::::::::%%%@:+++*=#+%*+-*+*=.+==%=---+==+:--=:*%%%=::::::::::::::::
:--:-::::::-:::::::::%%--::--+=:%*=@@-#@++@=*%+=@%=%%=+%=@*@@@%+:::::-::::::::::
==+*+=-:::::::::::::-%*:::#--@=:@::*.-:#:-%=*%-:@-+*:+.--:.:=:%::::::-::::::::::
--:-:::::::::::::::::%#-::@+#%==*#:#%-@+-*%-+*=-%#-#%:%#:@::::%::--:::::::::::::
::::::::::::::::::::-@%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%#%@%#%@%@%%:-:-:::::::::::::
:--:-:=::::::::::::::=%###%%@%#%%%%%%%%%%%%%%%%%%%%%%%%%@@@#*##:-:::.:::::::::::
-==-:-::::::::::::::::%#%####%@@%%%%%%%%%%%%%@%%%%%%%%#######*::::::::::::::::::
::::-::::::::::::::::::###%%%%####%####%%%****##*##+##@#####%==*=--:::::::::::::
--:---::::::::::::::::::-*-=++--+-*=-+#++*+****+++++++*+=++==+---:::--::::::::::
--:---:-::::::::::::::::=+=--:-:-:=-++-++++####*%*#%#+++-#-=-=+===-=::.-::::::::
====-::::::::::::::::::-:---==+==---=---=-=-:-:--==++++--:=----+==-:-::--:::::::
-==----:-::::::::::::-::::.==--:+-++*-=++*-+-:::--:----==+++:-:==-::-::::-::::::
-:=+---:::::-:-:::::::::-=::--==-==--+=-*===++++-:=-.=-:+-=:.--:+:-:::::::::::::
:-::::::::::::::::::::::---+++=+=+=++=::-=---+:-::::-:---+==*-.:-::::-::::-:::::
-=--=:=-:::::::::::::::--=-:--=--==-::+-:=:-:--++**=:=.:::.:::::::-:::::::::::::


Videos

I've known about using the libcaca library to play movies as ASCII using MPlayer for quite some time, and I have absolutely loved the novelty of it. In a nutshell, what it does is renders every frame of a movie using an ASCII art converter, allowing you to watch a movie like you're in the damn Matrix. To accomplish this yourself, here is a pretty good tutorial to get you started.

Text

The [TextKool] ASCII Art Generator doesn't make images, but instead will render any text you want in one of dozens of different fonts. For example, here is flower.codes rendered in their 3x5 font:


 ##  #                                #
 #   #  ### # # ### ###     ### ### ### ###  ##
###  #  # # ### ##  #       #   # # # # ##   #
 #   ## ### ### ### #       ### ### ### ### ##
##                       #

Bonus Content

As a bonus, one of the most innovative pieces of ASCII art that I've come across (and is pretty well-known on the interwebs by now) is towel.blinkenlights.nl, a recreation of Star Wars: A New Hope in hand-drawn ASCII art. Here's a quick screenshot:



                                       /~\
                                      |oo )      What a desolate
                                      _\=/_       place this is.
                      ___            /  _  \
                     / ()\          //|/.\|\\
                   _|_____|_       ||  \_/  ||
                  | | === | |      || |\ /| ||
                  |_|  O  |_|       # \_ _/ #
                   ||  O  ||          | | |
                   ||__*__||          | | |
                  |~ \___/ ~|         []|[]
                  /=\ /=\ /=\         | | |
\_________________[_]_[_]_[_]________/_]_[_\______________________

To access it, you'll have to have telnet installed and run the following command from your terminal:

telnet towel.blinkenlights.nl

I promise, it's worth the watch.

Bonus Bonus Content

If ASCII Star Wars wasn't enough for you, you can access a ton of fun ASCII-based content over at telehack.com (telnet telehack.com). They've got the above Star Wars movie, but also a bunch of other things, like an aquarium, a clock, the game 2048, and an absurd amount of other content.

Give it a look, and shoot me a line if you find something you like (or something I haven't linked to)!

--

This is post 010 of #100DaysToOffload

--

If you like this post or one of my projects, you can buy me a coffee, or send me a note. I'd love to hear from you!