{"id":925,"date":"2025-03-16T12:55:36","date_gmt":"2025-03-16T12:55:36","guid":{"rendered":"https:\/\/sites.wsagames.com\/pe1n23\/?p=925"},"modified":"2025-10-07T11:40:51","modified_gmt":"2025-10-07T11:40:51","slug":"week-7-development","status":"publish","type":"post","link":"https:\/\/sites.wsagames.com\/pe1n23\/week-7-development\/","title":{"rendered":"Week 7 Development"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Fixing Collisions<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">On Wednesday I continued working on the game, and noticed that the rat was registering as grounded every so often when holding the screw, interrupting the jump animation and allowing the player to jump in mid-air.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This was rectified by adding a layer mask corresponding to all solid static surfaces (denoted as &#8220;Walls&#8221;) to the ground check in the player movement script:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1121\" height=\"272\" src=\"https:\/\/sites.wsagames.com\/pe1n23\/wp-content\/uploads\/sites\/10\/2025\/03\/image.png\" alt=\"\" class=\"wp-image-926\" style=\"width:845px;height:auto\" srcset=\"https:\/\/sites.wsagames.com\/pe1n23\/wp-content\/uploads\/sites\/10\/2025\/03\/image.png 1121w, https:\/\/sites.wsagames.com\/pe1n23\/wp-content\/uploads\/sites\/10\/2025\/03\/image-300x73.png 300w, https:\/\/sites.wsagames.com\/pe1n23\/wp-content\/uploads\/sites\/10\/2025\/03\/image-1024x248.png 1024w, https:\/\/sites.wsagames.com\/pe1n23\/wp-content\/uploads\/sites\/10\/2025\/03\/image-768x186.png 768w\" sizes=\"(max-width: 1121px) 100vw, 1121px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">I also saw that a similar problem was causing problems with camera collisions when holding the screw, so I moved the layer check from inside the existing sphere cast: <\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img decoding=\"async\" width=\"1826\" height=\"252\" src=\"https:\/\/sites.wsagames.com\/pe1n23\/wp-content\/uploads\/sites\/10\/2025\/03\/image-1.png\" alt=\"\" class=\"wp-image-927\" style=\"width:1065px;height:auto\" srcset=\"https:\/\/sites.wsagames.com\/pe1n23\/wp-content\/uploads\/sites\/10\/2025\/03\/image-1.png 1826w, https:\/\/sites.wsagames.com\/pe1n23\/wp-content\/uploads\/sites\/10\/2025\/03\/image-1-300x41.png 300w, https:\/\/sites.wsagames.com\/pe1n23\/wp-content\/uploads\/sites\/10\/2025\/03\/image-1-1024x141.png 1024w, https:\/\/sites.wsagames.com\/pe1n23\/wp-content\/uploads\/sites\/10\/2025\/03\/image-1-768x106.png 768w, https:\/\/sites.wsagames.com\/pe1n23\/wp-content\/uploads\/sites\/10\/2025\/03\/image-1-1536x212.png 1536w\" sizes=\"(max-width: 1826px) 100vw, 1826px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">To inside the cast itself:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img decoding=\"async\" width=\"2346\" height=\"156\" src=\"https:\/\/sites.wsagames.com\/pe1n23\/wp-content\/uploads\/sites\/10\/2025\/03\/image-2.png\" alt=\"\" class=\"wp-image-928\" srcset=\"https:\/\/sites.wsagames.com\/pe1n23\/wp-content\/uploads\/sites\/10\/2025\/03\/image-2.png 2346w, https:\/\/sites.wsagames.com\/pe1n23\/wp-content\/uploads\/sites\/10\/2025\/03\/image-2-300x20.png 300w, https:\/\/sites.wsagames.com\/pe1n23\/wp-content\/uploads\/sites\/10\/2025\/03\/image-2-1024x68.png 1024w, https:\/\/sites.wsagames.com\/pe1n23\/wp-content\/uploads\/sites\/10\/2025\/03\/image-2-768x51.png 768w, https:\/\/sites.wsagames.com\/pe1n23\/wp-content\/uploads\/sites\/10\/2025\/03\/image-2-1536x102.png 1536w, https:\/\/sites.wsagames.com\/pe1n23\/wp-content\/uploads\/sites\/10\/2025\/03\/image-2-2048x136.png 2048w\" sizes=\"(max-width: 2346px) 100vw, 2346px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">This was more elegant and fixed the camera problem.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This also required me to double check and ensure all the static objects were given the Walls layer, which is tedious but ultimately worth it.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Adding Tooltips<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">I wanted to work on something fun so I decided to implement tooltip popups above grabbable objects. I started by creating a Canvas in world space for a popup. This had to be scaled down to fit in the scene.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1015\" height=\"998\" src=\"https:\/\/sites.wsagames.com\/pe1n23\/wp-content\/uploads\/sites\/10\/2025\/03\/image-3.png\" alt=\"\" class=\"wp-image-929\" style=\"width:466px;height:auto\" srcset=\"https:\/\/sites.wsagames.com\/pe1n23\/wp-content\/uploads\/sites\/10\/2025\/03\/image-3.png 1015w, https:\/\/sites.wsagames.com\/pe1n23\/wp-content\/uploads\/sites\/10\/2025\/03\/image-3-300x295.png 300w, https:\/\/sites.wsagames.com\/pe1n23\/wp-content\/uploads\/sites\/10\/2025\/03\/image-3-768x755.png 768w\" sizes=\"(max-width: 1015px) 100vw, 1015px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Then I added my existing script I used for the advance dialogue prompt, that replaces the button prompts with sprites.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"736\" height=\"624\" src=\"https:\/\/sites.wsagames.com\/pe1n23\/wp-content\/uploads\/sites\/10\/2025\/03\/image-4.png\" alt=\"\" class=\"wp-image-930\" style=\"width:484px;height:auto\" srcset=\"https:\/\/sites.wsagames.com\/pe1n23\/wp-content\/uploads\/sites\/10\/2025\/03\/image-4.png 736w, https:\/\/sites.wsagames.com\/pe1n23\/wp-content\/uploads\/sites\/10\/2025\/03\/image-4-300x254.png 300w\" sizes=\"(max-width: 736px) 100vw, 736px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">These now need to be given code to face the camera. I used code from this video by Christina Makes Games:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe title=\"Unity UI canvas modes and canvas scaler explained\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/1OwQflHq5kg?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">I then added this to a Billboard script component of the popup canvas object. Now the popups properly face the camera.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"403\" height=\"312\" src=\"https:\/\/sites.wsagames.com\/pe1n23\/wp-content\/uploads\/sites\/10\/2025\/03\/image-8.png\" alt=\"\" class=\"wp-image-945\" srcset=\"https:\/\/sites.wsagames.com\/pe1n23\/wp-content\/uploads\/sites\/10\/2025\/03\/image-8.png 403w, https:\/\/sites.wsagames.com\/pe1n23\/wp-content\/uploads\/sites\/10\/2025\/03\/image-8-300x232.png 300w\" sizes=\"(max-width: 403px) 100vw, 403px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Adding the Quest Log<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">I further worked on more of the tutorial on the Quest system, this time adding a quest log which holds all the current information about quests:<\/p>\n\n\n\n<figure class=\"wp-block-embed aligncenter is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe title=\"How to Create a Quest Log in Unity\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/ZYVED_aLHj0?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">However, I had to make some changes to this to better fit the <em>Untitled Goose Game<\/em> inspirations I currently had in mind. For starters, I did not have quest requirements or rewards, so these could be removed outright. I also wanted quest log entries to just be simple text entries.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Fixing Collisions On Wednesday I continued working on the game, and noticed that the rat was registering as grounded every so often when holding the screw, interrupting the jump animation and allowing the player to jump in mid-air. This was rectified by adding a layer mask corresponding to all solid static surfaces (denoted as &#8220;Walls&#8221;) [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":930,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24,29,30],"tags":[],"class_list":["post-925","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development","category-semester-2","category-year2"],"_links":{"self":[{"href":"https:\/\/sites.wsagames.com\/pe1n23\/wp-json\/wp\/v2\/posts\/925","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sites.wsagames.com\/pe1n23\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sites.wsagames.com\/pe1n23\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sites.wsagames.com\/pe1n23\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/sites.wsagames.com\/pe1n23\/wp-json\/wp\/v2\/comments?post=925"}],"version-history":[{"count":5,"href":"https:\/\/sites.wsagames.com\/pe1n23\/wp-json\/wp\/v2\/posts\/925\/revisions"}],"predecessor-version":[{"id":1104,"href":"https:\/\/sites.wsagames.com\/pe1n23\/wp-json\/wp\/v2\/posts\/925\/revisions\/1104"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sites.wsagames.com\/pe1n23\/wp-json\/wp\/v2\/media\/930"}],"wp:attachment":[{"href":"https:\/\/sites.wsagames.com\/pe1n23\/wp-json\/wp\/v2\/media?parent=925"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sites.wsagames.com\/pe1n23\/wp-json\/wp\/v2\/categories?post=925"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sites.wsagames.com\/pe1n23\/wp-json\/wp\/v2\/tags?post=925"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}