{"id":267,"date":"2023-04-17T15:16:58","date_gmt":"2023-04-17T15:16:58","guid":{"rendered":"https:\/\/projects.etc.cmu.edu\/ace-breakers\/?p=267"},"modified":"2023-04-25T16:14:05","modified_gmt":"2023-04-25T16:14:05","slug":"week-12","status":"publish","type":"post","link":"https:\/\/projects.etc.cmu.edu\/ace-breakers\/week-12\/","title":{"rendered":"Week 12"},"content":{"rendered":"\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>Sweet Spot<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After the halves presentation, Chris mentioned a very interesting point to us: When playing real racquet sports, you can somehow feel it when you make a good shot. We were immediately drawn by this question and thought it would be really cool if we can come up with a solution to represent it in our game.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So the first question is how do we define a good shot? What kinds of shots are bad?  We trace the answer back to the start of the semester &#8211; the lesson we had with Laurel. She mentioned a term called sweet spot, which is basically a circle around the center of the paddle face. It&#8217;s highly recommended to hit within the sweet spot, as it grants the most control and stability. <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/sweet-spot-866x1024.png\" alt=\"\" class=\"wp-image-277\" width=\"442\" height=\"523\" srcset=\"https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/sweet-spot-866x1024.png 866w, https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/sweet-spot-254x300.png 254w, https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/sweet-spot-768x908.png 768w, https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/sweet-spot.png 969w\" sizes=\"auto, (max-width: 442px) 100vw, 442px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Our solution: when the player hits the ball, detect the contact point between the ball and paddle&#8217;s collider box. Then we calculate the distance between the contact point and the face center. The smaller distance means the player hits with more accuracy, and we therefore rewards the player by generating stronger and longer vibrations on their controller to indicate a good shot.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>Kill Shot<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">During the internal playtest, we notice that in many occasions, the game falls into a weird situation &#8211; with the help of the teleport system, there&#8217;s no point to make risky hits. So everyone hits the ball high and slow, and the game turns into a competition of who can avoid making mistakes. This can be a good thing, at least for beginners, as it allows them to play for more rallies. But not necessarily for players who seeks more competitive experience.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And that&#8217;s why we introduce the concept of Kill Shots: if you hits the ball really fast and the land point is far away from your opponents &#8211; beyond his reach, then the system will stop teleporting him, a kill shot! Basically, we are comparing the time for the ball to travel to the estimated teleport position, and the time the other player needs to move to that position. If the ball is faster, then it means the ball is beyond reach. <\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Having the kill shot feature, we give players a option to be much more aggressive, make more risky shots and hit the ball with bigger strength. Also, in order to get yourself ready for your opponent&#8217;s kill shot, you should always move back to the center of the field using joysticks after making every hit. This is very much aligned with the real-life pickleball strategy. This feature works really well during our internal playtest, adding a lot more fun and laughter to the project room!<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>Main Page<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As the entrance of our game, main page is really essential for player to navigate the game. Shiyong and Pulei worked really hard to design and implement it over last week, and we now have the main page fully implemented and test. Player can create\/join rooms, customize avatars and enter training mode by just a click of a button. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"578\" src=\"https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/image1-1024x578.png\" alt=\"\" class=\"wp-image-278\" srcset=\"https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/image1-1024x578.png 1024w, https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/image1-300x169.png 300w, https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/image1-768x434.png 768w, https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/image1-1536x868.png 1536w, https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/image1.png 1618w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/image2-1024x576.png\" alt=\"\" class=\"wp-image-280\" srcset=\"https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/image2-1024x576.png 1024w, https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/image2-300x169.png 300w, https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/image2-768x432.png 768w, https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/image2-1536x864.png 1536w, https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/image2.png 1616w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"574\" src=\"https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/image3-1024x574.png\" alt=\"\" class=\"wp-image-281\" srcset=\"https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/image3-1024x574.png 1024w, https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/image3-300x168.png 300w, https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/image3-768x430.png 768w, https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/image3-1536x861.png 1536w, https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/image3.png 1619w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/image4-1024x573.png\" alt=\"\" class=\"wp-image-282\" srcset=\"https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/image4-1024x573.png 1024w, https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/image4-300x168.png 300w, https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/image4-768x430.png 768w, https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/image4-1536x860.png 1536w, https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/image4.png 1619w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"574\" src=\"https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/image5-1024x574.png\" alt=\"\" class=\"wp-image-283\" srcset=\"https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/image5-1024x574.png 1024w, https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/image5-300x168.png 300w, https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/image5-768x430.png 768w, https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/image5-1536x861.png 1536w, https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/image5.png 1615w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"574\" src=\"https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/image7-1024x574.png\" alt=\"\" class=\"wp-image-284\" srcset=\"https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/image7-1024x574.png 1024w, https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/image7-300x168.png 300w, https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/image7-768x431.png 768w, https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/image7-1536x862.png 1536w, https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-content\/uploads\/2023\/04\/image7.png 1617w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Sweet Spot After the halves presentation, Chris mentioned a very interesting point to us: When playing real racquet sports, you can somehow feel it when you make a good shot. We were immediately drawn by this question and thought it would be really cool if we can come up with [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-267","post","type-post","status-publish","format-standard","hentry","category-blogs"],"_links":{"self":[{"href":"https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-json\/wp\/v2\/posts\/267","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-json\/wp\/v2\/comments?post=267"}],"version-history":[{"count":4,"href":"https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-json\/wp\/v2\/posts\/267\/revisions"}],"predecessor-version":[{"id":286,"href":"https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-json\/wp\/v2\/posts\/267\/revisions\/286"}],"wp:attachment":[{"href":"https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-json\/wp\/v2\/media?parent=267"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-json\/wp\/v2\/categories?post=267"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/projects.etc.cmu.edu\/ace-breakers\/wp-json\/wp\/v2\/tags?post=267"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}