Skip to content

Gamelike car simulation playground.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

alexichepura/bevy_garage

Repository files navigation

bevy_garage - gamelike car simulation playground

Bevy Garage 0.6 screenshot 2023-05-24 Bevy Garage 0.6 iphone xs screenshot 2023-05-24 Bevy Garage Overture Maps

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

Run

brew install llvm # macos
sudo apt-get install lld # ubuntu
sudo pacman -S lld # arch
cargo run --release
# or faster compile
cargo run --release --features bevy/dynamic_linking

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

Bevy Garage 0.3 screenshot 2023-03-25 Screenshot 2023-02-10 screenshot 2023-01-19 old screenshot 1 old screenshot 2 old screenshot 3

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:

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.