# ppy/osu

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/ppy-osu).**

17,936 stars · 2,620 forks · C# · mit

## Links

- GitHub: https://github.com/ppy/osu
- Homepage: https://osu.ppy.sh
- awesome-repositories: https://awesome-repositories.com/repository/ppy-osu.md

## Topics

`beatmap` `catch` `game` `mania` `osu` `rhythm` `taiko`

## Description

This project is an open-source, cross-platform rhythm game engine designed to execute musical gameplay by synchronizing visual hit objects with audio tracks. It functions as a comprehensive competitive gaming platform that tracks player performance metrics, manages official leaderboards, and facilitates the distribution of rhythm-based challenges across desktop and mobile operating systems.

The engine distinguishes itself through a modular architecture that decouples core gameplay logic from the engine, allowing developers to implement distinct game modes as swappable rulesets. It includes a built-in authoring tool for composing and synchronizing custom musical levels, which are managed through a standardized serialization format to ensure consistent playback and community sharing.

Beyond core gameplay, the platform provides a secure interface for third-party applications to access internal data streams, including player statistics and community information. The system supports a global community-driven ecosystem where users can create, share, and validate content, while developers utilize dependency-injection workflows to test and extend the engine's capabilities.

## Tags

### Game Development

- [Game Engines](https://awesome-repositories.com/f/game-development/game-engines-frameworks/game-engines.md) — Provides a cross-platform engine for executing musical gameplay and managing community-created beatmaps.
- [Rhythm](https://awesome-repositories.com/f/game-development/game-engines-frameworks/game-engines/rhythm.md) — Match visual cues to a soundtrack by providing precise timing and input to successfully complete complex musical levels during active play sessions. ([source](https://osu.ppy.sh/))
- [Competitive Gaming Platforms](https://awesome-repositories.com/f/game-development/competitive-gaming-platforms.md) — Deploying and maintaining rhythm game software across multiple desktop and mobile operating systems for a global community.
- [Cross-Platform Engines](https://awesome-repositories.com/f/game-development/game-engines-frameworks/cross-platform-engines.md) — Operates as a modular, cross-platform framework for building and distributing rhythm-based challenges.
- [Modular Rulesets](https://awesome-repositories.com/f/game-development/game-engines-frameworks/game-engines/modular-rulesets.md) — Create unique game modes by combining existing engine mechanics and interface elements to build original challenges that offer varied experiences for players to enjoy. ([source](https://cdn.jsdelivr.net/gh/ppy/osu@master/README.md))
- [Open Source Games](https://awesome-repositories.com/f/game-development/open-source-games.md) — Functions as an open-source, community-driven engine for executing musical gameplay.
- [Level Editors](https://awesome-repositories.com/f/game-development/level-editors.md) — Synchronize hit objects to audio tracks using a built-in editor that provides precise timing and visual design tools for creating interactive gameplay elements. ([source](https://osu.ppy.sh/wiki/en/Main_page))
- [Player Performance Analytics](https://awesome-repositories.com/f/game-development/player-performance-analytics.md) — Process user input against synchronized musical levels to determine scores and evaluate player accuracy across various game modes to provide feedback on skill levels. ([source](https://osu.ppy.sh/wiki/en/Main_page))
- [Game Distribution Platforms](https://awesome-repositories.com/f/game-development/game-distribution-platforms.md) — Facilitates the distribution and management of rhythm-based game clients across desktop and mobile operating systems.

### Content Management & Publishing

- [Beatmap Repositories](https://awesome-repositories.com/f/content-management-publishing/community-content-feeds/community-content-downloaders/beatmap-repositories.md) — Designing and sharing custom musical levels that allow players to contribute new gameplay experiences to a global library.
- [Community Content Downloaders](https://awesome-repositories.com/f/content-management-publishing/community-content-feeds/community-content-downloaders.md) — Browses and retrieves user-created levels from a shared library to expand the variety of available content for gameplay. ([source](https://osu.ppy.sh/home/download))
- [Content Validation Workflows](https://awesome-repositories.com/f/content-management-publishing/community-content-feeds/community-content-downloaders/content-validation-workflows.md) — Establish official leaderboards by managing a structured submission and review process that ensures high quality for all shared musical levels available to the public. ([source](https://osu.ppy.sh/wiki/en/Main_page))

### User Interface & Experience

- [Event-Driven Input Handlers](https://awesome-repositories.com/f/user-interface-experience/form-and-input-management/input-handling/event-driven-input-handlers.md) — Captures high-frequency user interactions and synchronizes them against precise audio timestamps to calculate real-time performance and accuracy metrics.

### Development Tools & Productivity

- [RESTful APIs](https://awesome-repositories.com/f/development-tools-productivity/api-development-sdks/restful-apis.md) — Exposes internal gameplay statistics and community data through a standardized interface to facilitate secure communication with external third-party applications.
- [Asset Management](https://awesome-repositories.com/f/development-tools-productivity/cross-platform-package-managers/asset-management.md) — Standardizes the retrieval and local storage of community-created content to ensure consistent gameplay experiences across desktop and mobile operating systems.
- [Pre-release Build Channels](https://awesome-repositories.com/f/development-tools-productivity/release-management/pre-release-build-channels.md) — Grants access to pre-release versions of software for testing purposes through a managed platform. ([source](https://osu.ppy.sh/home/testflight))
- [Third-Party Service Integrations](https://awesome-repositories.com/f/development-tools-productivity/third-party-service-integrations.md) — Connects third-party tools to internal data streams to share user statistics and community information through a secure and standardized programmatic interface. ([source](https://osu.ppy.sh/wiki/en/Main_page))

### Security & Cryptography

- [User Account Management](https://awesome-repositories.com/f/security-cryptography/user-account-management.md) — Stores gameplay statistics and social interactions by creating unique accounts that track progress across a global community of players. ([source](https://osu.ppy.sh/))

### Data & Databases

- [Data Serialization Formats](https://awesome-repositories.com/f/data-databases/data-serialization-formats.md) — Encapsulates musical level data into structured files that map timing and input events to audio tracks for cross-platform playback.

### Web Development

- [Third-Party API Integrations](https://awesome-repositories.com/f/web-development/third-party-api-integrations.md) — Exposes internal gameplay data and community information through a secure interface for third-party application integration.
