{"id":27,"date":"2012-12-02T02:43:45","date_gmt":"2012-12-02T02:43:45","guid":{"rendered":"http:\/\/morsepower.net\/blog\/?p=27"},"modified":"2013-05-24T15:00:41","modified_gmt":"2013-05-24T15:00:41","slug":"comparing-controls-part-1","status":"publish","type":"post","link":"https:\/\/morsepower.net\/?p=27","title":{"rendered":"Comparing Controls: Part 1"},"content":{"rendered":"<p>&nbsp;<\/p>\n<p>The debate among gamers between analog control sticks and the classic mouse\/keyboard conversation has been raging for decades. I&#8217;ve been kicking around the ideas behind this post for a while, and my recent foray into <a href=\"http:\/\/mwomercs.com\/\">Mechwarrior Online<\/a> has rekindled my interest in putting this idea out there. Let&#8217;s look at the mathematics of the these control systems as a means of addressing their relative pros and cons.<\/p>\n<p>The mouse is a simple rodent. It controls the cursor position, directly. Moving the mouse &#8216;x&#8217; distance will result in a proportional cursor displacement.<\/p>\n<p><a href=\"https:\/\/morsepower.net\/blog\/?attachment_id=25\" rel=\"attachment wp-att-25\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-25\" title=\"mouse\" src=\"https:\/\/morsepower.net\/blog\/wp-content\/uploads\/mouse.png\" alt=\"\" width=\"300\" height=\"243\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Let&#8217;s take a look at how moving the mouse back and forth over one dimension translates to cursor movement over time.<\/p>\n<p><a href=\"https:\/\/morsepower.net\/blog\/?attachment_id=26\" rel=\"attachment wp-att-26\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-26\" title=\"mouse_time\" src=\"https:\/\/morsepower.net\/blog\/wp-content\/uploads\/mouse_time.png\" alt=\"\" width=\"300\" height=\"128\" \/><\/a><\/p>\n<p>Pretty simple triangular wave.<\/p>\n<p>Now let&#8217;s look at analog sticks, or joysticks. Joysticks are a bit more complicated. In most applications, the joystick doesn&#8217;t directly control position. It controls the derivative of position (in other words, cursor speed). Move the joystick a little, and the cursor moves slowly. Push it farther, and the cursor moves faster.<\/p>\n<p><a href=\"https:\/\/morsepower.net\/blog\/?attachment_id=28\" rel=\"attachment wp-att-28\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-28\" title=\"joystick\" src=\"https:\/\/morsepower.net\/blog\/wp-content\/uploads\/joystick.png\" alt=\"\" width=\"300\" height=\"232\" \/><\/a><\/p>\n<p>Let&#8217;s do the same graph as above, where a user is moving the joystick back and forth from its resting position. Note that this is all hand-waving and not mathematically precise (or even properly scaled).<\/p>\n<p><a href=\"https:\/\/morsepower.net\/blog\/?attachment_id=24\" rel=\"attachment wp-att-24\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-24\" title=\"joystick_time\" src=\"https:\/\/morsepower.net\/blog\/wp-content\/uploads\/joystick_time.png\" alt=\"\" width=\"300\" height=\"237\" \/><\/a><\/p>\n<p>Note the curvature of the cursor position. Because we&#8217;re only controlling the derivative, the actual position will be a continuous function. Therein lies the primary difference between a mouse and a joystick: a cursor driven by a mouse can be move in a discontinuous fashion (think jagged edges), but a cursor driven by a joystick will always need to form smooth curves.<\/p>\n<p>Truth be told, this paints analog sticks in a pretty grim light. But we&#8217;re making a couple of assumptions that might not be true for all games:<\/p>\n<ol>\n<li>that the joystick always controls the derivative of cursor position<\/li>\n<li>that the mouse movement is directly mapped and not limited.<\/li>\n<\/ol>\n<p>There are mechanics available which can turn both assumptions on their heads and level the playing field a bit. We&#8217;re also leaving out a critical portion of the mouse-and-keyboard setup: the <em>keyboard<\/em>. We&#8217;ll look at both of these factors in the next post.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; The debate among gamers between analog control sticks and the classic mouse\/keyboard conversation has been raging for decades. I&#8217;ve been kicking around the ideas behind this post for a while, and my recent foray into Mechwarrior Online has rekindled my interest in putting this idea out there. Let&#8217;s look at the mathematics of the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-27","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/morsepower.net\/index.php?rest_route=\/wp\/v2\/posts\/27","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/morsepower.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/morsepower.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/morsepower.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/morsepower.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=27"}],"version-history":[{"count":9,"href":"https:\/\/morsepower.net\/index.php?rest_route=\/wp\/v2\/posts\/27\/revisions"}],"predecessor-version":[{"id":75,"href":"https:\/\/morsepower.net\/index.php?rest_route=\/wp\/v2\/posts\/27\/revisions\/75"}],"wp:attachment":[{"href":"https:\/\/morsepower.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=27"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/morsepower.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=27"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/morsepower.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=27"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}