A game made for Bevy Jam #2

Overview

KPACUBO - A Bevy Template for Game Jams

NOTE: This project is still WIP. It is usable but far from perfect.

This project aims to provide a simple yet useful template for making Bevy games targeted at web and desktop, simplifying building the release ZIPs and uploading them to Itch.io, and somewhat improving the user experience on the web build.

Features

  • Packs the executable and assets in ready to go ZIP files
  • Targets Web and Windows
  • Wasm target: built-in canvas resize handler
  • Wasm target: shows a simple progress bar while loading the Wasm module
  • Supports uploading the builds on Itch.io using Butler (requires additional setup)
  • Somewhat opinionated: configured to use bevy-kira-audio out of the box.

Setup & Usage

Basic

This enables only building the ZIP files.

  • Use this repo as a template
  • Install cargo-make
  • ???
  • PROFIT!

NOTE: The makefile uses wasm-pack for, well, building the Wasm module. It should be installed automatically when running the first build.

After everything is set up, run cargo make zip to build the ZIP archives. These will be located in the freshly-created release folder.

If you want only the Web or Windows build, use cargo make zip-web or cargo make zip-windows correspondingly.

Itch.io Upload

  • Install and configure Butler.
  • Copy/rename butler.env.example to butler.env
  • Add necessary values in butler.env:
    • BUTLER_EXE should point to the Butler executable
    • ITCH_USER should be set to your Itch.io username
    • ITCH_GAME should be set to the game name as it is written in the URL. For example, if the game URL is https://example.itch.io/example-game, then ITCH_NAME should be example-game.

To build and upload your game, run cargo make publish. This will build the game for both Web and Windows and upload it to Itch.io via Butler. Don't forget to make the game project first in the dashboard.

If you want to upload only the Web or Windows version, use cargo make publish-web or cargo make publish-windows correspondingly.

Code

Add the code to set up your Bevy application to src/game.rs.

Assets

The Makefile is configured to package files of specific types. By default, these are png, wav, ogg, and ttf. If you need to package other file types, modify the collect-assets task in Makefile.toml.

License

KPACUBO (this template) is free and open source! 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.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the template by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

You might also like...
bevy-hikari is an implementation of voxel cone tracing global illumination with anisotropic mip-mapping in Bevy
bevy-hikari is an implementation of voxel cone tracing global illumination with anisotropic mip-mapping in Bevy

Bevy Voxel Cone Tracing bevy-hikari is an implementation of voxel cone tracing global illumination with anisotropic mip-mapping in Bevy. Bevy Version

Solana Game Server is a decentralized game server running on Solana, designed for game developers

Solana Game Server* is the first decentralized Game Server (aka web3 game server) designed for game devs. (Think web3 SDK for game developers as a ser

Endless Trial is a simple 2D bullet-hell-like game made in Rust with Tetra.

Endless Trial Endless Trial is a simple 2D bullet-hell-like game made in Rust with Tetra. To-do Sound Credits This project uses several free sprites:

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

Basic first-person fly camera for the Bevy game engine

bevy_flycam A basic first-person fly camera for Bevy 0.4 Controls WASD to move horizontally SPACE to ascend LSHIFT to descend ESC to grab/release curs

Inspector plugin for the bevy game engine
Inspector plugin for the bevy game engine

bevy-inspector-egui This crate provides the ability to annotate structs with a #[derive(Inspectable)], which opens a debug interface using egui where

Crossterm plugin for the bevy game engine
Crossterm plugin for the bevy game engine

What is bevy_crossterm? bevy_crossterm is a Bevy plugin that uses crossterm as a renderer. It provides custom components and events which allow users

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

A Bevy plugin to use Kira for game audio

Bevy Kira audio This bevy plugin is intended to try integrating Kira into Bevy. The end goal would be to replace or update bevy_audio, if Kira turns o

Owner
Nikita Medvedev
Nikita Medvedev
A game for the game jam "1-Button Jam 2021"

One click ninja A game for the game jam "1-Button Jam 2021" written in Rust with the Bevy engine. A rhythm game, where you play a soldier that can def

Alex Helfet 7 Apr 12, 2022
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

mike 15 Aug 26, 2022
A game made for Bevy Jam #2

KPACUBO - A Bevy Template for Game Jams NOTE: This project is still WIP. It is usable but far from perfect. This project aims to provide a simple yet

Nikita Medvedev 2 Sep 17, 2022
UnoLife is a project made solely in rust for the Timathon jam.

UnoLife, the way of unordinary life This is the perfect app for anyone looking to spice up their life! It has a bunch of apps and features to help you

Bunch-of-cells 7 Aug 3, 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 88 Sep 26, 2022
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
Sombervale, a Rusty Jam 2021 game

Sombervale Made in 7 days for Rusty Jam 2021. About It is dark and spooky in Sombervale park. There are shadow creatures all around you. Run away with

Blipjoy 8 Aug 25, 2022
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

Petros 3 Oct 25, 2021
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

Michael Dorst 0 Dec 26, 2021
A highly customizable snake clone made in Rust with the Bevy engine, named after the Japanese word for snake, 蛇.

Hebi ?? A highly customizable snake clone made in Rust with the Bevy engine, named after the Japanese word for snake, 蛇(へび). Configuration One of the

Elnu 79 Aug 21, 2022