{"id":397,"date":"2017-06-02T15:58:12","date_gmt":"2017-06-02T15:58:12","guid":{"rendered":"https:\/\/tgdstaging.enemyhideout.com\/?p=397"},"modified":"2017-06-22T18:15:43","modified_gmt":"2017-06-22T18:15:43","slug":"dialog-systems-aseprite-and-an-escape-room","status":"publish","type":"post","link":"https:\/\/tucsongamedev.com\/?p=397","title":{"rendered":"Dialog systems, aseprite, and an escape room!"},"content":{"rendered":"<p>Thanks to all who came out to May&#8217;s TGD meeting. We had quite a diverse group of topics presented. So many that its hard for me to get &#8217;em all straight! Soon we will have a &#8216;projects&#8217; area on the site to consolidate all the different things going on here in Tucson.<\/p>\n<p>And so here are SOME of the things presented and talked about at our last\u00a0meeting.<\/p>\n<h1>Escaaaaape!<\/h1>\n<p>Genji showed up with a giant black suitcase, and guess what? It was a portable escape room game! If you are not familiar with escape rooms they are a series of puzzles (in this case actual physical things) that you must solve to get the key to the lock that keeps you in the room.<\/p>\n<p>Here&#8217;s Genji setting it up:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-403 size-large\" src=\"https:\/\/tgdstaging.enemyhideout.com\/wp-content\/uploads\/2017\/06\/IMG_2436-1024x768.jpg\" alt=\"\" width=\"525\" height=\"394\" srcset=\"https:\/\/tucsongamedev.com\/wp-content\/uploads\/2017\/06\/IMG_2436-1024x768.jpg 1024w, https:\/\/tucsongamedev.com\/wp-content\/uploads\/2017\/06\/IMG_2436-300x225.jpg 300w, https:\/\/tucsongamedev.com\/wp-content\/uploads\/2017\/06\/IMG_2436-768x576.jpg 768w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/p>\n<p>One of the puzzles ready to go:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-404 size-large\" src=\"https:\/\/tgdstaging.enemyhideout.com\/wp-content\/uploads\/2017\/06\/IMG_2438-1024x768.jpg\" alt=\"\" width=\"525\" height=\"394\" srcset=\"https:\/\/tucsongamedev.com\/wp-content\/uploads\/2017\/06\/IMG_2438-1024x768.jpg 1024w, https:\/\/tucsongamedev.com\/wp-content\/uploads\/2017\/06\/IMG_2438-300x225.jpg 300w, https:\/\/tucsongamedev.com\/wp-content\/uploads\/2017\/06\/IMG_2438-768x576.jpg 768w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/p>\n<p>And the full game ready to play:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-405 size-large\" src=\"https:\/\/tgdstaging.enemyhideout.com\/wp-content\/uploads\/2017\/06\/IMG_2439-1024x768.jpg\" alt=\"\" width=\"525\" height=\"394\" srcset=\"https:\/\/tucsongamedev.com\/wp-content\/uploads\/2017\/06\/IMG_2439-1024x768.jpg 1024w, https:\/\/tucsongamedev.com\/wp-content\/uploads\/2017\/06\/IMG_2439-300x225.jpg 300w, https:\/\/tucsongamedev.com\/wp-content\/uploads\/2017\/06\/IMG_2439-768x576.jpg 768w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/p>\n<p>According to Genji the game is best played with 4-5 people, since more people help move things along faster. Since many of the attendees had already played the game or had to go (it took 45 minutes to play) it was just me and Noel. It was VERY fun, and quite challenging. Watching us play gave Genji and Brandon a lot of useful feedback as to how the game can be improved and tweaked. We hope to have more escape room playtesting at future meetings, and potentially use the game as a fundraiser for Pima College&#8217;s game dev club!<\/p>\n<h1>Node-Based Dialogue Editor<\/h1>\n<p>Creating content in games efficiently can be a challenge. An area frequently bumped up against is writing dialogue. Whether your game revolves around it, or its just for cutscenes and tutorials, having a solid dialog editor can seriously help. And so Drew has built a general purpose node-based system in Unity for editing dialogue, and presented his work in progress at the latest meeting.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-401 size-large\" src=\"https:\/\/tgdstaging.enemyhideout.com\/wp-content\/uploads\/2017\/06\/drew_nodes_running-1024x554.png\" alt=\"\" width=\"525\" height=\"284\" srcset=\"https:\/\/tucsongamedev.com\/wp-content\/uploads\/2017\/06\/drew_nodes_running-1024x554.png 1024w, https:\/\/tucsongamedev.com\/wp-content\/uploads\/2017\/06\/drew_nodes_running-300x162.png 300w, https:\/\/tucsongamedev.com\/wp-content\/uploads\/2017\/06\/drew_nodes_running-768x415.png 768w, https:\/\/tucsongamedev.com\/wp-content\/uploads\/2017\/06\/drew_nodes_running.png 1916w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/p>\n<p>It allows the writer to create branching conversation trees that can be seen activating and deactivating so while its playing you can see the path of conversation in the editor.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-408\" src=\"https:\/\/tgdstaging.enemyhideout.com\/wp-content\/uploads\/2017\/06\/drew_nodes_closeup.png\" alt=\"\" width=\"559\" height=\"384\" srcset=\"https:\/\/tucsongamedev.com\/wp-content\/uploads\/2017\/06\/drew_nodes_closeup.png 559w, https:\/\/tucsongamedev.com\/wp-content\/uploads\/2017\/06\/drew_nodes_closeup-300x206.png 300w\" sizes=\"auto, (max-width: 559px) 100vw, 559px\" \/><\/p>\n<p>You might also notice that in the nodes that there is a small scripting language to allow for conditionals, and variables to be inserted into the text. Pretty cool!<\/p>\n<p>We talked a bit about content in games, and also the tendency to write code first and then a script second. This led us to talk about <a href=\"http:\/\/www.inklestudios.com\/\">Inkle studios<\/a> and their script-first approach, and their conversation tech, <a href=\"http:\/\/www.inklestudios.com\/ink\/\">Ink<\/a>.<\/p>\n<h1>PugInformant<\/h1>\n<p>Andrew has made some progress this month on <a href=\"https:\/\/github.com\/ajseward\/PugInformant\">PugInformant<\/a>, which is a Discord bot for getting information on players in World of Warcraft. This allows you to easily and quickly gauge a player&#8217;s character level for your party for pickup groups and maybe just to stalk &#8217;em. \ud83d\ude42<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-402 size-full\" src=\"https:\/\/tgdstaging.enemyhideout.com\/wp-content\/uploads\/2017\/06\/aseward_pug_informant.png\" alt=\"\" width=\"572\" height=\"363\" srcset=\"https:\/\/tucsongamedev.com\/wp-content\/uploads\/2017\/06\/aseward_pug_informant.png 572w, https:\/\/tucsongamedev.com\/wp-content\/uploads\/2017\/06\/aseward_pug_informant-300x190.png 300w\" sizes=\"auto, (max-width: 572px) 100vw, 572px\" \/><\/p>\n<h1>Aseprite Pixel Art<\/h1>\n<p>Do you like pixel art, or painting pixel art? My favorite pixel editor is <a href=\"https:\/\/www.aseprite.org\">Aseprite<\/a>\u00a0which is a unique pixel art animation and painting tool with unique abilities. I showed off some of the cool features such as symmetrical painting, adaptive shading, locking your alpha, and working with\u00a0palettes.<\/p>\n<p>Originally\u00a0I showed off what could potentially be a logo design for TGD, something I put together on Memorial Day holiday. I like to think of it as the worst controller ever made:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-407 \" src=\"https:\/\/tgdstaging.enemyhideout.com\/wp-content\/uploads\/2017\/06\/cactus_small.png\" alt=\"\" width=\"367\" height=\"259\" srcset=\"https:\/\/tucsongamedev.com\/wp-content\/uploads\/2017\/06\/cactus_small.png 584w, https:\/\/tucsongamedev.com\/wp-content\/uploads\/2017\/06\/cactus_small-300x212.png 300w\" sizes=\"auto, (max-width: 367px) 100vw, 367px\" \/><\/p>\n<p>I frequently like to draw more free-form and then complete my pixel art in Aseprite. Here are a couple ideas from my pencil and paper sketchbook (omg no undo!).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-399 size-full\" src=\"https:\/\/tgdstaging.enemyhideout.com\/wp-content\/uploads\/2017\/06\/Scan_small.png\" alt=\"\" width=\"458\" height=\"775\" srcset=\"https:\/\/tucsongamedev.com\/wp-content\/uploads\/2017\/06\/Scan_small.png 458w, https:\/\/tucsongamedev.com\/wp-content\/uploads\/2017\/06\/Scan_small-177x300.png 177w\" sizes=\"auto, (max-width: 458px) 100vw, 458px\" \/><\/p>\n<p>And here is a screenshot of Aseprite itself.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-400\" src=\"https:\/\/tgdstaging.enemyhideout.com\/wp-content\/uploads\/2017\/06\/aseprite_cactus_controller-300x188.png\" alt=\"\" width=\"300\" height=\"188\" srcset=\"https:\/\/tucsongamedev.com\/wp-content\/uploads\/2017\/06\/aseprite_cactus_controller-300x188.png 300w, https:\/\/tucsongamedev.com\/wp-content\/uploads\/2017\/06\/aseprite_cactus_controller-768x480.png 768w, https:\/\/tucsongamedev.com\/wp-content\/uploads\/2017\/06\/aseprite_cactus_controller.png 840w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<h1>Next Meeting<\/h1>\n<p><strong>Our meetings are always the last Tuesday of the month<\/strong>. If you would like updates on the latest goings on<a href=\"http:\/\/eepurl.com\/cDY_Vz\"> sign up for our mailing list<\/a>, with our monthly newsletter of happenings. Til next time!<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Thanks to all who came out to May&#8217;s TGD meeting. We had quite a diverse group of topics presented. So many that its hard for me to get &#8217;em all straight! Soon we will&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":404,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-397","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-meeting-recap"],"jetpack_featured_media_url":"https:\/\/tucsongamedev.com\/wp-content\/uploads\/2017\/06\/IMG_2438.jpg","_links":{"self":[{"href":"https:\/\/tucsongamedev.com\/index.php?rest_route=\/wp\/v2\/posts\/397","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tucsongamedev.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tucsongamedev.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tucsongamedev.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tucsongamedev.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=397"}],"version-history":[{"count":3,"href":"https:\/\/tucsongamedev.com\/index.php?rest_route=\/wp\/v2\/posts\/397\/revisions"}],"predecessor-version":[{"id":410,"href":"https:\/\/tucsongamedev.com\/index.php?rest_route=\/wp\/v2\/posts\/397\/revisions\/410"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tucsongamedev.com\/index.php?rest_route=\/wp\/v2\/media\/404"}],"wp:attachment":[{"href":"https:\/\/tucsongamedev.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=397"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tucsongamedev.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=397"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tucsongamedev.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=397"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}