{"id":552,"date":"2014-03-29T10:04:28","date_gmt":"2014-03-29T02:04:28","guid":{"rendered":"http:\/\/www.gridsagegames.com\/blog\/?p=552"},"modified":"2016-11-12T23:14:04","modified_gmt":"2016-11-12T15:14:04","slug":"cogmind-ascii-art-making","status":"publish","type":"post","link":"https:\/\/www.gridsagegames.com\/blog\/2014\/03\/cogmind-ascii-art-making\/","title":{"rendered":"Cogmind ASCII Art, the Making of"},"content":{"rendered":"<p>Having recently finished adding 600 pieces of ASCII art to Cogmind, now&#8217;s the best time to write a bit about the process used to draw it all. (Read the <a title=\"ASCII Art\" href=\"http:\/\/www.gridsagegames.com\/blog\/2014\/03\/ascii-art\/\" target=\"_blank\">previous post<\/a> for a bit more background on ASCII art.)<\/p>\n<p>First a disclaimer: I&#8217;ve only been drawing ASCII art off and on for about a year, so I&#8217;m not exactly an authoritative source on the subject, but in that time I have developed an interesting style that&#8217;s earned a good bit of positive feedback. Here&#8217;s how it&#8217;s done.<\/p>\n<h3>Form<\/h2>\n<p>Starting with the basic form is what you do in pretty much any drawing medium, but with ASCII it&#8217;s especially important because the &#8220;flow&#8221; of an image can be difficult to capture (though it is by far its most important aspect). After all, you&#8217;re drawing with a predefined set of glyphs!<\/p>\n<div id=\"attachment_555\" style=\"width: 202px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.gridsagegames.com\/blog\/gsg-content\/uploads\/2014\/03\/cp437_12x12.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-555\" class=\"size-full wp-image-555 \" title=\"Cogmind Code Page 437\" alt=\"cp437_12x12\" src=\"https:\/\/www.gridsagegames.com\/blog\/gsg-content\/uploads\/2014\/03\/cp437_12x12.png\" width=\"192\" height=\"192\" \/><\/a><p id=\"caption-attachment-555\" class=\"wp-caption-text\">The <a href=\"http:\/\/en.wikipedia.org\/wiki\/Code_page_437\" target=\"_blank\">code page 437<\/a> glyphs used to draw Cogmind art.<\/p><\/div>\n<p>The limits force you to get creative when considering how to depict and connect various features. You have to think just as much about what <em>isn&#8217;t<\/em> there as what <em>is<\/em>, since the viewer&#8217;s imagination is instrumental in connecting the dots and filling in empty space. Ideally you&#8217;ll want to look at the same piece multiple times split up by periods of waiting to make sure you weren&#8217;t getting too used to looking at it a certain way--it may appear different (either worse or better) when viewed fresh.<\/p>\n<p>While 255 characters is quite a lot, a smaller subset sees more use than the rest. An image can&#8217;t be a jumble of characters, since the eyes need a clear way to trace the picture by following lines or line-like characters (it&#8217;s good to remember here that a viewer will tend to imagine extensions of existing lines where convenient--always think about how &#8220;suggestive&#8221; a character is in a given position).<\/p>\n<div id=\"attachment_556\" style=\"width: 166px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.gridsagegames.com\/blog\/gsg-content\/uploads\/2014\/03\/cogmind_weapon_concept_fail.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-556\" class=\"size-full wp-image-556 \" title=\"Cogmind Weapon Concept Fail\" alt=\"cogmind_weapon_concept_fail\" src=\"https:\/\/www.gridsagegames.com\/blog\/gsg-content\/uploads\/2014\/03\/cogmind_weapon_concept_fail.png\" width=\"156\" height=\"60\" \/><\/a><p id=\"caption-attachment-556\" class=\"wp-caption-text\">Piece of crap from my earliest sketches. Serious WTF material&#8230;<\/p><\/div>\n<p>Alphanumerics should be used sparingly or for emphasis\/special purposes, as they are too recognizable as an individual unit and tend to feel somewhat detached from other glyphs.<\/p>\n<div id=\"attachment_557\" style=\"width: 238px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.gridsagegames.com\/blog\/gsg-content\/uploads\/2014\/03\/cogmind_weapon_concept_gauss.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-557\" class=\"size-full wp-image-557 \" title=\"Cogmind Weapon Concept Gauss Cannon\" alt=\"cogmind_weapon_concept_gauss\" src=\"https:\/\/www.gridsagegames.com\/blog\/gsg-content\/uploads\/2014\/03\/cogmind_weapon_concept_gauss.png\" width=\"228\" height=\"84\" \/><\/a><p id=\"caption-attachment-557\" class=\"wp-caption-text\">A Gauss Cannon concept. I tend to use a lot of lines, which sometimes feels like cheating, but still retains that distinct ASCII look.<\/p><\/div>\n<p>&nbsp;<\/p>\n<div id=\"attachment_558\" style=\"width: 238px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.gridsagegames.com\/blog\/gsg-content\/uploads\/2014\/03\/cogmind_weapon_concept_neutron_missile_launcher.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-558\" class=\"size-full wp-image-558 \" title=\"Cogmind Weapon Concept Neutron Missile Launcher\" alt=\"cogmind_weapon_concept_neutron_missile_launcher\" src=\"https:\/\/www.gridsagegames.com\/blog\/gsg-content\/uploads\/2014\/03\/cogmind_weapon_concept_neutron_missile_launcher.png\" width=\"228\" height=\"84\" \/><\/a><p id=\"caption-attachment-558\" class=\"wp-caption-text\">Patterns and parallelism can also be useful, as seen in this Neutron Missile Launcher.<\/p><\/div>\n<p>Another concept to consider at this stage is the &#8220;weight&#8221; of a given area, determined by the number of pixels that make up the glyphs used there. A concentration of dense glyphs will naturally lend more weight to that part, thus even where a glyph&#8217;s shape seems perfect for a certain use, if its thickness isn&#8217;t suitable then you may have to find another way to achieve that particular representation.<\/p>\n<div id=\"attachment_559\" style=\"width: 238px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.gridsagegames.com\/blog\/gsg-content\/uploads\/2014\/03\/cogmind_weapon_concept_assault_cannon.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-559\" class=\"size-full wp-image-559 \" title=\"Cogmind Weapon Concept Assault Cannon\" alt=\"cogmind_weapon_concept_assault_cannon\" src=\"https:\/\/www.gridsagegames.com\/blog\/gsg-content\/uploads\/2014\/03\/cogmind_weapon_concept_assault_cannon.png\" width=\"228\" height=\"84\" \/><\/a><p id=\"caption-attachment-559\" class=\"wp-caption-text\">The thicker lines and blocks around the barrel lend a lot more &#8220;oompf&#8221; to the Assault Cannon.<\/p><\/div>\n<p>As shown above I work in grayscale for this entire step of the process, since we don&#8217;t want to be distracted by color. Color will be important, and naturally even affects the flow and weight of an existing design, but for me it&#8217;s better to readjust those later rather than working with too many variables to begin with.<\/p>\n<p>At one point early on I was considering the feasibility of generating this style of ASCII art procedurally, but the flow and weight won&#8217;t look as consistent compared to manually placed glyphs.<\/p>\n<h3>Shading<\/h2>\n<p>The next step is to vary the brightness of individual glyphs as necessary to redistribute the &#8220;weight&#8221; discussed in the previous section. A piece full of lines\/characters with uniform brightness can be hard to decipher. Key glyphs may be highlighted where appropriate, and both interior and exterior details are darkened so they still contribute to the overall image but don&#8217;t interfere with the &#8220;flow&#8221; of the main shape. This is also where background blocks can come into play, though for this particular style I use them only sparingly, and generally keep them dark.<\/p>\n<div id=\"attachment_560\" style=\"width: 238px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.gridsagegames.com\/blog\/gsg-content\/uploads\/2014\/03\/cogmind_concept_power_ampifier.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-560\" class=\"size-full wp-image-560 \" title=\"Cogmind Utility Concept: Power Amplifier\" alt=\"cogmind_concept_power_ampifier\" src=\"https:\/\/www.gridsagegames.com\/blog\/gsg-content\/uploads\/2014\/03\/cogmind_concept_power_ampifier.png\" width=\"228\" height=\"84\" \/><\/a><p id=\"caption-attachment-560\" class=\"wp-caption-text\">Pipes\/wires going &#8220;behind&#8221; others are usually faded, as are those that trail off (the effect is more pronounced once color is added). This is a Power Amplifier utility, by the way.<\/p><\/div>\n<p>Probably the most common shading trick I use is simple gradients, since those work well to give an image volume.<\/p>\n<div id=\"attachment_561\" style=\"width: 238px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.gridsagegames.com\/blog\/gsg-content\/uploads\/2014\/03\/cogmind_propulsion_concept_hover.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-561\" class=\"wp-image-561 \" title=\"Cogmind Propulsion Concept: Gravmag System\" alt=\"cogmind_propulsion_concept_hover\" src=\"https:\/\/www.gridsagegames.com\/blog\/gsg-content\/uploads\/2014\/03\/cogmind_propulsion_concept_hover.png\" width=\"228\" height=\"84\" \/><\/a><p id=\"caption-attachment-561\" class=\"wp-caption-text\">This Gravmag System looks a lot more round with the gradient around the base.<\/p><\/div>\n<p>This entire step can still be done in grayscale, though may end up requiring tweaks depending on the colors used later (for example, violet gradients may need a greater step to achieve a purposefully noticeable gradient effect).<\/p>\n<h3>Color<\/h2>\n<p>As [my] ASCII art is mostly about shape, I don&#8217;t have to (or want to) use too many colors, at least not in a single piece. Small images generally use just one color, and only the largest might use three; a vast majority of the art uses two colors, one as the primary color and another often brighter or complementary color for highlighting.<\/p>\n<div id=\"attachment_563\" style=\"width: 238px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.gridsagegames.com\/blog\/gsg-content\/uploads\/2014\/03\/cogmind_biometal_leg.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-563\" class=\"size-full wp-image-563 \" title=\"Cogmind Enhanced Biometal Leg\" alt=\"cogmind_biometal_leg\" src=\"https:\/\/www.gridsagegames.com\/blog\/gsg-content\/uploads\/2014\/03\/cogmind_biometal_leg.png\" width=\"228\" height=\"120\" \/><\/a><p id=\"caption-attachment-563\" class=\"wp-caption-text\">An Enhanced Biometal Leg, because everyone knows biometal legs have two colors.<\/p><\/div>\n<p>In keeping with the terminal interface theme, pretty much all colors are fully saturated and often also very bright. You don&#8217;t have to stare at them for long periods, and there&#8217;s only ever one showing at a time, otherwise I&#8217;d tone it down like the rest of the interface which generally hovers around 70% brightness.<\/p>\n<div id=\"attachment_564\" style=\"width: 238px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.gridsagegames.com\/blog\/gsg-content\/uploads\/2014\/03\/cogmind_neutrino_core.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-564\" class=\"size-full wp-image-564 \" title=\"Cogmind Neutrino Core\" alt=\"cogmind_neutrino_core\" src=\"https:\/\/www.gridsagegames.com\/blog\/gsg-content\/uploads\/2014\/03\/cogmind_neutrino_core.png\" width=\"228\" height=\"132\" \/><\/a><p id=\"caption-attachment-564\" class=\"wp-caption-text\">A Neutrino Core. One won&#8217;t make your eyes bleed, but I stared at screens covered with hundreds of these for hours and hours while drawing them all =p<\/p><\/div>\n<p>While there is not a lot of color mixing, quite a few colors are used throughout the entire collection. Colors are internally consistent where it makes sense, hence there are a several common sense themes like orange\/red for anything associated with fire\/plasma. That said, the art isn&#8217;t required for item identification so in a lot of cases I just use fun wild colors, sometimes in an attempt to keep better items looking &#8220;cooler.&#8221; No I will not show any cool items here. They shall remain secret until you find them in game. ;)<\/p>\n<h3>Time Lapse<\/h2>\n<p>Normally I do entire item types together as a group for each phase, meaning sketch <em>all<\/em> weapons, then color<em> all<\/em> weapons, etc., though below you can see all the processes as applied to a single item from back when I was working on initial concepts.<\/p>\n<div id=\"attachment_566\" style=\"width: 209px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.gridsagegames.com\/blog\/gsg-content\/uploads\/2014\/03\/cogmind_hellfire_missile_launcher_timelapse.gif\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-566\" class=\"wp-image-566 \" title=\"Cogmind ASCII Timelapse: Hellfire Missile Launcher\" alt=\"cogmind_hellfire_missile_launcher_timelapse\" src=\"https:\/\/www.gridsagegames.com\/blog\/gsg-content\/uploads\/2014\/03\/cogmind_hellfire_missile_launcher_timelapse.gif\" width=\"199\" height=\"61\" \/><\/a><p id=\"caption-attachment-566\" class=\"wp-caption-text\">Time lapse of the process for creating the Hellfire Missile Launcher.<\/p><\/div>\n<p>I wasn&#8217;t going to show any &#8220;really cool&#8221; items, but I already gave you the grayscale Neutron Missile Launcher sketch, which once colored is one of my favorites (though it&#8217;s only a mid-game weapon). So, here is a sped up time lapse of the process used to draw and paint that one:<\/p>\n<div id=\"attachment_567\" style=\"width: 238px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.gridsagegames.com\/blog\/gsg-content\/uploads\/2014\/03\/cogmind_neutron_missile_launcher_timelapse_fast.gif\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-567\" class=\"wp-image-567 \" title=\"Cogmind ASCII Timelapse: Neutron Missile Launcher (fast)\" alt=\"cogmind_neutron_missile_launcher_timelapse_fast\" src=\"https:\/\/www.gridsagegames.com\/blog\/gsg-content\/uploads\/2014\/03\/cogmind_neutron_missile_launcher_timelapse_fast.gif\" width=\"228\" height=\"90\" \/><\/a><p id=\"caption-attachment-567\" class=\"wp-caption-text\">Neutron Missile Launcher ASCII art time lapse.<\/p><\/div>\n<div id=\"attachment_568\" style=\"width: 238px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.gridsagegames.com\/blog\/gsg-content\/uploads\/2014\/03\/cogmind_neutron_missile_launcher_timelapse_slow.gif\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-568\" class=\"wp-image-568 \" title=\"Cogmind ASCII Timelapse: Neutron Missile Launcher (slow)\" alt=\"cogmind_neutron_missile_launcher_timelapse_slow\" src=\"https:\/\/www.gridsagegames.com\/blog\/gsg-content\/uploads\/2014\/03\/cogmind_neutron_missile_launcher_timelapse_slow.gif\" width=\"228\" height=\"90\" \/><\/a><p id=\"caption-attachment-568\" class=\"wp-caption-text\">Slowed so it&#8217;s easier to follow.<\/p><\/div>\n<p>And the final product, colored and in game:<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.gridsagegames.com\/blog\/gsg-content\/uploads\/2014\/03\/cogmind_neutron_missile_launcher_cinfo.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-569 aligncenter\" title=\"Cogmind Weapon Neutron Missile Launcher (in game)\" alt=\"cogmind_neutron_missile_launcher_cinfo\" src=\"https:\/\/www.gridsagegames.com\/blog\/gsg-content\/uploads\/2014\/03\/cogmind_neutron_missile_launcher_cinfo.png\" width=\"301\" height=\"599\" \/><\/a><\/p>\n<h3>Addendum<\/h2>\n<p>[Update in response to a forum question.] Anyone familiar with traditional ASCII art will know that much of it uses a lot of background colors\/blocks, making it almost like low-res pixel art. On the contrary most of my art avoids background colors, which is a conscious decision on my part. I&#8217;ve found that it&#8217;s a lot easier to be more expressive in a smaller area using primarily line art and glyphs. Background colors result in far too many square corners that impact the flow of an image, and unless very dark they also tend to cause a strong weighting towards an area, limiting their use even further. A lot of my earlier concepts played with the idea of using more background colors, but I stopped adding them almost entirely later on. The majority of final art pieces that do contain them are larger and thus more easily &#8220;contain&#8221; a full square of color. Sometimes I&#8217;ve also used them to accent the second half of a half-block foreground glyph.<\/p>\n<h2>REXPaint<\/h1>\n<p>All of this was done using a tool I developed specifically for this purpose, one freely available for use in your own projects: <a title=\"REXPaint\" href=\"http:\/\/www.gridsagegames.com\/rexpaint\" target=\"_blank\">Check it out<\/a>. Of course the methods described above are for a very specific style I&#8217;ve developed, when there&#8217;s really a lot more you can do with REXPaint and ASCII art. Stop by the REXPaint <a title=\"REXPaint Gallery\" href=\"http:\/\/www.gridsagegames.com\/rexpaint\/gallery.html\" target=\"_blank\">gallery<\/a> to see examples of styles by other artists. Also see <a title=\"Roguelike Development with REXPaint\" href=\"http:\/\/www.gridsagegames.com\/blog\/2015\/07\/roguelike-development-rexpaint\/\">this post<\/a> for a guide covering REXPaint&#8217;s many potential uses in roguelike development (mockups, art, prefabs, etc.).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Having recently finished adding 600 pieces of ASCII art to Cogmind, now&#8217;s the best time to write a bit about the process used to draw it all. (Read the previous post for a bit more background on ASCII art.) First a disclaimer: I&#8217;ve only been drawing ASCII art off and on for about a year, [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":558,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[63],"tags":[171,62,64,4],"class_list":["post-552","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-art","tag-art","tag-ascii","tag-ascii-art","tag-cogmind"],"_links":{"self":[{"href":"https:\/\/www.gridsagegames.com\/blog\/wp-json\/wp\/v2\/posts\/552","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gridsagegames.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gridsagegames.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gridsagegames.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gridsagegames.com\/blog\/wp-json\/wp\/v2\/comments?post=552"}],"version-history":[{"count":12,"href":"https:\/\/www.gridsagegames.com\/blog\/wp-json\/wp\/v2\/posts\/552\/revisions"}],"predecessor-version":[{"id":2019,"href":"https:\/\/www.gridsagegames.com\/blog\/wp-json\/wp\/v2\/posts\/552\/revisions\/2019"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.gridsagegames.com\/blog\/wp-json\/wp\/v2\/media\/558"}],"wp:attachment":[{"href":"https:\/\/www.gridsagegames.com\/blog\/wp-json\/wp\/v2\/media?parent=552"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gridsagegames.com\/blog\/wp-json\/wp\/v2\/categories?post=552"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gridsagegames.com\/blog\/wp-json\/wp\/v2\/tags?post=552"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}