{"id":2650,"date":"2019-08-27T23:31:24","date_gmt":"2019-08-28T03:31:24","guid":{"rendered":"https:\/\/portfolios.cs.earlham.edu\/?p=2650"},"modified":"2025-04-15T14:44:27","modified_gmt":"2025-04-15T18:44:27","slug":"cs-388-week-1-first-idea-2","status":"publish","type":"post","link":"https:\/\/portfolios.cs.earlham.edu\/index.php\/2019\/08\/27\/cs-388-week-1-first-idea-2\/","title":{"rendered":"CS 388 &#8211; Week 1 &#8211; First Idea"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>Name of Your Project<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Implementing AI into Rhythm-Based Video Games<strong><br><br>What research topic\/question your project is going to address?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The project is going to attempt to address a common issue with rhythm games &#8211; particularly for mobile devices &#8211; where, upon finishing a song, the game goes into an &#8216;Endless Mode&#8217;. Currently, &#8216;Endless Mode&#8217;s tend to be the same song repeated, generally increasing in tempo as time goes on, which makes the game more repetitive and boring the better you are\/longer you can last.<strong><br><br>What technology will be used in your project?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I would use Unity, as well as Melodrive, primarily. Further technology, including alternative music-based AIs, may be explored as needed. A laptop or desktop computer to code on, as well as a mobile device, would be used for testing.<strong><br><br>What software and hardware will be needed for your project?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The Unity game engine, Melodrive, a laptop or desktop, and a mobile device.<strong><br><br>How are you planning to implement?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I would implement this project by first creating a simple rhythm-based game (one example of such would be the popular Piano Tiles), in Unity, creating a system by which the game can generate a level based on any song uploaded by the user. Once that framework has been created, I would use Melodrive&#8217;s Unity API (or create an API using another music-based AI if necessary) to generate infinite new music for a truly &#8216;Endless&#8217; experience that will never bore the user with repeated music.<strong><br><br>How is your project different from others? What\u2019s new in your project?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">My project is different from others due to the two fields it delves into &#8211; video game design, and AI. The project would be new from its conception; from what I can tell, there are currently no games or apps on the mobile market that can offer a non-repetitive &#8216;Endless Mode&#8217; upon completion of a song\/level. Similar technology could be used in any other video game, as well, instead of a repeating song serving as the background music.<strong><br><br>What\u2019s the difficulties of your project? What problems you might encounter during your project?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The first difficulty I&#8217;ll have with this project is coding the initial game &#8211; while manually creating parameters for set songs (i.e. when to make objects for the player to tap, where to place them, and so forth) is easy, albeit time-consuming, making a program to dynamically create the level based on any input sound clip will be considerably more difficult. Additionally, depending on the limitations of Melodrive&#8217;s Unity API, it may be a challenge to create infinite music during the play session. If that is the case, I&#8217;ll have to jury rig it to do so, or alternatively create an all-new API using one of the other various music-based AIs.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Name of Your Project Implementing AI into Rhythm-Based Video Games What research topic\/question your project is going to address? The project is going to attempt to address a common issue with rhythm games &#8211; particularly for mobile devices &#8211; where, upon finishing a song, the game goes into an &#8216;Endless Mode&#8217;. Currently, &#8216;Endless Mode&#8217;s tend &#8230; <a title=\"CS 388 &#8211; Week 1 &#8211; First Idea\" class=\"read-more\" href=\"https:\/\/portfolios.cs.earlham.edu\/index.php\/2019\/08\/27\/cs-388-week-1-first-idea-2\/\" aria-label=\"Read more about CS 388 &#8211; Week 1 &#8211; First Idea\">Read more<\/a><\/p>\n","protected":false},"author":81,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[80,96,19],"tags":[],"class_list":["post-2650","post","type-post","status-publish","format-standard","hentry","category-80","category-benjamin-paff","category-student"],"_links":{"self":[{"href":"https:\/\/portfolios.cs.earlham.edu\/index.php\/wp-json\/wp\/v2\/posts\/2650","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/portfolios.cs.earlham.edu\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/portfolios.cs.earlham.edu\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/portfolios.cs.earlham.edu\/index.php\/wp-json\/wp\/v2\/users\/81"}],"replies":[{"embeddable":true,"href":"https:\/\/portfolios.cs.earlham.edu\/index.php\/wp-json\/wp\/v2\/comments?post=2650"}],"version-history":[{"count":1,"href":"https:\/\/portfolios.cs.earlham.edu\/index.php\/wp-json\/wp\/v2\/posts\/2650\/revisions"}],"predecessor-version":[{"id":2651,"href":"https:\/\/portfolios.cs.earlham.edu\/index.php\/wp-json\/wp\/v2\/posts\/2650\/revisions\/2651"}],"wp:attachment":[{"href":"https:\/\/portfolios.cs.earlham.edu\/index.php\/wp-json\/wp\/v2\/media?parent=2650"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/portfolios.cs.earlham.edu\/index.php\/wp-json\/wp\/v2\/categories?post=2650"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/portfolios.cs.earlham.edu\/index.php\/wp-json\/wp\/v2\/tags?post=2650"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}