A physics lib for the bevy game engine based on physme

Overview

physimple

Physimple aims to be the simplest(and capable) physics engine(currently for bevy)

WARNING

Beware for breaking changes with each update for now, as I am trying to make stuff work better by adding/removing stuff

Why?

Because I love physics and I love programming, so what is better? physics programming! besides, simulation physics can be restricting when you want to do some weird physics behaviour for games, and eventually i want people to be able to use this crate as a simple collisions solver.

What is currently working?

  • Simple AABB collisions(without rotations)
  • I got raycasts(tho they still need some more features, but first I will focus on more collision shapes)
  • That is pretty much it

Quickstart

TODO, for now you can check the examples just run cargo run --bevy/dynamic --example (showcase/simple/stress_2d) --release to see it in action

Do note that each physics component needs a GlobalTransform with it now.

bevy - physimple versions

bevy physimple
0.5 0.1.0 - current

planned

  • Rotation
  • More collision shapes
  • Better friction - with per object values
  • Raycasts
  • Joints(with support for custom types of joints)
You might also like...
A game of snake written in Rust using the Bevy game engine, targeting WebGL2

Snake using the Bevy Game Engine Prerequisites cargo install cargo-make Build and serve WASM version Set your local ip address in Makefile.toml (loca

A game made in one week for the Bevy engine's first game jam

¿Quien es el MechaBurro? An entry for the first Bevy game jam following the theme of "Unfair Advantage." It was made in one week using the wonderful B

A Client/Server game networking plugin using QUIC, for the Bevy game engine.
A Client/Server game networking plugin using QUIC, for the Bevy game engine.

Bevy Quinnet A Client/Server game networking plugin using QUIC, for the Bevy game engine. Bevy Quinnet QUIC as a game networking protocol Features Roa

2-player game made with Rust and
2-player game made with Rust and "ggez" engine, based on "Conway's Game of Life"

fight-for-your-life A 2-player game based on the "Conway's Game of Life", made with Rust and the game engine "ggez". Create shapes on the grid that wi

Simple retro game made using Rust bracket-lib by following "Herbert Wolverson's Hands on Rust" book.

Flappy Dragon Code from This program is a result of a tutorial i followed from Herbert Wolverson's Hands-on Rust Effective Learning through 2D Game De

Atomic Physics Library

Iridium Atomic Physics Library Attempt at making a atomic database. Uses Nubase2020, ENSDF for decay chains, atomic masses, and half-lives. Nubase2020

Sandbox is a pixel physics simulator inspired by other such like Sandspiel and Noita
Sandbox is a pixel physics simulator inspired by other such like Sandspiel and Noita

Sandbox Sandbox is a pixel physics simulator inspired by other such like Sandspiel and Noita. It's also a precursor for an ongoing game project. Sandb

Reimplementation of Matthias Müller's "Ten Minute Physics" demos in Rust with WASM + WebGL

ten-minute-physics-rs reimplements Matthias Müller's "Ten Minute Physics" demos in Rust with WASM + WebGL. Compared with the source pure Javascript im

A networked (p2p), cross-platform physics simulation example using rollback netcode

bevy_gaff (work in progress) bevy_gaff is an attempt at making a networked (p2p), cross-platform physics simulation using rollback netcode. It synchro

Comments
  • Replace hex-notation with binary in `CollisionLayer` docs

    Replace hex-notation with binary in `CollisionLayer` docs

    The CollisionLayer documentation has examples that uses binary operators, but the example integers are written in hexadecimal notation. This PR replaces each instance of hexadecimal notation (0x0000_0001) with binary notation (0b0000_0001).

    The PR also fixes minor typos on the same page.

    opened by Havegum 0
  • Square sensor only detects overlap at edges of another square

    Square sensor only detects overlap at edges of another square

    I ran into this issue trying to create a square hitbox that could detect which mobs falls within it. Below are images that illustrate the issue and a repository to reproduce.

    The issue

    A square sensor only registers overlapping bodies of square collision shape at the edges.

    Expected result

    The sensor registers the overlapping bodies throughout the area of the sensor.

    Illustration

    A controllable blue square has a light-gray sensor attached to detect the red square: Screenshot 2022-03-12 at 14 49 46 The sensor detects the red square and turns yellow when the near edges are close: Screenshot 2022-03-12 at 14 49 52 However, as the blue square moves further, the sensor no longer detects the red square: Screenshot 2022-03-12 at 14 49 58

    Code to reproduce

    • Clone and run this repo:

      git clone [email protected]:Havegum/bevy_physimple_sensor_issue.git
      cd bevy_physimple_sensor_issue
      cargo run
      
    • Use keyboard arrows or WASD to move the blue square.

    • Observe that the sensor changes color only when its edges touches the red square.

    opened by Havegum 3
Owner
Just a young programmer trying to make some games
null
2D and 3D physics engine based on Extended Position Based Dynamics for Bevy.

Bevy XPBD Bevy XPBD is a 2D and 3D physics engine based on Extended Position Based Dynamics (XPBD) for the Bevy game engine. Design Below are some of

Joona Aalto 203 Jul 6, 2023
A vdom-free reactive UI lib for the bevy game engine

ui4 ui4 is my fourth major attempt at making a UI dataflow library for the Bevy game engine. More specifically, it's a vdom-less UI library which uses

null 48 Nov 28, 2022
Game physics in one weekend with bevy

Game Physics in a Weekend (in Rust) This project is an implementation of the Game Physics in a Weekend book using the Rust programming language and th

Cameron Hart 28 Dec 23, 2022
Minecraft-esque voxel engine prototype made with the bevy game engine. Pending bevy 0.6 release to undergo a full rewrite.

vx_bevy A voxel engine prototype made using the Bevy game engine. Goals and features Very basic worldgen Animated chunk loading (ala cube world) Optim

Lucas Arriesse 125 Dec 31, 2022
Little 2D physics engine used for my game Crate Before Attack.

Circle2D Circle2D is a little physics library used for my game CrateBeforeAttack. Live demo: https://koalefant.github.io/circle2d/ It is not productio

Evgeny Andreeshchev 24 Jan 14, 2022
An ergonomic physics API for bevy games.

Heron An ergonomic physics API for 2d and 3d bevy games. (powered by rapier) How it looks like fn main() { App::build() .add_plugins(DefaultPlug

Jonathan Cornaz 313 Dec 16, 2022
Verlet physics plugin for bevy.

bevy_verlet Simple Verlet points and sticks implementation for bevy. Features You can simply add a VerletPoint component on any entity with a Transfor

Félix Lescaudey de Maneville 34 Dec 9, 2022
2 and 3-dimensional rigid body physics engine for Rust.

Users guide | 2D Documentation | 3D Documentation | Forum ⚠️ **This crate is now passively-maintained. It is being superseded by the Rapier project.**

dimforge 1.6k Jan 6, 2023
Bevy Simple Portals is a Bevy game engine plugin aimed to create portals.

Portals for Bevy Bevy Simple Portals is a Bevy game engine plugin aimed to create portals. Those portals are (for now) purely visual and can be used t

Sélène Amanita 11 May 28, 2023
2d Endless Runner Game made with Bevy Game Engine

Cute-runner A 2d Endless Runner Game made with Bevy Game Engine. Table of contents Project Infos Usage Screenshots Disclaimer Project Infos Date: Sept

JoaoMarinho 2 Jul 15, 2022