Rusty Jam #2 data exploration

Published: , updated:


The second Rusty Jam offers a view into the Rust game development ecosystem - at least in the context of a game jam in June 2022, and also as a contrast to the previous jam in August 2021. There were 17 entries (vs. 19 previous jam), of which 16 had easily-discoverable source code (vs. 13 previous jam).

Game dependency and asset data

RankTitleDependenciesImage AssetsAudio AssetsModel AssetsOther Assets
1Chick The Dogbevy, bevy_egui, bevy_spatial, ehttp, fastrandJpeg: 1, Png: 10Ogg: 8Ttf: 1
2A Walk Around The Blockbevy, bevy_infinite_grid, bevy_kira_audio, bevy_mod_raycast, leafwing-input-manager, noise, rand, uuidPng: 10Ogg: 2, Wav: 4Glb: 11Ttf: 1
3Fight for the Frontieranyhow, bevy, bevy-inspector-egui, bevy_asset_loader, bevy_kira_audio, bevy_mod_picking, bevy_tweening, heron, kayak_ui, rand, ron, serdeAseprite: 2, Png: 16Ogg: 1Ron: 15, Wgsl: 1
4Chimera Rancherbevy, bevy_asset_loader, bevy_ecs_tilemap, bevy_kira_audio, bevy_ninepatch, bevy_rapier2d, bevy_tweening, rand, rand_distrPng: 32, Xcf: 3Ogg: 7, Wav: 5Ttf: 3
5Shmoo farmbevy, bevy-inspector-egui, bevy_asset_loader, bevy_kira_audio, embed-resource, rand, strum, winitJpeg: 1, Png: 11Ogg: 8Ttf: 1
6Find the Dogchickenbuddy-alloc, once_cell, rustc-hash, strum, strum_macrosPng: 1
7Chog Lifemacroquad, macroquad-platformer, macroquad-tiledPng: 28Ogg: 1, Wav: 2Json: 2, Ttf: 1
8The Ablockinationanyhow, bevy, bevy-inspector-egui, bevy_egui, bevy_kira_audio, randPng: 26Wav: 12Ttf: 1
9MegaChickenbevy, bracket-pathfinding, bracket-randomPng: 10Ttf: 1
10Crawling Defensebevy, bevy-inspector-egui, bevy_asset_loader, bevy_ecs_tilemap, bevy_kira_audio, bevy_ninepatch, bevy_tweening, console_error_panic_hook, gloo-events, rand, wasm-bindgen, web-sysAseprite: 3, Png: 26Ttf: 1
12Egg fetcherbevy, bevy_kira_audio, randPng: 514Ttf: 2
13EBE-Clickbevy, bevy_kira_audio, randPng: 3Wav: 2
14Quacks Like A Dogbevy, bevy-inspector-egui, bevy_egui, bevy_hanabi, bevy_kira_audio, bevy_tweening, heronGltf: 2Ttf: 8
15ChimeraTestbacktrace, gdnative, itertools, rand
16CYBERSEMcrossterm, js-sys, wasm-bindgen, web-sysMp3: 1
17Rusty Sciencebevy, bevy_asset_loader, bevy_egui, bevy_kira_audio, bevy_prototype_lyon, clap, embed-resource, iyes_loopless, lazy_static, leafwing-input-manager, log, naia-bevy-client, naia-bevy-server, naia-shared, rand, thiserror, wasm-bindgen-cli, winitPng: 26Wav: 2

Engines, frameworks, and libraries

1Bevy12 (prev: 7)
2miniquad/macroquad1 (prev: 3)
2wasm41 (new)
2godot-rust1 (new)

Other dependencies

These are the direct expressed dependencies of the game project, representing what the game developer directly interacted with. I somewhat-arbitrarily decided what were “game development-related” vs. general Rust or infrastructural crates (which were removed).

DependencyAll CountCategoryDescription
bevy_kira_audio10AudioPlugin to use Kira, providing sound mixing and other features not available in the base audio plugin.
rand10RandomnessRandom number generation with multiple generators across multiple generation types
bevy-inspector-egui5DebuggingProvide ECS inspection via egui.
bevy_asset_loader5AssetsPlugin to reduce boilerplate around asset loading, especially around game states transitions.
bevy_egui4Debugging / UIPlugin to set up and manage egui usage
bevy_tweening4AnimationTweening animation plugin.
bevy_ecs_tilemap22D Games / TilemapsPlugin for tilemap rendering
bevy_ninepatch2UISupport 9-patch images - let you have a UI that scales only the right parts of your images
heron2PhysicsErgonomic 2d/3d physics API using Rapier.
leafwing-input-manager2InputAn input manager providing an ergonomic interface over the lower-level input system in Bevy
winit2PlatformCross-platform window creation library
bevy_hanabi1RenderingHanabi GPU particle system for the Bevy game engine
bevy_infinite_grid1Procedural generationSimple 3D infinite grid for bevy
bevy_mod_picking13D GamesPlugin for 3D mouse picking
bevy_mod_raycast13D GamesAllows easy 3D ray casting against meshes
bevy_prototype_lyon12D graphicsPlugin to use Lyon, a 2D graphics library in Rust using path tessellation.
bevy_rapier2d1PhysicsPlugin to use Rapier’s 2D physics engine
bevy_spatial1ECSA bevy plugin to track your entities in spatial indices and query them
bracket-pathfinding1AlgorithmsPathfinding and field-of view utilities.
bracket-random1RandomnessRandom number generator (xorshift based), focused on dice rolling
crossterm1Terminalcrossplatform terminal library for manipulating terminals
fastrand1RandomnessPRNG using Wyrand
gdnative1Game engine/framework/libraryGodot game engine’s gdnative bindings
iyes_loopless1InternalsComposable alternatives to Bevy’s States/FixedTimestep/RunCriteria
kayak_ui1UIa declarative UI that can be used to make user interfaces
macroquad1Game engine/framework/librarysimple and easy to use game library for Rust programming language
macroquad-platformer1PhysicsPlatformer physics for macroquad
macroquad-tiled1Level EditingTiled editor macroquad intergration
naia-bevy-client1Networking / MultiplayerLibrary to faciliate naia_client & Bevy interop
naia-bevy-server1Networking / MultiplayerLibrary to faciliate naia_server & Bevy interop
naia-shared1Networking / MultiplayerA cross-platform networking library built in Rust
noise1NoiseProcedural noise generation library covering gradient, fBm, and Worley noise
rand_distr1RandomnessSampling from random number distributions


The same methodology as was used in the Bevy Jams’ analyses was followed, with minor updates to improve reporting and reuse of data between analyses.