{"id":1558,"date":"2018-09-26T14:09:01","date_gmt":"2018-09-26T18:09:01","guid":{"rendered":"https:\/\/portfolios.cs.earlham.edu\/?p=1558"},"modified":"2018-09-26T14:09:01","modified_gmt":"2018-09-26T18:09:01","slug":"dungeon-crawl-optimization-first-floor-search-space","status":"publish","type":"post","link":"https:\/\/portfolios.cs.earlham.edu\/index.php\/2018\/09\/26\/dungeon-crawl-optimization-first-floor-search-space\/","title":{"rendered":"Dungeon Crawl Optimization: First Floor Search Space"},"content":{"rendered":"<p>For my project, optimizing an AI agent for Dungeon Crawl Stone Soup, I&#8217;ve recently changed the scope of my project somewhat. Instead of trying to improve the AI agent&#8217;s chance of winning a game of DCSS, I&#8217;m now working to optimize its chance of success at delving past the first floor of the dungeon.<\/p>\n<p>This different scope has several benefits:<\/p>\n<ul>\n<li>A reduced search space makes identifying sources of difficulty and features for optimization simpler.<\/li>\n<li>A faster run time (two orders of magnitude) make machine learning based optimization much more practical.<\/li>\n<li>The first floor of the dungeon is commonly regarded as one of the more interesting areas of the game for expert players &#8211; before the character accrues experience or equipment, they are weak and must rely on strategy alone to survive and progress.<\/li>\n<\/ul>\n<p>Some example results of preliminary trials are as follows:<\/p>\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\"alignnone size-full wp-image-1566\" src=\"https:\/\/portfolios.cs.earlham.edu\/wp-content\/uploads\/2018\/09\/2018-09-19-142437_799x480_scrot.png\" alt=\"\" width=\"799\" height=\"480\" srcset=\"https:\/\/portfolios.cs.earlham.edu\/wp-content\/uploads\/2018\/09\/2018-09-19-142437_799x480_scrot.png 799w, https:\/\/portfolios.cs.earlham.edu\/wp-content\/uploads\/2018\/09\/2018-09-19-142437_799x480_scrot-300x180.png 300w, https:\/\/portfolios.cs.earlham.edu\/wp-content\/uploads\/2018\/09\/2018-09-19-142437_799x480_scrot-768x461.png 768w\" sizes=\"(max-width: 799px) 100vw, 799px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Some bug fixing and tweaking of the algorithm is necessary to avoid accidental &#8220;shafting&#8221; to lower floors of the dungeon. Additionally, with the high rate of success you see above, it may be necessary to choose a weaker starting character to make room for significant improvements.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>For my project, optimizing an AI agent for Dungeon Crawl Stone Soup, I&#8217;ve recently changed the scope of my project somewhat. Instead of trying to improve the AI agent&#8217;s chance of winning a game of DCSS, I&#8217;m now working to optimize its chance of success at delving past the first floor of the dungeon. This &#8230; <a title=\"Dungeon Crawl Optimization: First Floor Search Space\" class=\"read-more\" href=\"https:\/\/portfolios.cs.earlham.edu\/index.php\/2018\/09\/26\/dungeon-crawl-optimization-first-floor-search-space\/\" aria-label=\"Read more about Dungeon Crawl Optimization: First Floor Search Space\">Read more<\/a><\/p>\n","protected":false},"author":38,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19],"tags":[],"class_list":["post-1558","post","type-post","status-publish","format-standard","hentry","category-student"],"_links":{"self":[{"href":"https:\/\/portfolios.cs.earlham.edu\/index.php\/wp-json\/wp\/v2\/posts\/1558","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/portfolios.cs.earlham.edu\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/portfolios.cs.earlham.edu\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/portfolios.cs.earlham.edu\/index.php\/wp-json\/wp\/v2\/users\/38"}],"replies":[{"embeddable":true,"href":"https:\/\/portfolios.cs.earlham.edu\/index.php\/wp-json\/wp\/v2\/comments?post=1558"}],"version-history":[{"count":1,"href":"https:\/\/portfolios.cs.earlham.edu\/index.php\/wp-json\/wp\/v2\/posts\/1558\/revisions"}],"predecessor-version":[{"id":1567,"href":"https:\/\/portfolios.cs.earlham.edu\/index.php\/wp-json\/wp\/v2\/posts\/1558\/revisions\/1567"}],"wp:attachment":[{"href":"https:\/\/portfolios.cs.earlham.edu\/index.php\/wp-json\/wp\/v2\/media?parent=1558"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/portfolios.cs.earlham.edu\/index.php\/wp-json\/wp\/v2\/categories?post=1558"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/portfolios.cs.earlham.edu\/index.php\/wp-json\/wp\/v2\/tags?post=1558"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}