bevy_game_template
bevy_game_template copied to clipboard
Template for a Bevy game including CI/CD for web, Windows, Linux, macOS, iOS and Android
A Bevy game template
Template for a Game using the awesome Bevy engine featuring out of the box builds for Windows, Linux, macOS, and Web (Wasm).
Since Bevy is in heavy development, there regularly are unpublished new features or bug fixes. If you like living on the edge, you can use the branch bevy_main of this template to be close to the current state of Bevy's main branch
What does this template give you?
- small example "game" (warning: biased; e.g., split into a lot of plugins and using
bevy_kira_audiofor sound) - easy setup for running the web build using trunk (
trunk serve) - run the native version with
cargo run - workflow for GitHub actions creating releases for Windows, Linux, macOS, and Web (Wasm) ready for distribution
- push a tag in the form of
v[0-9]+.[0-9]+.[0-9]+*(e.g.v1.1.42) to trigger the flow - WARNING: if you work in a private repository, please be aware that macOS and Windows runners cost more build minutes. You might want to consider running the workflow less often or removing some builds from it. For public repositories the builds are free!
- push a tag in the form of
How to use this template?
- Click "Use this template" on the repository's page
- Look for
ToDoto use your own game name everywhere - Update the icons as described below
- Start coding :tada:
- Start the native app:
cargo run - Start the web build:
trunk serve- requires trunk:
cargo install --locked trunk - requires
wasm32-unknown-unknowntarget:rustup target add wasm32-unknown-unknown - this will serve your app on
8080and automatically rebuild + reload it after code changes
- requires trunk:
- Start the native app:
You should keep the credits directory up to date. The release workflow automatically includes the directory in every build.
Updating the icons
- Replace
build/windows/icon.ico(used for windows executable and as favicon for the web-builds) - Replace
build/macos/icon_1024x1024.pngwith a1024times1024pixel png icon and runcreate_icns.sh(make sure to run the script inside themacosdirectory) - Warning: sadly this seems to require a mac...
Deploy web build to GitHub pages
- Trigger the
deploy-github-pageworkflow - Activate GitHub pages for your repository
- Source from the
gh-pagesbranch (created by the just executed action)
- Source from the
- After a few minutes your game is live at
http://username.github.io/repository
To deploy newer versions, just run the deploy-github-page workflow again.
Getting started with Bevy
You should check out the Bevy website for links to resources and the Bevy Cheat Book for a bunch of helpful documentation and examples. I can also recommend the official Bevy Discord server to keep up to date with the development and get feedback + help from other Bevy users.
Known issues
Audio in web-builds can have issues in some browsers. This seems to be a general performance issue and not due to the audio itself (see bevy_kira_audio/#9).
License
This project is licensed under CC0 1.0 Universal except some content of assets and the Bevy icons in the build directory (see Credits). Go crazy and feel free to show me whatever you build with this (@nikl_me).