=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- title: Long Live ASCII Art date: 2022-05-09 15:51:00 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 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 [0] (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 [1]): ### 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 [2] 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. [3] converted into ASCII art. ``` +=+*=+*=*=+*=*+**+*+*#*+##@%%%%%%#%###+**+**#**##*#++++=-**+-=-=---::-.::::::::: =:=-==++==+:++*+====**++*******##****+*-=-*--+=---=-==--+:--:--:-::::::::::::::: ++====++*-+:-::+*#********+++++***+*=+==*+*+=-+-+=-++=*-:++-+--=:-=+:::::::::::: :--:--:=--:--%%-*#********+*+=*++++*++-++**=#*++=++++*=+=++-==+=:+*%:::::::::::: +==*+=+==+==:-:-#%%#%%%%##%%%%%%%#%%@%%%%%@%%@#%%%%%@%%%%%%%%%%%%%-*-::::::::::: ==-**-++=-+-:=--##*##%%#%%%%%#%####%%*@=-@=:*%*%%#%%@%%%%%%%%%%%%%@#%::::::::::: =:=::-:=-:+-:::-%###%%#%%##%%##%#####*####%#%%%%%#%%#%#%%%%%%%@%%%%+#::::::::::: --::-==--::-:-+:=%**####%###%%%@%@%%@%@@%@#%*##**+###*%#%@%%@%%%%%@@:::::::::::: --=:---::#+:+:::.#%##%%#%%%%%%#@%@%#%@@%=%%%%#@@%@*@@@@@%%%%%%@@%%@%-::::::::::: :-:::+-=*:+=-:*:-%*#+***#*##**+*****+*+*+*+**####*##%%#%@%%@%%@%@%#+:::::::::::: +:-+++==-:@%%%-::+***#####################****##****************%%*%-%=::::::::: -:----:-+=@%%%--#:+**#**##***+***+*++++++==+==+=====--:--=+:-====%=%%@*::::::::: :-+-=+=+--@%%#=-*:#%%##%###*#%#=****+*++=+=++%%%==-+--=+-+=+=++==%-%%@#-:::::::: :--=====-+%@@+#+:::::::::::-=*+:-::-:::::--::*++:-==--=====+===++*+%%@%-:::::::: -::-*==:*+%@%%%%:-+%%%%%%%%%@%%%%%%%%%%%%%##%%%@%%%@%%%%%%%%%%%%%%*%%%@-:::::::: :=+=*+=--=%%%*%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%-+%@::::::::: =+=++*-:+*=++=+*++@%%%%%%%%@%%@%@#@%%%##@%%##*#+%%%%%%%@@%%%%%%%@:::::.::::::::: *+#*++:#-:+==+++**#*#*#**#*#**#%%%%@@@#*-:%#%%@@%%%#=*+****+*#*##-:::::::::::::: -:-+==:=+=-===++%#**********+*#%@@%@%%%@+@@%%%@@%%%*++=+==**+***-*:::::::--::::: =++==:.+-=-**-+*%*#********+**%*#*@#:%#%%%%%%%+#@@@#*=+==***++++:*:::::::::::::: :===-:=--:=-:-=-@##*#***#*********+**++#**+#*+==#*=*+*=+++*++++*=*:::::::::::::: =-=+-:+-==-::--=%%**************+**+*+#=*%*+#**+++++==+++*=+****+*:::::::::::::: =-.--:-=::--:-+=@#*#**#****#*++*****++-%+*+*:+=++++*++++*==*+**++*:::::-:::::::: +=+*-.-+==*-:=**##*#****************==+%%*#@#@+++****+++*=+*****-+::::-::::::::: :=---#*:++:=-:*=#*##**#***********+*-+*#@%##%%%+++*+****+--****+**::::-::::::::: ++**:=#=:-====-*@##****************++#%##=*@%%%%%**++++*=-=*******:::::::::::::: -+-+:+=====+=-=+%*#*#***********#++*@@%##=+%%%%@@***+**+=-********:::::::::::::: =*==#@+===+=+=-+###************+=*=:+%%#%%%%%%%%%%@****+-==***#*#*:::::::::::::: =:-:@::-------==%###*+*#**#*#@#:#+%+:+#*%%%%%%%%%%%%@#+#*=+***#***:::::::::::::: -:.:---:::----=-%##***#*#*%%%#%%-+*#*-##%%%%%%%%%%%%%%%%#=******+*:::::::::::::: :===-=:=--:==-*:%%#####*#*%%#%%+-%-#@+=%@%%%%%%%%%%%%%%%#****##***:::::::::::::: :::==-:+*====---###%##*#+##%*##-+%+=#@##@@@@@@@@@%@@@@@#****#**#*#:::::::::::::: ::-==+=-=+----:-%*###*#*##**#***#**#+#********#*+***+****#****##*#:::::::::::::: =--==+==*----:::%+==+*******#**#*#**###**##*#**####****####**#*#+#:::::::::::::: :==++-=-:---=::-%%##########%%##%#######%%%#%#%####@#########%%#%#:::::::::::::: =+=++=*==:::=-::#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%%%%%%%%%%%%%%%%#:::::::::::::: -=*+++=-=::::::::@%%%%%%%%%@%%%%%%%%%%####%@%%%%%%%%%%%%%%%%%%%%%::::::::::::::: ==*+*+++-:+--===:::%%#@@@#+@%-%%-%@#*#@=@%+##%*#%+@@%@@@@#%%%%@%:::::::::::--::: +-=++=--:.-:--:-::::*::%%+:%-:=-::%--@=-:*:==:*-:=:%*-+.-#%%%%%%:::::::::::::::: *===+-=:+:::---:::::@#+%%#*@-%%@@+@**%-##@#*#+##*++@**%*#*%%%%%%:::::::::::::::: -++*=**=+:---=--::::@@%%#%=*#+%=*%%#@%%@@%###@%*@%@@%%%%%*%@%%%%:::::::::::::::: -++:+=:--:=-=----::-%%%#:-:+-==::#=-*+:%+:=-#-=**+-=-+=*=:-@%%%*:-:::::::::::::: ==+==-:-.:=::--:::::%%%##+++*@-%#*%+#*+%=%#*=-%%#%*@##*+@-:@%#%%:::::::::::::::: ===++=+=----::-:::::%@=-@%-%@=#@=*@*%@#*@@*%@#@%*@#%#@*%%%*%-==@-::::::::::::::: --:---:-----::::::::*@=+@:-#.-.--:=-:**-#-.-.=::--#-+*:+-.:::=-#-::::::::::::::: =+:*=-------:::::::::%%%@:+++*=#+%*+-*+*=.+==%=---+==+:--=:*%%%=:::::::::::::::: :--:-::::::-:::::::::%%--::--+=:%*=@@-#@++@=*%+=@%=%%=+%=@*@@@%+:::::-:::::::::: ==+*+=-:::::::::::::-%*:::#--@=:@::*.-:#:-%=*%-:@-+*:+.--:.:=:%::::::-:::::::::: --:-:::::::::::::::::%#-::@+#%==*#:#%-@+-*%-+*=-%#-#%:%#:@::::%::--::::::::::::: ::::::::::::::::::::-@%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%#%@%#%@%@%%:-:-::::::::::::: :--:-:=::::::::::::::=%###%%@%#%%%%%%%%%%%%%%%%%%%%%%%%%@@@#*##:-:::.::::::::::: -==-:-::::::::::::::::%#%####%@@%%%%%%%%%%%%%@%%%%%%%%#######*:::::::::::::::::: ::::-::::::::::::::::::###%%%%####%####%%%****##*##+##@#####%==*=--::::::::::::: --:---::::::::::::::::::-*-=++--+-*=-+#++*+****+++++++*+=++==+---:::--:::::::::: --:---:-::::::::::::::::=+=--:-:-:=-++-++++####*%*#%#+++-#-=-=+===-=::.-:::::::: ====-::::::::::::::::::-:---==+==---=---=-=-:-:--==++++--:=----+==-:-::--::::::: -==----:-::::::::::::-::::.==--:+-++*-=++*-+-:::--:----==+++:-:==-::-::::-:::::: -:=+---:::::-:-:::::::::-=::--==-==--+=-*===++++-:=-.=-:+-=:.--:+:-::::::::::::: :-::::::::::::::::::::::---+++=+=+=++=::-=---+:-::::-:---+==*-.:-::::-::::-::::: -=--=:=-:::::::::::::::--=-:--=--==-::+-:=:-:--++**=:=.:::.:::::::-::::::::::::: ``` ### Videos I've known about using the libcaca [4] library to play movies as ASCII using MPlayer [5] 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 [6] 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 [7]_ --- [0]: https://mudcoders.com [1]: https://www.asciiart.eu/ [2]: https://convertcase.net/ascii-art-generator/ [3]: http://flower.codes/2020/12/14/get-a-typewriter-write-a-friend.html [4]: https://en.wikipedia.org/wiki/Libcaca [5]: https://en.wikipedia.org/wiki/MPlayer [6]: https://www.ubuntubuzz.com/2012/04/play-movies-in-ascii-art-using-mplayer.html [7]: https://100daystooffload.com/ --- EOF