{"id":116,"date":"2022-04-08T16:25:22","date_gmt":"2022-04-09T00:25:22","guid":{"rendered":"https:\/\/blogs.ubc.ca\/kashishgarg\/?page_id=116"},"modified":"2022-04-10T09:55:37","modified_gmt":"2022-04-10T17:55:37","slug":"projects","status":"publish","type":"page","link":"https:\/\/blogs.ubc.ca\/kashishgarg\/projects\/","title":{"rendered":"Projects"},"content":{"rendered":"<p>Below I have showcased two technical projects that I programmed: A snake\/trivia game based on the popular influencer, David Dobrik, and a random anime (Japanese animation) recommender system.<\/p>\n<h5>Snake\/trivia Game<\/h5>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-156 aligncenter\" src=\"https:\/\/blogs.ubc.ca\/kashishgarg\/files\/2022\/04\/tmu8d9fA-300x300.jpg\" alt=\"\" width=\"219\" height=\"219\" srcset=\"https:\/\/blogs.ubc.ca\/kashishgarg\/files\/2022\/04\/tmu8d9fA-300x300.jpg 300w, https:\/\/blogs.ubc.ca\/kashishgarg\/files\/2022\/04\/tmu8d9fA-150x150.jpg 150w, https:\/\/blogs.ubc.ca\/kashishgarg\/files\/2022\/04\/tmu8d9fA.jpg 400w\" sizes=\"auto, (max-width: 219px) 100vw, 219px\" \/><\/p>\n<p>For the group project in my CPSC 100 course at UBC, I collaborated with other students throughout the semester to program a snake\/trivia game, using the visual programming language, Snap! The game is based around the popular social media influencer, David Dobrik.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-151 aligncenter\" src=\"https:\/\/blogs.ubc.ca\/kashishgarg\/files\/2022\/04\/Snake_trivia-game-icons-3-300x76.png\" alt=\"\" width=\"300\" height=\"76\" srcset=\"https:\/\/blogs.ubc.ca\/kashishgarg\/files\/2022\/04\/Snake_trivia-game-icons-3-300x76.png 300w, https:\/\/blogs.ubc.ca\/kashishgarg\/files\/2022\/04\/Snake_trivia-game-icons-3-768x195.png 768w, https:\/\/blogs.ubc.ca\/kashishgarg\/files\/2022\/04\/Snake_trivia-game-icons-3.png 956w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><strong>Rules:<\/strong> Playing as a David Dobrik &#8216;snake&#8217;, Youtube, Snapchat, and Instagram icons are collected to grow the snake and gain followers. The hazard icon should be avoided as it causes you to lose followers. There are also 7 question mark icons, which temporarily pauses the snake game for you to answer a true or false trivia question about David Dobrik. A correct answer leads to a gain in followers, while an incorrect answer leads a loss in followers.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-160\" src=\"https:\/\/blogs.ubc.ca\/kashishgarg\/files\/2022\/04\/Start-Screen-1-300x225.jpg\" alt=\"\" width=\"300\" height=\"225\" srcset=\"https:\/\/blogs.ubc.ca\/kashishgarg\/files\/2022\/04\/Start-Screen-1-300x225.jpg 300w, https:\/\/blogs.ubc.ca\/kashishgarg\/files\/2022\/04\/Start-Screen-1-768x576.jpg 768w, https:\/\/blogs.ubc.ca\/kashishgarg\/files\/2022\/04\/Start-Screen-1.jpg 960w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><strong>Initiation:<\/strong> The starting screen displays a list of rules and prompts the player to begin the game by clicking the green flag on the Snap! website.<\/p>\n<p><iframe loading=\"lazy\" title=\"CPSCProjectVideo-GameOver\" width=\"580\" height=\"435\" src=\"https:\/\/www.youtube.com\/embed\/Jr9HnUpqMiA?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><\/p>\n<p><strong>How to Lose:\u00a0<\/strong>The game can be lost in two ways: By hitting one of the walls, or by losing all of your followers. The above video shows some gameplay and demonstrates losing by hitting one of the walls.<\/p>\n<p><iframe loading=\"lazy\" title=\"CPSCProjectVideo-WinningGame\" width=\"580\" height=\"435\" src=\"https:\/\/www.youtube.com\/embed\/dWFvF5M04m0?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><\/p>\n<p><strong>How to Win:\u00a0<\/strong>The game can be won by reaching 1 million followers, which the above video demonstrates. The follower count can be seen in the top left-hand corner of the screen.<\/p>\n<p>Click <a href=\"https:\/\/snap.berkeley.edu\/project?user=kashishgarg&amp;project=CPSC%20100%20Course%20Project\">here<\/a> to play the snake\/trivia game.<\/p>\n<h5>Random Anime Recommender System<\/h5>\n<p>In my CPSC 103 course at UBC, I learned a programming design recipe known as &#8216;How to Design Analysis Programs&#8217;, and this recipe centers around analyzing a dataset. Using this recipe, I analyzed an anime (Japanese animation) dataset and programmed a random anime recommender system in Python.<\/p>\n<p><iframe loading=\"lazy\" title=\"Random Anime Recommender System\" width=\"580\" height=\"326\" src=\"https:\/\/www.youtube.com\/embed\/i-ORblr310E?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><\/p>\n<p>The recommender system consists of three inputs: Genre of the anime (Action, Comedy, Adventure, etc.), minimum user rating of the anime out of 10, and\u00a0form of the anime (TV show or movie). The system will then output a random anime that fits all three of these criteria. The above video shows 4 demonstrations of the recommender system. To showcase the system&#8217;s random nature, the first 2 demonstrations input the same criteria (Genre: Action; Minimum Rating: 7; Form: TV), and the system outputs a different anime each time. The last 2 demonstrations input different criteria to showcase the system&#8217;s diversity.<\/p>\n<p>Click <a href=\"https:\/\/blogs.ubc.ca\/kashishgarg\/files\/2022\/04\/Random-Anime-Recommender.pdf\">here<\/a> for a PDF of my work using the &#8216;How to Design Analysis Programs&#8217; design recipe, which includes the full Python code for the recommender system.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Below I have showcased two technical projects that I programmed: A snake\/trivia game based on the popular influencer, David Dobrik, and a random anime (Japanese animation) recommender system. Snake\/trivia Game For the group project in my CPSC 100 course at UBC, I collaborated with other students throughout the semester to program a snake\/trivia game, using [&hellip;]<\/p>\n","protected":false},"author":76228,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-116","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/blogs.ubc.ca\/kashishgarg\/wp-json\/wp\/v2\/pages\/116","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.ubc.ca\/kashishgarg\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/blogs.ubc.ca\/kashishgarg\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.ubc.ca\/kashishgarg\/wp-json\/wp\/v2\/users\/76228"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.ubc.ca\/kashishgarg\/wp-json\/wp\/v2\/comments?post=116"}],"version-history":[{"count":16,"href":"https:\/\/blogs.ubc.ca\/kashishgarg\/wp-json\/wp\/v2\/pages\/116\/revisions"}],"predecessor-version":[{"id":168,"href":"https:\/\/blogs.ubc.ca\/kashishgarg\/wp-json\/wp\/v2\/pages\/116\/revisions\/168"}],"wp:attachment":[{"href":"https:\/\/blogs.ubc.ca\/kashishgarg\/wp-json\/wp\/v2\/media?parent=116"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}