{"id":17,"date":"2023-02-07T16:45:22","date_gmt":"2023-02-07T16:45:22","guid":{"rendered":"https:\/\/blogs.oregonstate.edu\/petekevi\/?p=17"},"modified":"2023-02-07T16:46:55","modified_gmt":"2023-02-07T16:46:55","slug":"blog-post-3","status":"publish","type":"post","link":"https:\/\/blogs.oregonstate.edu\/petekevi\/2023\/02\/07\/blog-post-3\/","title":{"rendered":"Blog Post #3"},"content":{"rendered":"\n<p>First and foremost &#8211; a quick group update; We&#8217;ve been spending some time prototyping and planning different assets for our project. In the near future we&#8217;ll be looking to start bringing some of our work together to stand up our text adventure game for the first time. Looking forward to the challenge that awaits.<\/p>\n\n\n\n<p>Last post I described a technique used in video-games to enhance impacts known as &#8220;Hit Pause&#8221;. This week I thought I&#8217;d continue the trend with another interesting technique, this one lovingly referred to as &#8220;Suck-To-Target&#8221;. This concept is used less so in classic fighting games and moreso in combat games where the player is generally fighting NPCs (non-player characters). <\/p>\n\n\n\n<p>At its most basic, suck-to-target is responsible for helping the player land attacks that might otherwise whiff, generally making for a better gameplay experience. Its aimed at alleviating the problem of depth perception and attack-distance judgement:<\/p>\n\n\n\n<figure class=\"wp-block-image size-medium\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"227\" src=\"https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/6474\/files\/2023\/02\/image-300x227.png\" alt=\"\" class=\"wp-image-19\" srcset=\"https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/6474\/files\/2023\/02\/image-300x227.png 300w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/6474\/files\/2023\/02\/image.png 540w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/figure>\n\n\n\n<p>Lets imagine your character is about 4.5 meters away from an enemy and you have the choice to swing a big club towards the enemy. Lets say the attack would translate your character forward 3 meters and the club swing would extend your reach an extra meter. That would mean that you&#8217;d end up extending a total of 4 meters towards the target, causing you to whiff and leaving your character vulnerable to the enemy&#8217;s attack. Well nothing about that experience is fun, so suck-to-target essentially allows a game to nudge a character forward a bit faster in cases like this so that by the time the club starts to swing, you can guarantee it will impact the enemy. This makes for a much more satisfying gameplay experience and if done well, the player shouldn&#8217;t even notice the assist.<\/p>\n\n\n\n<p>In terms of the logic behind suck-to-target, it&#8217;s actually fairly simple. I.e. If your character is within <strong>x<\/strong> distance of your target, interpolate your character&#8217;s position towards the target and guarantee arrival within a specified window.<\/p>\n\n\n\n<p>Until next time!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>First and foremost &#8211; a quick group update; We&#8217;ve been spending some time prototyping and planning different assets for our project. In the near future we&#8217;ll be looking to start bringing some of our work together to stand up our text adventure game for the first time. Looking forward to the challenge that awaits. Last [&hellip;]<\/p>\n","protected":false},"author":13156,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-17","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blogs.oregonstate.edu\/petekevi\/wp-json\/wp\/v2\/posts\/17","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.oregonstate.edu\/petekevi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.oregonstate.edu\/petekevi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/petekevi\/wp-json\/wp\/v2\/users\/13156"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/petekevi\/wp-json\/wp\/v2\/comments?post=17"}],"version-history":[{"count":2,"href":"https:\/\/blogs.oregonstate.edu\/petekevi\/wp-json\/wp\/v2\/posts\/17\/revisions"}],"predecessor-version":[{"id":20,"href":"https:\/\/blogs.oregonstate.edu\/petekevi\/wp-json\/wp\/v2\/posts\/17\/revisions\/20"}],"wp:attachment":[{"href":"https:\/\/blogs.oregonstate.edu\/petekevi\/wp-json\/wp\/v2\/media?parent=17"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/petekevi\/wp-json\/wp\/v2\/categories?post=17"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/petekevi\/wp-json\/wp\/v2\/tags?post=17"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}