bevy_garage
Gamelike car simulation playground.
bevy_garage - gamelike car simulation playground
Introductory walk-through https://youtu.be/f6PcaTX58J4
Deep Q-Learning car training for 1 hour https://youtu.be/A2JMPIWGXBsf
Wasm demo https://alexi.chepura.space/bevy-garage
- game engine https://bevyengine.org
- rigid body physics https://rapier.rs
- kenney assets https://www.kenney.nl/assets/racing-kit
- neural network https://github.com/coreylowman/dfdx
- api server and client https://github.com/tokio-rs/axum
- db client https://github.com/Brendonovich/prisma-client-rust
- sound https://github.com/harudagondi/bevy_fundsp & https://github.com/SamiPerttu/fundsp
- virtual joystick https://github.com/SergioRibera/virtual_joystick
Run
bevy fast compile guide: https://bevy.org/learn/quick-start/getting-started/setup/#enable-fast-compiles-optional\ fast builds cargo config example https://github.com/bevyengine/bevy/blob/main/.cargo/config_fast_builds.toml
cargo run --release
https://bevyengine.org/learn/book/getting-started/setup/
Neural network
cargo r -r --features="nn"
Api server for neural network (optional)
# generate prisma db client cargo prisma generate # push schema to database cargo prisma db push # run api server cd api && cargo r -r # run app with saving replay buffer cargo r -r --features="nn,nn_api" # prisma studio https://github.com/Brendonovich/prisma-client-rust/issues/96 npx prisma studio
Key bindings
- UP, DOWN, LEFT, RIGHT - drive
- 1, 2, 3, 4, 5 - camera views
- 0 - free camera with WASDQE(SHIFT) control and mouse
- R - debug mode
- SHIFT+SPACE - respawn at random position
- N - toggle nn
- H, J, K, L - directed light control
- X - enable sound, Z - decrease volume, C - increase volume
History
- Deep Q learning NN - https://www.youtube.com/watch?v=aN49ZP4PS-c
- First attempts with NN - https://www.youtube.com/watch?v=mVk1otSmySM
License
Bevy Garage is free, open source and permissively licensed! Except where noted (below and/or in individual files), all code in this repository is dual-licensed under either:
- MIT License (LICENSE-MIT or http://opensource.org/licenses/MIT)
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
at your option. This means you can select the license you prefer! This dual-licensing approach is the de-facto standard in the Rust ecosystem and there are very good reasons to include both.
Your contributions
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
more like this
TachiSnap
TachiSnap — Pixel Snapper for animation pixel artists. Rust + WebAssembly client-side tool for cleaning up AI-generated…
bit_gossip
Pathfinding library for calculating all node pairs' shortest paths in an unweighted undirected graph.








