Code Monkey home page Code Monkey logo

rubato's Issues

Combo input function

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).

Pausing doesn't work

Describe the bug
When you set the game state to paused, the game quits instead of pausing.

Expected behavior
The game should pause

UPPERCASE lowercase shift and caps switch.

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"):

Animations need to not be tied to fps

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).

Menu System

A proper menu system would make it much easier to make proper games

Change coordinate system

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.

modifier key is considered pressed when it isnt

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.

Various game parameters don't update live

For example:

  • Changing the window name variable doesn't change the window name

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).

Make some examples

Describe the issue
These are basically just big code blocks that demo how to use certain things

create helper function allowing to import an entire folder of spritesheets

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".

Perlin Noise clean up

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.

Create tileable image component.

  • Simple Tilemap
  • Tiled Support
    • Proper scaling
    • Multiple Tilesets
    • Layer Offset
    • Multiple Layers
      • Tile Layers
      • Object Layers
      • Group Layers
      • Image Layers
    • Layer Visibility
    • Layer Opacity
    • Tile Opacity
    • Objects Collisions
    • Map Background Color
    • Parallax
    • Worlds
    • Layer tint color
    • Tile animations

Tiled strict limitations:

  • No infinite maps
  • Orthogonal and rectangular tiles only

split custom window methods and properties from Game into Display

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".

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.