A lightweight, developer-first game engine built for Python.
Project description
rubato
Rubato is a modern 2D game engine for python. Accurate fixed-step physics simulations, robust scene and game object management, event listener system and more all come prepackaged.
Rubato is built developer-first. From intricate rigidbody simulations to 2D games, Rubato streamlines development for beginners and the poweruser. And all that finally with some legible documentation.
Rubato has now completed the transition to SDL2. The final PyGame-based release was 1.2, and is considered depricated. This has allowed us to implement more complex features not supported by PyGame such as antialiasing and hardware acceleration. If you would like to read more about PySDL2 or need to utilize its underlying functionality in your project, you can read the python wrapper documentation here and the base C++ SDL wiki here.
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.
Get started here.
Credit to @ArksDigital for the dino animation used in the demos and in the tutorial. (itch page)
Changelog
v2.0.0 - April 5, 2022
Added
- Sound class rewritten
- Spritesheet support
- A full UI system
- Text
- Quick draw functions in
Display
Changed
- Ported to PySDL2 from pygame
- Moved all window management from
Game
toDisplay
- Made classes that only need one instance static classes
- Rectangle implementation is now distinct from polygons
- Rename sprite to game object
Input.key_pressed()
can now take in an arbitrary number of arguments
Removed
- Default sprite images
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file rubato-0.2.0.zip
.
File metadata
- Download URL: rubato-0.2.0.zip
- Upload date:
- Size: 421.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3dac1999bb5ac296aaf6e360f90a6f95cb82e153c5beeacac900893850e75e0f |
|
MD5 | d9ee9b4fd571d8d0786dbd0bc22e71b2 |
|
BLAKE2b-256 | 009d2030b37fa08a395736df7c234bf634ab16173001981ca44eaa9b61bfb3b5 |
File details
Details for the file rubato-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: rubato-0.2.0-py3-none-any.whl
- Upload date:
- Size: 414.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a0d6bae4fbf8f22b90013ecc0a187d8baa95722c9bfcf69730b2eaa4fa84af2 |
|
MD5 | 6f37fb2302055d314f2f219d9077032f |
|
BLAKE2b-256 | 0f3039e68b2e8841293ecbfbf46b07f1268b43fcbff83d74c3b813041bcb3ca4 |