Skip to content

A lightweight, developer-first game engine built for Python

License

Notifications You must be signed in to change notification settings

rubatopy/rubato

Repository files navigation

rubato

Lisence PyPI PyPI - Downloads GitHub Release Date GitHub Build Status GitHub Docs Status

Discord Server   Twitter Page   Linkedin Page  

rubato is a modern 2D engine for game developement in python built in Cython using SDL2. It is aimed to aid in rapid prototyping and educational development of games as a stepping stone towards AAA tools such as Unity. rubato is more robust than its competitors, with a more intuitive syntax, high customizability, and zippy performance.

Here are some features we're especially proud of:

  • Powerful Rigidbody Physics
  • Event Subscription/Listener System
  • Spritesheets and Animations
  • Particle Systems
  • Tiled / Tilemap Support
  • Multichannel Sound System
  • Antialiasing + Anisotropic Filtering
  • Collision Optimization with Quadtrees
  • Texture-based Hardware Acceleration
  • User Interface Elements
  • And more!

1.0 is the latest API-stable release as of Dec. 31 2022, and we plan to maintain backwards compatibility in future releases. Please note that the alpha versions (0.x.x) are now deprecated and it is strongly recommended to update in order to get the latest features and optimizations.

Wondering about the name? rubato is a music term that indicates a phrase that should be performed expressively and freely. We aim to harness that same freedom, bringing a fresh, modern take on game developement in python to a variety of users regardless of their coding background.

Getting Started

Using rubato is super easy. Just install rubato through pip in a terminal:

pip install rubato

After that, getting a window up takes only 3 lines of code!

import rubato as rb

# initialize rubato
rb.init()

# launch the window
rb.begin()

Check out our tutorial to learn more about what you can do with rubato.

Changelog

See CHANGELOG.md

Looking to contribute to rubato?

See CONTRIBUTING.md. And join our discord!

A big thank you to all of our contributors who help make this project possible.

Code of Conduct

See CODE_OF_CONDUCT.md.