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...
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

Bevy Simple Portals is a Bevy game engine plugin aimed to create portals.
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

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 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

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

A highly customizable snake clone made in Rust with the Bevy engine, named after the Japanese word for snake, 蛇.
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

Rubik's cube made with bevy engine.
Rubik's cube made with bevy engine.

English Rubik's Cube 魔方 3阶魔方 随机打乱魔方 重置魔方 鼠标拖拽魔方旋转 游戏UI 相机视角控制(缩放、移动) WASM支持 在线游玩:点这里(电脑版Chrome/Firefox/Edge打开) 运行 本地运行 cargo run WASM运行 rustup target

An opinionated 2D sparse grid made for use with Bevy. For storing and querying entities

bevy_sparse_grid_2d An opinionated 2D sparse grid made for use with Bevy. For storing and querying entities. Personally, I'm using it for simple stupi

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:

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 20 Dec 23, 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 11 Dec 8, 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 9 Nov 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
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 9 Oct 10, 2022
Contain an energetic quantum particle by strategically placing walls in this 48-hour jam game

Contain an energetic quantum particle by strategically placing walls in this 48-hour jam game. Made with Bevy Engine.

Nilay Savant 5 Aug 18, 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
A Serious (yet fun) Game made in Rust with Bevy

The Omega Ai Test for Brazilian Biome Image Classification PLAY A Serious (yet fun) Game made in Rust with Bevy How well do you know the Brazilian bio

Eliton Machado da Silva 2 Oct 24, 2022
3D wechat jump-jump game made with bevy engine.

English jump-jump 微信跳一跳游戏 角色跳跃动画 角色和平台蓄力效果 角色蓄力粒子特效 角色摔落效果 相机跟随 自动生成平台 飘分效果 分数统计 游戏UI 游戏音效 WASM支持 在线游玩:点这里(电脑版Chrome/Firefox/Edge打开) 运行 本地运行 cargo run

Night's Watch Games 17 Feb 27, 2023