Skip to main content

A lightweight, developer-first game engine built for Python.

Project description

logo
rubato

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

Rubato is a modern 2D game engine for python. Accurate fixed-step physics simulations, robust scene and sprite management, event listener system and more all come prepackaged.

Fundamentally, Rubato is built developer-focused. From intricate rigidbody simulations to 2D games, Rubato streamlines development for beginners and the poweruser. And all that finally with some legible documentation.

Rubato currently relies on PyGame for underlying functionality, but we are actively working to depreciate this with SDL2. This will reduce overhead and remedy some nasty PyGame quirks. On older Rubato versions PyGame can still be accessed, but keep in mind porting to newer versions may break code.

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

Get started here.

Changelog

v1.2.0 - March 15, 2022

Added

  • Proper 2d physics without angular velocity and torque
  • Circle collision
  • Groups are back

Changed

  • Updated default image import to actually work properly
  • Hitboxes can now be colored in. This replaces the old Rectangle class
  • Hitboxes are now created like all other components (as in they use a options dictionary)
  • Collision now happen automatically

Removed

  • Rectangle class

Fixed

  • Animations are now independent from FPS

v1.1.0 - March 01, 2022

Added

  • Sound system

Changed

  • Switched to a component based system (similar to Unity)

Removed

  • Removed Groups because they were deemed useless
  • Physics for now

v1.0.0 - Feb 01, 2022

Added

  • Full Documentation through docstrings and through website
  • Loader for images. (Can load entire folders)
  • Custom errors
  • A full color implementation
  • Added continuous integration
  • Text can be drawn onto surfaces

Changed

  • A more complete color implementation
  • New time system
  • Switched to GPL-3.0 License
  • Lots of linting
  • Move default options to their own area

Fixed

  • Many many bugs

v0.0.1 - Nov 03, 2021

Added

  • Basic framework for everything
  • Sprites, Scenes, Main game object
  • Rigidbody implementation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rubato-0.1.0.zip (55.8 kB view details)

Uploaded Source

Built Distribution

rubato-0.1.0-py3-none-any.whl (51.0 kB view details)

Uploaded Python 3

File details

Details for the file rubato-0.1.0.zip.

File metadata

  • Download URL: rubato-0.1.0.zip
  • Upload date:
  • Size: 55.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.6

File hashes

Hashes for rubato-0.1.0.zip
Algorithm Hash digest
SHA256 2f89d24a0cd7a33dec2442968c405afa1b3f0e374cce906e8d702fea17bbfb67
MD5 fc1041414a468ee81b6994b3d7524211
BLAKE2b-256 8f35ee9639c2e979b5594dbf23d8a121ea1b4d75e4c5e6c0d3cfbe6d4e0e130d

See more details on using hashes here.

File details

Details for the file rubato-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: rubato-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 51.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.6

File hashes

Hashes for rubato-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d52e7bd38eff749299880da0a52e4e93f06a8665d6a0fd0fd50ac9707faa3b05
MD5 b2723e7d9811754206e1a6e77aed1d27
BLAKE2b-256 3fc678c1b338487907d3f4bdd3e4efeca5f20bb5044c34b996df2622f38bd166

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page