{"id":396,"date":"2014-02-09T19:13:17","date_gmt":"2014-02-09T11:13:17","guid":{"rendered":"http:\/\/www.gridsagegames.com\/blog\/?p=396"},"modified":"2014-06-20T15:09:03","modified_gmt":"2014-06-20T07:09:03","slug":"map-dynamics","status":"publish","type":"post","link":"https:\/\/www.gridsagegames.com\/blog\/2014\/02\/map-dynamics\/","title":{"rendered":"Map Dynamics"},"content":{"rendered":"<p>Continuing on the concept touched upon in the <a title=\"Message Log\" href=\"http:\/\/www.gridsagegames.com\/blog\/2014\/02\/message-log\/\" target=\"_blank\">previous post<\/a> about message logs in roguelikes, shifting the player&#8217;s attention from log to map works in tandem with making more information available directly on that map. I like to summarize this kind of feature with the phrase &#8220;map dynamics&#8221; (from a UI perspective, not map layout), referring to animated visual aspects of the map that provide supplementary information such as various types of overlays and labels.<\/p>\n<p>The simplest example already in use would be the highlighted line-of-fire projected from the origin when selecting a target. It shows the intended path of the projectile in a shade of either green or red depending on whether that path is clear of obstructions. (This line-of-fire preview can also be activated separately without using an actual weapon to target.)<\/p>\n<p>Ally order visualization, a feature covered in an <a title=\"Ally Orders\" href=\"http:\/\/www.gridsagegames.com\/blog\/2014\/01\/orders\/\" target=\"_blank\">earlier post<\/a>, also falls into this category. Here we&#8217;ll look at all the new map dynamics features.<\/p>\n<h2>Path Preview<\/h1>\n<p>Mouse users can hold Ctrl-Alt to preview the path that will be taken to reach a given destination by simply clicking it.<\/p>\n<div id=\"attachment_402\" style=\"width: 298px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.gridsagegames.com\/blog\/gsg-content\/uploads\/2014\/01\/cogmind_path_preview.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-402\" class=\"size-full wp-image-402 \" title=\"Cogmind Path Preview\" alt=\"cogmind_path_preview\" src=\"https:\/\/www.gridsagegames.com\/blog\/gsg-content\/uploads\/2014\/01\/cogmind_path_preview.png\" width=\"288\" height=\"265\" \/><\/a><p id=\"caption-attachment-402\" class=\"wp-caption-text\">Sometimes the path will be updated while on the way to the destination if a more efficient one is found, though it won&#8217;t deviate too much from the original.<\/p><\/div>\n<h2>Volley Range Visualization<\/h1>\n<p>Activating the range visualization overlay simultaneously highlights all parts of the map within view that any currently active weapon can reach, using a brighter color for areas targetable by more weapons (i.e. areas of overlap). Thus a varied volley of weapons will generally result in closer areas being brighter as only a subset of the weapons reach the maximum range.<\/p>\n<div id=\"attachment_403\" style=\"width: 314px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.gridsagegames.com\/blog\/gsg-content\/uploads\/2014\/01\/cogmind_volley_visualization.gif\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-403\" class=\"size-full wp-image-403 \" title=\"Cogmind Volley Visualization\" alt=\"cogmind_volley_visualization\" src=\"https:\/\/www.gridsagegames.com\/blog\/gsg-content\/uploads\/2014\/01\/cogmind_volley_visualization.gif\" width=\"304\" height=\"365\" \/><\/a><p id=\"caption-attachment-403\" class=\"wp-caption-text\">The animation is optional--range visualization mode can be configured to appear instantly if desired.<\/p><\/div>\n<h2>Weapon Radius<\/h1>\n<p>Hovering the cursor over a weapon in the parts list causes a faint pulsating circle to appear on the map, centered on Cogmind&#8217;s location (which is always the center of the map view, unless you&#8217;ve temporarily shifted it elsewhere). This circle is the radius within which that weapon remains effective. The weapon radius feature is mostly intended as a quick way to compare weapon ranges when activating\/deactivating them, just as a reminder; seeing what specific locations can be hit is better handled by activating the volley range visualization.<\/p>\n<div id=\"attachment_404\" style=\"width: 414px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.gridsagegames.com\/blog\/gsg-content\/uploads\/2014\/01\/cogmind_weapon_radius.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-404\" class=\"size-full wp-image-404 \" title=\"Cogmind Weapon Radius\" alt=\"cogmind_weapon_radius\" src=\"https:\/\/www.gridsagegames.com\/blog\/gsg-content\/uploads\/2014\/01\/cogmind_weapon_radius.png\" width=\"404\" height=\"377\" \/><\/a><p id=\"caption-attachment-404\" class=\"wp-caption-text\">The radius is shown regardless of FOV or even whether an area has been explored.<\/p><\/div>\n<h2>Explosion Prediction<\/h1>\n<p>Rather than forcing the player to check explosion sizes and count squares, targeting with any explosive weapon automatically shows a prediction of the average area of effect around the target location, taking into account both the explosion&#8217;s falloff rate and terrain dampening (a given explosion won&#8217;t blast as far through cave walls as it will through a door). Know that only an approximation can be shown because damage--and therefore radius--can vary (more so with certain types of explosions), thus the average value is used for prediction calculation purposes, with the actual AOE being somewhat smaller or larger in each case. (In reality it would look like a slightly spiky ball projected from the origin.)<\/p>\n<div id=\"attachment_405\" style=\"width: 314px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.gridsagegames.com\/blog\/gsg-content\/uploads\/2014\/01\/cogmind_explosion_preview.gif\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-405\" class=\"wp-image-405 \" title=\"Cogmind Explosion Prediction\" alt=\"cogmind_explosion_preview\" src=\"https:\/\/www.gridsagegames.com\/blog\/gsg-content\/uploads\/2014\/01\/cogmind_explosion_preview.gif\" width=\"304\" height=\"365\" \/><\/a><p id=\"caption-attachment-405\" class=\"wp-caption-text\">Explosion prediction, with a little bit of animation thrown in for cool factor.<\/p><\/div>\n<h2>More<\/h1>\n<p>We&#8217;ll continue to expand the map dynamics system with new overlays and functions as appropriate. Before long there will be a map object labeling feature similar to that seen in X@COM, allowing you to quickly see names of all parts and robots in view. Eventually there might be a map region overlay as well--that depends on the final type of map generator, which currently exists in generic form but has yet to be integrated into the game (current testing relies on the old prototype map generator).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Continuing on the concept touched upon in the previous post about message logs in roguelikes, shifting the player&#8217;s attention from log to map works in tandem with making more information available directly on that map. I like to summarize this kind of feature with the phrase &#8220;map dynamics&#8221; (from a UI perspective, not map layout), [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":402,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[27],"tags":[4,51,49,13,50],"class_list":["post-396","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-gui","tag-cogmind","tag-explosions","tag-map-dynamics","tag-ui","tag-volley"],"_links":{"self":[{"href":"https:\/\/www.gridsagegames.com\/blog\/wp-json\/wp\/v2\/posts\/396","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=396"}],"version-history":[{"count":9,"href":"https:\/\/www.gridsagegames.com\/blog\/wp-json\/wp\/v2\/posts\/396\/revisions"}],"predecessor-version":[{"id":431,"href":"https:\/\/www.gridsagegames.com\/blog\/wp-json\/wp\/v2\/posts\/396\/revisions\/431"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.gridsagegames.com\/blog\/wp-json\/wp\/v2\/media\/402"}],"wp:attachment":[{"href":"https:\/\/www.gridsagegames.com\/blog\/wp-json\/wp\/v2\/media?parent=396"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gridsagegames.com\/blog\/wp-json\/wp\/v2\/categories?post=396"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gridsagegames.com\/blog\/wp-json\/wp\/v2\/tags?post=396"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}