rubatopy / rubato Goto Github PK
View Code? Open in Web Editor NEWA lightweight, developer-first game engine built for Python
Home Page: https://rubato.app
License: GNU General Public License v3.0
A lightweight, developer-first game engine built for Python
Home Page: https://rubato.app
License: GNU General Public License v3.0
dependant on #38
Rotate images around their centre nicely using this.
(https://stackoverflow.com/questions/4183208/how-do-i-rotate-an-image-around-its-center-using-pygame)
Basically create a function that takes in a directory with spritesheet images, and import them all, adding them to an animation component automatically such that each filename (with extension removed) becomes the name for that respective animationstate.
i.e.:
I have a folder with idle.png and run.png, each of which is a spritesheet in which the individual sprites are the same size.
I run "import_from_folder(folder_dir)" and it imports all of the spritesheets into an animation object with the names "idle" and "run".
Create wrapper for all functions here that we think a user might need without looking into SDL documentation.
DrawPoint
DrawLine
etc.
Just like there is functionality for ctrl+z and ctrl+shift+z etc. We need to be able to give the combo functionality to users. rb.Input.is_combo_pressed(*args).
In math. Like unity
Come on yamm be better
Describe the issue
Add versioning to the documentation using: https://sphinxcontrib-versioning.readthedocs.io/en/latest/
When shift and or CAPS is pressed make
rb.game.radio.listen("p_down", callback)
and
rb.game.radio.listen("P_down", callback)
be different.
Also
if rb.Input.is_pressed("r"):
and
if rb.Input.is_pressed("R"):
Currently errors tell you WHAT the problem is but not WHERE the problem is. To solve this a naming system should be implemented. For example, we could use the variable name as the sprite name (handled when the sprite is added to a group). Same thing for groups. Components could just use their type name since there is only 1 component of each time on a given sprite.
Make it so that the 0,0 coordinate is the center the screen instead of top left being 0,0.
Also make it so that positive Y is pointing upwards.
Describe the issue
These are basically just big code blocks that demo how to use certain things
it's super inefficient to have rects draw as polygons; we should make them draw like normal rectangles instead.
For example:
There are many others.
What I want to happen is if a variable is "public" than changing it needs to have an effect. If you want it to be just read only, use a property method. If the user of the library shouldn't need to change it make it "private" (add a dunder).
Describe the bug
Currently animations are running very quickly at higher fps
Expected behavior
Instead, they should be independent of the games fps
Additional context
What would be nice is if you define a running fps for each animation you create (for example, 24fps for one animation and 60fps for another and the animation would move at that speed (as long as the value is not greater than the current fps or something).
A proper menu system would make it much easier to make proper games
Do circles
https://docs.python.org/3/library/heapq.html
Use the following link to use heapqueues.
They are better suited to our timer system where we don't need lookups.
Also, implement frame-based time so that we can call things in x frames from now.
The attributes need documentation
as the title says, we want to access window information and properties not through Game (which is super cluttered and not following OOP) but through the Display class. This means porting all the current Game window methods into Display and refactoring code to work with these new changes.
Preferably we could also have separate getters and setters for the window size and the display width/height so that users don't have to mess with unintuitive sounding variables like "resolution".
like pygame rect functionalities.
When we will use options in other directories apart from the sprite directory we will need to use the merge_params, and we don't want to import sprite.
Describe the issue
We need a proper getting started page.
Documentation link
https://tinmarr.github.io/rubato/dev/intro.html
Describe the issue
The docs are really outdated and need some updating.
how to replicate:
run the ball pit, and resize the window by holding shift. release shift BEFORE releasing the mouse cursor to end the resize operation. Now if you press "a" the secret combo will print even when shift is not pressed.
could be a mac only issue, could also be an SDL issue and therefore unfixable, not sure so assigning to martin.
For example, the space key is " ". Instead it should match pygame's key nameing
add some more natural default colors
sauce
make it fit the css theme somewhat, or at the very least not just a blank html page with paragraph text.
Just needs to be rewritten from scratch
Make sure that it is implemented correctly, giving the right credit.
Should be clean and utilize hidden classes so that the user can only use the Perlin noise function.
Martin fix scaling
Describe the bug
When you set the game state to paused, the game quits instead of pausing.
Expected behavior
The game should pause
The pygame one is kinda bad
add 1 line explanations to each element
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.