- 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
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.