From 7d8b3c88373351a2485a98ff969c3be236e50389 Mon Sep 17 00:00:00 2001 From: Yamm Elnekave Date: Fri, 30 Dec 2022 19:24:40 -0800 Subject: [PATCH 1/6] Readme for 1.0 --- README.md | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 585b2c9b1..f7689f8a9 100644 --- a/README.md +++ b/README.md @@ -16,9 +16,27 @@ ### Get started [here](https://rubato.app/). -rubato is a modern 2D engine for game developement in python. Dynamic physics simulations, robust scene management, event listener system and more all come prepackaged. Built in Cython using SDL2, rubato offers great performance without compromising on the intuitive nature of python code. It is currently in the final stages of beta, and a first stable release is planned for December 31st, 2022. +rubato is a modern 2D engine for game developement in python. Dynamic physics simulations, robust scene management, event listener system and more all come prepackaged. Built in Cython using SDL2, rubato offers great performance without compromising on the intuitive nature of python code. Moving past 1.0, we plan to maintain complete backwards compatibility with other post-1.0 versions. -As of release 0.3.0, the transition to SDL2 and Cython was completed. DLLs and wheels for the household-name platforms come prebundled, making rubato plug-and-play on most machines. This transition has enabled more complex functionality such as antialiasing and hardware acceleration, as well as a backend of C classes to reduce overhead. Older versions of rubato, such as PyGame-based 0.1.2, are now completely deprecated and it is highly recommended for users of those versions to upgrade. 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](https://pysdl2.readthedocs.io/en/latest/) and the base C++ SDL wiki [here](https://wiki.libsdl.org). +As of release 1.0.0, we have a final ordering and functionality of all our main functoins. We no longer rely on sdlgfx using our own optimized rendering. Rubato also fully supports Tiled map files that can be directly placed into your game. Also check out the new Particles system for special effects. + +Check out how easy it is to start a project in rubato with 3 simple lines of code: + +[Installation instructions](https://docs.rubato.app/latest/intro/) + +```python +import rubato as rb + +# initialize rubato +rb.init() + +# begin +rb.begin() +``` + +[Basic rutorial](https://docs.rubato.app/latest/tutorials/platformer/) + +If you really want to use the underlying parts of the rubato project read more about PySDL2 [here](https://pysdl2.readthedocs.io/en/latest/), or the C++ SDL library it is wrapping [here](https://wiki.libsdl.org). _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._ From 9058208e31acda1c5b94900c947bd2a4f6753d36 Mon Sep 17 00:00:00 2001 From: Yamm Elnekave Date: Fri, 30 Dec 2022 19:38:36 -0800 Subject: [PATCH 2/6] Update README.md --- README.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index f7689f8a9..e38d3ed93 100644 --- a/README.md +++ b/README.md @@ -16,14 +16,12 @@ ### Get started [here](https://rubato.app/). -rubato is a modern 2D engine for game developement in python. Dynamic physics simulations, robust scene management, event listener system and more all come prepackaged. Built in Cython using SDL2, rubato offers great performance without compromising on the intuitive nature of python code. Moving past 1.0, we plan to maintain complete backwards compatibility with other post-1.0 versions. +rubato is a modern 2D engine for game developement in python built in Cython using SDL2. With hardware acceleration, rigidbody support, easy tile map and animations and more, rubato finally gives you the fast development and performance you needed of your python games and prototypes. Moving past 1.0, we plan to maintain complete backwards compatibility with other post-1.0 versions. As of release 1.0.0, we have a final ordering and functionality of all our main functoins. We no longer rely on sdlgfx using our own optimized rendering. Rubato also fully supports Tiled map files that can be directly placed into your game. Also check out the new Particles system for special effects. Check out how easy it is to start a project in rubato with 3 simple lines of code: -[Installation instructions](https://docs.rubato.app/latest/intro/) - ```python import rubato as rb @@ -34,7 +32,7 @@ rb.init() rb.begin() ``` -[Basic rutorial](https://docs.rubato.app/latest/tutorials/platformer/) +Check out the rubato website for [Installation instructions](https://docs.rubato.app/latest/intro/) and a [Basic tutorial](https://docs.rubato.app/latest/tutorials/platformer/) to get you started. If you really want to use the underlying parts of the rubato project read more about PySDL2 [here](https://pysdl2.readthedocs.io/en/latest/), or the C++ SDL library it is wrapping [here](https://wiki.libsdl.org). @@ -48,7 +46,7 @@ See [CHANGELOG.md](https://github.com/rubatopy/rubato/blob/main/CHANGELOG.md) #### Looking to contribute to Rubato? -See [CONTRIBUTING.md](https://github.com/rubatopy/rubato/blob/main/CONTRIBUTING.md). +See [CONTRIBUTING.md](https://github.com/rubatopy/rubato/blob/main/CONTRIBUTING.md). And join our [discord](https://discord.gg/rdce5GXRrC)! #### Code of Conduct From 0a544062f87acc49a1766d8361133a94eacd18cc Mon Sep 17 00:00:00 2001 From: Yamm Elnekave Date: Fri, 30 Dec 2022 19:38:46 -0800 Subject: [PATCH 3/6] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e38d3ed93..b9549124d 100644 --- a/README.md +++ b/README.md @@ -18,8 +18,6 @@ rubato is a modern 2D engine for game developement in python built in Cython using SDL2. With hardware acceleration, rigidbody support, easy tile map and animations and more, rubato finally gives you the fast development and performance you needed of your python games and prototypes. Moving past 1.0, we plan to maintain complete backwards compatibility with other post-1.0 versions. -As of release 1.0.0, we have a final ordering and functionality of all our main functoins. We no longer rely on sdlgfx using our own optimized rendering. Rubato also fully supports Tiled map files that can be directly placed into your game. Also check out the new Particles system for special effects. - Check out how easy it is to start a project in rubato with 3 simple lines of code: ```python @@ -34,6 +32,8 @@ rb.begin() Check out the rubato website for [Installation instructions](https://docs.rubato.app/latest/intro/) and a [Basic tutorial](https://docs.rubato.app/latest/tutorials/platformer/) to get you started. +As of release 1.0.0, we have a final ordering and functionality of all our main functions. We no longer rely on sdlgfx using our own optimized rendering. Rubato also fully supports Tiled map files that can be directly placed into your game. Also check out the new Particles system for special effects. + If you really want to use the underlying parts of the rubato project read more about PySDL2 [here](https://pysdl2.readthedocs.io/en/latest/), or the C++ SDL library it is wrapping [here](https://wiki.libsdl.org). _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._ From 5f96a42f792dd83f0a602dc410f0034c806ccf1a Mon Sep 17 00:00:00 2001 From: Yamm Elnekave Date: Fri, 30 Dec 2022 19:42:15 -0800 Subject: [PATCH 4/6] big and bold --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index b9549124d..e2c417146 100644 --- a/README.md +++ b/README.md @@ -14,10 +14,11 @@ [Linkedin Page](https://www.linkedin.com/company/rubatopy/)   -### Get started [here](https://rubato.app/). +## Get started [here](https://rubato.app/). -rubato is a modern 2D engine for game developement in python built in Cython using SDL2. With hardware acceleration, rigidbody support, easy tile map and animations and more, rubato finally gives you the fast development and performance you needed of your python games and prototypes. Moving past 1.0, we plan to maintain complete backwards compatibility with other post-1.0 versions. +### rubato is a modern 2D engine for game developement in python built in Cython using SDL2. With hardware acceleration, rigidbody support, easy tile map and animations and more, rubato finally gives you the fast development and performance you needed of your python games and prototypes. Moving past 1.0, we plan to maintain complete backwards compatibility with other post-1.0 versions. +
Check out how easy it is to start a project in rubato with 3 simple lines of code: ```python @@ -26,7 +27,7 @@ import rubato as rb # initialize rubato rb.init() -# begin +# launch the window rb.begin() ``` From d2be83b73f2332f458a2ec17e7cf87a822b258ff Mon Sep 17 00:00:00 2001 From: Yamm Elnekave Date: Fri, 30 Dec 2022 19:59:38 -0800 Subject: [PATCH 5/6] Update README.md --- README.md | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index e2c417146..53f335d0b 100644 --- a/README.md +++ b/README.md @@ -14,11 +14,19 @@ [Linkedin Page](https://www.linkedin.com/company/rubatopy/)   -## Get started [here](https://rubato.app/). + -### rubato is a modern 2D engine for game developement in python built in Cython using SDL2. With hardware acceleration, rigidbody support, easy tile map and animations and more, rubato finally gives you the fast development and performance you needed of your python games and prototypes. Moving past 1.0, we plan to maintain complete backwards compatibility with other post-1.0 versions. +### Get started [here](https://rubato.app/). +### About rubato + +rubato is a modern 2D engine for game developement in python built in Cython using SDL2. With hardware acceleration, rigidbody support, easy tile map and animations and more, rubato finally gives you the fast development and performance you needed of your python games and prototypes. Moving past 1.0, we plan to maintain complete backwards compatibility with other post-1.0 versions. + +_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._
+ +## Help + Check out how easy it is to start a project in rubato with 3 simple lines of code: ```python @@ -31,16 +39,26 @@ rb.init() rb.begin() ``` -Check out the rubato website for [Installation instructions](https://docs.rubato.app/latest/intro/) and a [Basic tutorial](https://docs.rubato.app/latest/tutorials/platformer/) to get you started. +Check out the rubato website for [Installation instructions](https://docs.rubato.app/latest/intro/) and a [Basic tutorial](https://docs.rubato.app/latest/tutorials/platformer/) to get you going. + +### backend As of release 1.0.0, we have a final ordering and functionality of all our main functions. We no longer rely on sdlgfx using our own optimized rendering. Rubato also fully supports Tiled map files that can be directly placed into your game. Also check out the new Particles system for special effects. If you really want to use the underlying parts of the rubato project read more about PySDL2 [here](https://pysdl2.readthedocs.io/en/latest/), or the C++ SDL library it is wrapping [here](https://wiki.libsdl.org). -_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._ - A big thank you to all of our [contributors](https://github.com/rubatopy/rubato/blob/main/CONTRIBUTORS.md) who help make this project possible. +### Dependencies + +rubato is build on SDL2 and python as well as some other simpler things, here is a comprehensive list: + +- CPython >= 3.10 +- PySDL2 == 0.9.\* +- Cython == 3.0.0a11 +- pysdl2-dll == 2.24.\* +- pytiled-parser == 2.2.\* + #### Changelog See [CHANGELOG.md](https://github.com/rubatopy/rubato/blob/main/CHANGELOG.md) From b7c71b20319f10268532e91e7f5b1216ba9a48e5 Mon Sep 17 00:00:00 2001 From: Yamm Elnekave Date: Wed, 22 Mar 2023 16:50:48 -0700 Subject: [PATCH 6/6] Check initialization --- rubato/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rubato/__init__.py b/rubato/__init__.py index b379ccf08..e8e787903 100644 --- a/rubato/__init__.py +++ b/rubato/__init__.py @@ -59,7 +59,8 @@ def init( physics_fps: The physics simulation's frames per second. Defaults to 50. hidden: Whether the window should be hidden. Defaults to False. """ - sdl2.SDL_Init(sdl2.SDL_INIT_EVERYTHING) + if sdl2.SDL_Init(sdl2.SDL_INIT_EVERYTHING) != 0: + raise (Exception("SDL2 failed in initialization: " + sdl2.error.SDL_GetError().decode("ascii"))) Game._initialized = True