{"id":19814097,"url":"https://github.com/guibrandt/osulearn","last_synced_at":"2025-05-01T10:31:10.323Z","repository":{"id":53606582,"uuid":"162212121","full_name":"GuiBrandt/OsuLearn","owner":"GuiBrandt","description":"An attempt at using machine learning to create a neural network that learns how to play osu! like a human from replay data","archived":false,"fork":false,"pushed_at":"2021-03-21T15:39:25.000Z","size":34566,"stargazers_count":62,"open_issues_count":3,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-06T12:06:26.134Z","etag":null,"topics":["jupyter-notebook","keras","machine-learning","neural-network","osugame"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GuiBrandt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-12-18T01:25:11.000Z","updated_at":"2025-01-27T13:35:09.000Z","dependencies_parsed_at":"2022-09-19T05:00:29.405Z","dependency_job_id":null,"html_url":"https://github.com/GuiBrandt/OsuLearn","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GuiBrandt%2FOsuLearn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GuiBrandt%2FOsuLearn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GuiBrandt%2FOsuLearn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GuiBrandt%2FOsuLearn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GuiBrandt","download_url":"https://codeload.github.com/GuiBrandt/OsuLearn/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251859823,"owners_count":21655623,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["jupyter-notebook","keras","machine-learning","neural-network","osugame"],"created_at":"2024-11-12T09:38:04.444Z","updated_at":"2025-05-01T10:31:09.952Z","avatar_url":"https://github.com/GuiBrandt.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"OsuLearn\r\n========\r\n### An attempt at creating a Neural Network that learns how to play osu!std like a human from replays\r\n###### (Plz don't judge me too much I'm new to machine learning and i can't english)\r\n\r\nIntroduction\r\n------------\r\n\r\n\u003e osu! is a free and open-source rhythm game developed and published by Australian-based company PPY Developments PTY, created by Dean Herbert (also known as peppy). Originally released for Microsoft Windows on September 16, 2007, the game has also been ported to macOS (this version might be unstable), and Windows Phone. Its gameplay is based on titles including Osu! Tatakae! Ouendan, Elite Beat Agents, Taiko no Tatsujin, Beatmania IIDX, O2Jam, and DJMax. \r\n\u003e\r\n\u003e -- \u003ccite\u003e[Wikipedia](https://en.wikipedia.org/wiki/Osu!)\u003c/cite\u003e\r\n\r\nThe goal here is to model and train a Neural Network to generate replays for any osu beatmap it is given based on a dataset of recorded human replays (`.osr` files) and their respective beatmap (`.osu`) file.\r\n\r\nTo accomplish that, I've trained a Recurrent Neural Network with my replays and beatmaps.\r\n\r\nResults\r\n-------\r\n\r\nThis is a preview for a replay generated for a map the AI had never seen before:\r\n\r\n![IA Generated Replay](https://media.giphy.com/media/cYDD6KQP0dqK1XcXpu/giphy.gif)\r\n\r\nPretty good, actually!\r\n\r\nIt has figured out how to aim without looking like a robot and can even hit some jumps. Of course it is not perfect, but neither is the data set it has been trained on, so I am considering this a success.\r\n\r\nFuture\r\n------\r\n\r\nThe next step is to transform this into a GAN, so it can generate multiple different replays for a given map, mimicking a human play style.\r\n\r\nThis might take some time though, so that's it for now x).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguibrandt%2Fosulearn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fguibrandt%2Fosulearn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguibrandt%2Fosulearn/lists"}