{"id":367,"date":"2010-11-02T14:15:07","date_gmt":"2010-11-02T14:15:07","guid":{"rendered":"http:\/\/www.qcfdesign.com\/?p=367"},"modified":"2010-11-02T14:16:10","modified_gmt":"2010-11-02T14:16:10","slug":"interface-thinkings-and-more-art","status":"publish","type":"post","link":"https:\/\/www.qcfdesign.com\/?p=367","title":{"rendered":"Interface thinkings and more art"},"content":{"rendered":"<p>We can safely reveal that the artist responsible for the character portraits that got some of you salivating even more than usual is none other than: <a href=\"http:\/\/www.lurksoft.com\" target=\"_blank\">Lurk<\/a>! Recommended some months ago by <a href=\"http:\/\/www.tigsource.com\" target=\"_blank\">Derek<\/a> <a href=\"http:\/\/www.mossmouth.com\" target=\"_blank\">Yu<\/a> (possibly to stop us saying thank you for the tileset), Lurk answered our &#8220;Would you be interested in working on Desktop Dungeons?&#8221; email with this image:<\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/www.qcfdesign.com\/wp-content\/uploads\/2010\/11\/ddmockup-copy.png\" rel=\"shadowbox[sbpost-367];player=img;\"><img loading=\"lazy\" class=\"aligncenter size-medium wp-image-368\" title=\"ddmockup copy\" src=\"http:\/\/www.qcfdesign.com\/wp-content\/uploads\/2010\/11\/ddmockup-copy-300x225.png\" alt=\"\" width=\"300\" height=\"225\" srcset=\"https:\/\/www.qcfdesign.com\/wp-content\/uploads\/2010\/11\/ddmockup-copy-300x225.png 300w, https:\/\/www.qcfdesign.com\/wp-content\/uploads\/2010\/11\/ddmockup-copy.png 800w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\nWe took that as a yes.<\/p>\n<p>I&#8217;ve been spending a lot of time redesigning DD&#8217;s interface. Again&#8230; (You can see Lurk&#8217;s mockup is based on an even older version of the game) Thankfully the event-based design now means that the UI can sit on top of the game logic like a spider, registering to get events that it cares about (like the player taking damage, or mousing over a glyph) without having to be integrated into the logic at all. Essentially the interface is the most self-contained one I&#8217;ve ever worked on.<\/p>\n<p>That may not sound like much, but UI coding is almost universally reviled in game dev circles &#8211; sitting somewhere just above <em>game tester<\/em> in the hierarchy of traditional studio progression, below <em>pond scum<\/em>. Anything you can do to get you amped about an interface is a good idea. Interfaces often end up being polished late in a project, right after the point when everyone throws code etiquette out the window during crunch &#8211; they&#8217;re historically messy, bug-riddled and done way too fast. Also, I like spiders, they&#8217;re cool.<\/p>\n<p><strong>The problem with an inventory<!--more--><\/strong><\/p>\n<p>Because DD now has an inventory, there are some design considerations that need thinking about. Wait, didn&#8217;t we talk about the inventory before? No? Oh&#8230; Well, there&#8217;s an inventory now. Glyphs take up a full slot, potions and small items take up a 5th of a slot and split that into a sort of &#8220;belt&#8221;. Uh. It makes more sense when you&#8217;re playing, honest! Items give us some really nice elements to play with, like giving different items different conversion values and limiting the number of physical vs magical items that different classes can carry at a time. That sort of thing.<\/p>\n<p>Anyway, because of all this added functionality, the Inventory is now a panel on its own. This gets a little confusing when you mouse over an enemy and their information panel obscures your inventory. Well, actually it&#8217;s not confusing at all: The inventory pops right back up when you mouse off again (which you would need to do to select a spell). But it does mean that our fast-casting numbered slots system needs to adapt accordingly.<\/p>\n<p>Our two main approaches are a popup menu that basically mirrors all the elements you can interact with in your inventory without having to mouse <em>all the way<\/em> over to the right side of the screen and a hotkeying system for instant casts\/uses.<\/p>\n<p>The debate around the popup menu is if we should make it context-sensitive so that you right-click on an enemy\/wall and only get things you can do to that enemy\/wall and right-clicking on yourself pops up buff glyphs and potions, or if we should just do a radial menu of everything you could conceivably interact with irrespective of the context.<\/p>\n<p>Hotkeying is similar: Do we allow players to assign hotkeys on the fly, by tapping 1 while mousing over a glyph in the iventory for instance &#8211; meaning hitting 1 in the game area will cast that glyph. Or do we assign each individual possible interactive item\/glyph\/potion a unique hotkey, similar to how M and H use mana and health potions in the freeware. We&#8217;re calling that the Diablo vs Starcraft debate&#8230; Yes, we could theoretically do both. Which would you <em>prefer<\/em> though? Which would you use the most?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We can safely reveal that the artist responsible for the character portraits that got some of you salivating even more than usual is none other than: Lurk! Recommended some months ago by Derek Yu (possibly to stop us saying thank you for the tileset), Lurk answered our &#8220;Would you be interested in working on Desktop [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[4],"tags":[19,18],"_links":{"self":[{"href":"https:\/\/www.qcfdesign.com\/index.php?rest_route=\/wp\/v2\/posts\/367"}],"collection":[{"href":"https:\/\/www.qcfdesign.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.qcfdesign.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.qcfdesign.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.qcfdesign.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=367"}],"version-history":[{"count":0,"href":"https:\/\/www.qcfdesign.com\/index.php?rest_route=\/wp\/v2\/posts\/367\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.qcfdesign.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=367"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.qcfdesign.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=367"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.qcfdesign.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=367"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}