Developing a Rhythm Game Level Editor

  • Made a level editor for an existing rhythm game (Osu!)
  • Implemented parsing of game data
  • Got to work with feedback and testing with existing userbase
  • Used Unity to develop a level editor that has its own testing runtime
  • Custom shader to recalculate the graph for accurate audio-based timing visualization
  • Learned about basic low-level audio programming for scheduling sounds accurately
  • Implemented custom undo framework

Project: github

Osu! is a popular rhythm game with million of users. It provides multiple rhythm games however, it does not provide a level editor for all of them. As such I took it upon myself to develop a level editor for the catch rhythm game of Osu!. The first consideration that had to be made was what to develop this level editor in. At the time I had experience with WPF and Winforms for desktop applications. Considering the size of the player database a windows-only solution would be far from ideal. Besides, being able to switch from level editor to testing (aka playing the game) is very important and would be a little tedious to achieve in comparison to implementing this in Unity. Although Unity is not a UI library, I decided that considering the, what I thought was, small-scale scope and importance of the testing part of the editor; using unity might be a surprisingly viable solution.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s