Bevy Jam #2 data exploration

Published: , updated:


The second Bevy Jam offers an opportunity to look at how different people use Bevy (at least in the context of a game jam) in August 2022 - which features they use, which crates they use to augment Bevy, and also which asset types they use. This can help highlight commonly used features or dependencies that might encourage further development, or infrequently used or avoided features that may need better documentation, examples, or improvements.

It also offers an opportunity to compare this August 2022 state to the previous analysis from the first Bevy Jam held in February 2022.

Some summary highlights

Of the 84 entries (up from 74 entries last jam), 67 (vs. 56 last jam) had code repository links discoverable from their page. Of the top 25 entries, 22 (same as last jam) had such links.


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.

Bevy-specific dependencies

There were 43 unique dependencies built to work directly with Bevy. 17 of these were new relative to the first jam.

The highest-ranked new dependency is iyes_loopless, which was an implementation similar to the stageless RFC that will be landing in Bevy 0.10.

Biggest upward movers are leafwing-input-manager (up 10 spots to 6th), bevy_rapier3d (up 14 spots to 7th), and bevy_editor_pls (up 24 spots to 9th).

Biggest downward mover was heron (down 9 spots to 12th, now in maintenance mode).

RankDependencyAll entriesTop 25 entriesCategoryDescription
1 (=)bevy-inspector-egui309DebuggingProvide ECS inspection via egui.
2 (=)bevy_kira_audio2311AudioPlugin to use Kira, providing sound mixing and other features not available in the base audio plugin.
3 (πŸ“ˆ1)bevy_asset_loader188AssetsPlugin to reduce boilerplate around asset loading, especially around game states transitions.
4 (πŸ†•)iyes_loopless146InternalsComposable alternatives to Bevy’s States/FixedTimestep/RunCriteria
5 (πŸ“ˆ3)bevy_rapier2d124PhysicsPlugin to use Rapier’s 2D physics engine
6 (πŸ“ˆ10)leafwing-input-manager123InputAn input manager providing an ergonomic interface over the lower-level input system in Bevy
7 (πŸ“ˆ14)bevy_rapier3d122PhysicsPlugin to use Rapier’s 3D physics engine
8 (πŸ“‰3)bevy_egui103Debugging / UIPlugin to set up and manage egui usage
9 (πŸ“ˆ24)bevy_editor_pls72Debugging / CreationWIP editor-use-case tooling
9 (πŸ“‰3)bevy_tweening72AnimationTweening animation plugin.
11 (=)bevy_prototype_debug_lines63DebuggingPlugin providing a simple line drawing API
12 (πŸ“‰9)heron62PhysicsErgonomic 2d/3d physics API using Rapier.
12 (πŸ†•)bevy_common_assets51AssetsBevy plugin adding support for common asset formats such as json and yaml
14 (πŸ“‰1)bevy_ecs_ldtk412D Games / TilemapsPlugin to integrate with the LDtk 2D level editor
14 (πŸ“‰8)bevy_prototype_lyon412D graphicsPlugin to use Lyon, a 2D graphics library in Rust using path tessellation.
16 (=)bevy_ninepatch32UISupport 9-patch images - let you have a UI that scales only the right parts of your images
17 (πŸ“ˆ6)bevy_easings31AnimationsEasings on components using interpolation.
17 (πŸ“ˆ6)bevy_mod_picking313D GamesPlugin for 3D mouse picking
19 (πŸ“‰9)bevy_ecs_tilemap302D Games / TilemapsPlugin for tilemap rendering
19 (πŸ†•)bevy-inspector-egui-rapier30Debuggingbevy-inspector-egui integration for rapier
21 (πŸ†•)bevy_editor_pls_default_windows21Debugging / CreationIn-App editor tools for bevy apps
21 (πŸ“‰8)bevy-web-resizer21RenderingAutomatically resizes app on the web to the size of the window
23 (πŸ†•)bevy_jornet20MultiplayerBevy plugin for Jornet - a social game server
23 (=)bevy-egui-kbgp20Debugging / UIImproved keyboard and gamepad navigation and usage for egui
23 (=)bevy-ui-navigation20UIUI navigation algorithm for the default UI library
26 (πŸ“‰14)bevy_embedded_assets11AssetsEmbeds assets into the binary for easier releases.
26 (πŸ†•)bevy_fundsp11Audiointegrates FunDSP into Bevy.
26 (πŸ†•)bevy_simple_stat_bars11?draw stat bars that follow sprites
26 (πŸ†•)bevy_turborand11RandomnessA plugin to enable random number generation for the Bevy game engine, built upon turborand
30 (πŸ“ˆ3)bevy_atmosphere10RenderingProcedural sky rendering plugin
30 (πŸ†•)bevy_ecs_ldtk_macros102D Games / TilemapsDerive macros for bevy_ecs_ldtk.
30 (πŸ†•)bevy_mod_outline10Renderingdrawing outlines around meshes using the vertex extrusion method
30 (πŸ“‰14)bevy_mod_raycast103D GamesAllows easy 3D ray casting against meshes
30 (πŸ†•)bevy_mod_wanderlust10ControllerA character controller library for Bevy Engine using Rapier physics
30 (πŸ†•)bevy_pkv10StoragePersistent key value store for apps/games
30 (πŸ†•)bevy_transform_gizmo10CreationA 3D transform gizmo for Bevy
30 (πŸ“‰7)bevy-debug-text-overlay10DebuggingConvenient debug text overlay plugin.
30 (πŸ“‰7)bevy-scene-hook10?Scene manager proof-of-concept
30 (πŸ“‰7)bevy-ui-build-macros10UIMacros to speed up the process of defining UIs
30 (πŸ†•)bevy-yoleck10CreationYour Own Level Editor Creation Kit
30 (πŸ†•)iyes_progress10AssetsBevy plugin to help implement loading states (fka bevy_loading)
30 (πŸ†•)iyes_scene_tools10CreationExtra helpers for working with Bevy Scenes

Continuing from last jam, a common reason for dependencies is randomness, and many entries have no non-Bevy dependencies beyond the rand crate (and some don’t even have that one).

RankDependencyAll entriesTop 25 entriesCategoryDescription
1 (=)rand5118RandomnessRandom number generation with multiple generators across multiple generation types
2 (πŸ†•)winit82PlatformCross-platform window creation library
3 (πŸ†•)image71GraphicsBasic image processing, converting to and from various image formats
4 (πŸ“‰2)noise61NoiseProcedural noise generation library covering gradient, fBm, and Worley noise
5 (πŸ“ˆ3)interpolation31Animation+Interpolating between two numbers (finding points between on some non-uniform scale, often curves)
6 (πŸ“‰4)fastrand30RandomnessPRNG using Wyrand
7 (πŸ†•)rapier2d22Physics2-dimensional physics engine in Rust.
8 (=)benimator11AnimationPlugin for sprite sheet animation
8 (πŸ†•)egui11UIEasy-to-use immediate mode GUI that runs on both web and native
8 (=)getrandom11RandomnessUse operating system-sourced random data
8 (πŸ†•)imagesize11GraphicsQuick probing of image dimensions without loading the entire file
8 (πŸ†•)ldtk211Level editingA thin crate for people who just want to use ldtk files freely.
8 (πŸ†•)lyon11Graphics2D Graphics rendering on the GPU using tessellation.
8 (πŸ“‰6)rand_chacha11RandomnessCryptographically secure random number generation using ChaCha
8 (πŸ†•)rand_distr11RandomnessSampling from random number distributions
16 (πŸ†•)euclid10Graphicssmall library for geometric types with a focus on 2d graphics and layout
16 (πŸ†•)ezing10Graphics / MathsEasing functions
16 (πŸ†•)glam10MathsA simple and fast 3D math library for games and graphics
16 (πŸ†•)inkling10DialogueImplementation of the Ink markup language
16 (πŸ†•)lerp10Graphics / MathsGeneric linear interpolation and extrapolation
16 (πŸ“‰14)pathfinding10PathfindingImplementations of several pathfinding, flow, and graph algorithms
16 (πŸ†•)turborand10RandomnessFast random number generators
16 (πŸ†•)union-find10AlgorithmUnion-find operation
16 (πŸ†•)wavy10AudioAsynchronous cross-platform real-time audio recording & playback
16 (πŸ†•)wgpu10Platform / GraphicsRusty WebGPU API wrapper

Bevy feature usage

Plugins and features

One big change is that MaterialMesh2dBundle usage has grown significantly - just 3 entries used it in the previous jam, while 13 did in this jam. Of the top 25, just 1 entry used it last jam, but 7 did in this jam.

PluginAll entriesTop 25 entriesDescription
DefaultPlugins6722The default set of commonly used built-in plugins
NodeBundle4216Bevy UI’s node-based UI element
FrameTimeDiagnosticsPlugin167A plugin that populates diagnostics about frame time and fps
LogDiagnosticsPlugin126A plugin that outputs diagnostics to logs
FixedTimestep73Used for attaching actions at a fixed time step, rather than time taken for frames.
MaterialMesh2dBundle13 (from 3)7 (from 1)Custom 2D material (custom shaders)
MaterialPlugin42Custom material (3D)


Asset Categories

Image, font, and audio assets are much more common this time across all and top 25 entries. All top 25 entries used images, all but one used fonts, and all but 4 had audio (vs. only half last jam). Shader use is up as well - 11 (vs. 4) across all entries, and 5 (vs. 2) in top 25 entries.

Asset CategoryAll entriesTop 25 entries
Image60 (πŸ“ˆ16)22 (πŸ“ˆ4)
Font57 (πŸ“ˆ10)21 (πŸ“ˆ3)
Audio35 (πŸ“ˆ10)18 (πŸ“ˆ7)
Model18 (πŸ“ˆ9)4 (πŸ“‰1)
Shader11 (πŸ“ˆ7)5 (πŸ“ˆ3)
Data10 (πŸ“ˆ7)4 (πŸ“ˆ3)
Level5 (πŸ“ˆ1)2 (=)

Font asset formats

TrueType extended its already vast lead against OpenType compared to last jam. Fira Sans and Fira Mono remained the most common font faces, and Roboto, Fredoka One, VT323, and PressStart2P each had two entries using them.

Asset FormatAll entriesTop 25 entries
TrueType (ttf)54 (πŸ“ˆ10)20 (πŸ“ˆ3)
OpenType4 (πŸ“‰7)2 (πŸ“‰2)

Image asset formats

PNG continues its domination for plain images/textures, while vector graphics (with SVG) and Krita make an appearance for the first time.

Asset FormatAll entriesTop 25 entries
PNG59 (πŸ“ˆ17)22 (πŸ“ˆ5)
JPEG6 (πŸ“ˆ4)3 (πŸ“ˆ1)
Aseprite5 (=)2 (πŸ“‰1)
SVG3 (new)2 (new)
Krita2 (new)2 (new)
Gimp (xcf)2 (πŸ“ˆ1)1 (πŸ“ˆ1)

Audio asset formats

Ogg extended its lead vs. Wav, while Mp3 usage grew from just 1 entry last jam to 5.

Asset FormatAll entriesTop 25 entries
Ogg27 (πŸ“ˆ9)15 (πŸ“ˆ6)
Wav7 (πŸ“‰4)4 (πŸ“ˆ1)
Mp35 (πŸ“ˆ4)2 (πŸ“ˆ2)

Model asset formats

The binary GLTF version extended its lead, and overall more total entries used 3D models (18 vs. 9 last jam), but usage in Top 25 dropped by a single entry from 5 last jam to 4.

Asset FormatAll entriesTop 25 entries
GLTF Binary (glb)14 (πŸ“ˆ5)3 (πŸ“‰2)
GLTF JSON (gltf)5 (πŸ“‰2)1 (πŸ“‰1)
Blender3 (πŸ“ˆ2)1 (=)
Obj2 (new)2 (new)

Level asset formats

LDtk usage grew somewhat, while Tiled didn’t make an appearance this jam (vs. 1 entry last jam).

Asset FormatAll entriesTop 25 entries
LDtk5 (πŸ“ˆ2)2 (πŸ“ˆ1)

Shader asset formats

Use of shaders increased significantly (11 entries vs. 4 last jam), with WGSL sitting alone (vs. two entries using SPIR-V last jam).

(Since this relies on extensions, this can be fairly inaccurate.)

Asset FormatAll entriesTop 25 entries
WGSL11 (πŸ“ˆ9)5 (πŸ“ˆ3)

Data formats

(Since this relies on extensions, this can be fairly inaccurate.)

Asset FormatAll entriesTop 25 entries

Game dependency and asset data

RankTitleDependenciesImage AssetsAudio AssetsModel AssetsOther Assets
1USA Football League Scouting Combine XLVbevy-inspector-egui, bevy_kira_audio, leafwing-input-manager, noise, rand, uuid, web-sysPng: 5Ogg: 3, Wav: 12Glb: 13Ttf: 1, Wgsl: 3
2Loot Goblinbevy-inspector-egui, bevy_egui, bevy_kira_audio, bevy_ninepatch, egui, iyes_loopless, rand, ron, serdePng: 49Ogg: 40Ron: 10, Ttf: 18
3Shanty Quest: Treble at Seabevy_egui, bevy_kira_audio, ldtk2, rand, serde, web-sysPng: 118Ogg: 89Ldtk: 1, Otf: 1, Ttf: 4
4Combobox πŸ€–bevy_kira_audio, bevy_rapier2d, rapier2dPng: 68Ogg: 16Ttf: 2
5Mole Rancherbevy-inspector-egui, randPng: 24Ogg: 3Ttf: 2
6The Fantastical Cookbookbevy-inspector-egui, bevy_kira_audio, bevy_prototype_debug_lines, convert_case, embed-resource, image, imagesize, rand, winitAseprite: 7, Png: 82Mp3: 3, Wav: 6Ttf: 2
7Elemental Sorcererbevy-inspector-egui, bevy_asset_loader, bevy_ecs_ldtk, bevy_kira_audio, bevy_prototype_debug_lines, console_error_panic_hook, heronPng: 26Ogg: 2, Wav: 12Ldtk: 1, Ttf: 2
8Oi! GIT!bevy_asset_loader, bevy_editor_pls, bevy_kira_audio, bevy_rapier3d, console_error_panic_hook, getrandom, iyes_loopless, randJpeg: 1, Krita: 5, Png: 24, Svg: 1, Xcf: 12Ogg: 18Blender: 4, Glb: 23, Obj: 1Ttf: 2
9Subfusebevy-web-resizer, bevy_asset_loader, bevy_editor_pls, bevy_editor_pls_default_windows, bevy_kira_audio, bevy_rapier3d, interpolation, iyes_loopless, paste, serde, serde_jsonPng: 51Flac: 19Glb: 1, Gltf: 8Ttf: 1, Wgsl: 3
10One Clickerbevy-inspector-egui, bevy_asset_loader, bevy_egui, bevy_embedded_assets, bevy_kira_audio, bevy_ninepatch, bevy_tweening, console_error_panic_hook, gloo-events, iyes_loopless, rand, wasm-bindgen, web-sysPng: 12, Svg: 2Ttf: 1
11CombinerandPng: 5Ogg: 5Ttf: 1
12Shapeshiftbevy_easings, lyon, randPng: 12Ogg: 42Obj: 18Ttf: 2, Wgsl: 8
13Magnatebevy_asset_loader, rand, serde, serde_json, web-sysPng: 14Json: 2, Ttf: 2
14Escape PodrandPng: 6Ogg: 1, Wav: 5Ttf: 1, Wgsl: 1
15Beam Machines
16The Companyanyhow, benimator, bevy_asset_loader, bevy_kira_audio, bevy_prototype_debug_lines, chrono, heron, iyes_loopless, leafwing-input-manager, num-format, rand, rand_chacha, serde_yamlPng: 50Ogg: 8Ttf: 1, Yaml: 9
17SushiBoatbevy-inspector-egui, bevy_asset_loader, bevy_rapier2d, randJpeg: 1, Png: 17Ogg: 17Ttf: 1
18Lux synthesΔ•bevy_common_assets, bevy_mod_picking, bevy_rapier2d, rand, rand_distr, rapier2d, serde, serde_jsonPng: 2Ogg: 10Json: 1, Ttf: 3
19A Familiar PotionrandJpeg: 3, Krita: 1, Png: 39Ogg: 11Ttf: 2
20Chord Fusionarray-const-fn-init, bevy_fundsp, bevy_prototype_lyon, bevy_rapier2d, bevy_tweening, console_error_panic_hook, embed-resource, itertools, rand, smallvec, strum, winitPng: 1Ttf: 2
21Slimes vs Spiders
22Tower of the Moonbevy_turborand, itertools, leafwing-input-managerPng: 78Otf: 1
23War sheepbevy-inspector-egui, bevy_kira_audio, bevy_simple_stat_bars, iyes_loopless, randPng: 8Mp3: 4
24luminitybevy-inspector-egui, bevy_asset_loader, randAseprite: 3, Png: 11Ogg: 6Ttf: 1, Wgsl: 2
26Mushroomancybevy_asset_loader, bevy_kira_audio, embed-resource, image, rand, winitPng: 1Ogg: 1Ttf: 1
27Combine Drift Program
28Somblebevy_ecs_ldtk, bevy_rapier2d, fastrand, iyes_loopless, ordered-float, pathfindingPng: 50Ldtk: 1
29Klodanyhow, arrayvec, bevy-debug-text-overlay, bevy-inspector-egui, bevy-inspector-egui-rapier, bevy-scene-hook, bevy-ui-build-macros, bevy-ui-navigation, bevy_editor_pls, bevy_editor_pls_default_windows, bevy_kira_audio, bevy_mod_picking, bevy_rapier3d, bevy_transform_gizmo, enum-map, fastrand, ron, serde
30Flock Fusionapprox, bevy-egui-kbgp, bevy-inspector-egui, bevy_egui, bevy_prototype_debug_lines, itertools, leafwing-input-manager, turborandPng: 3
31Guess Hue?bindgen, cc, image, stylist, web-sys, winit, yewPng: 2Ogg: 6Ttf: 1
32Goo vs goblinsbevy-inspector-egui, bevy_egui, bevy_kira_audio, ezing, image, rand, stylist, tracing, web-sys, winit, yewPng: 19Mp3: 9Ttf: 19, Wgsl: 2
34Witch’s BrewPng: 28Ttf: 6
35Mr. Smartyplantsbevy-inspector-egui, bevy_asset_loader, bevy_kira_audio, randPng: 16Ogg: 2Ttf: 4
36ColorWheel Bumpanyhow, bevy_prototype_lyon, bevy_rapier2d, bevy_text, image, num, num-derive, num-traits, rand, semver, strum, strum_macros, stylist, vergen, web-sys, winit, yewPng: 1Otf: 1
37ScrapBotbevy-web-resizer, bevy_egui, bevy_kira_audio, bevy_prototype_lyon, bevy_rapier2d, enum-map, itertools, rand, ron, serde, wasm-cookiesPng: 1Ogg: 15Ttf: 1
38Bone Collectorbevy-inspector-egui, bevy_rapier3dPng: 17Glb: 2, Gltf: 10Ttf: 2
39Mix’n’Mechbevy-egui-kbgp, bevy-yoleck, bevy_asset_loader, bevy_egui, bevy_pkv, bevy_rapier2d, clap, float-ord, leafwing-input-manager, serdePng: 8Ttf: 1
40Flipping Outbevy-inspector-egui, bevy_editor_pls, bevy_rapier2d, itertools, randPng: 8
42Spindarella’s Monstersbevy_asset_loader, bevy_common_assets, bevy_ecs_tilemap, bevy_kira_audio, bevy_prototype_debug_lines, bevy_tweening, iyes_loopless, iyes_progress, iyes_scene_tools, leafwing-input-manager, noise, rand, serde, smallvecPng: 5Ogg: 9Ron: 5, Toml: 13, Ttf: 3
43Math itbevy_jornet, glam, randPng: 1Ttf: 1
44Frantic Lab Tech
45Magic Mixologistbevy_tweening, fastrand, iyes_loopless, strum, strum_macros, web-sysPng: 7Glb: 23Ttf: 1
46Combine Racersbevy-inspector-egui, bevy-ui-navigation, bevy_asset_loader, bevy_jornet, bevy_rapier3d, interpolation, leafwing-input-manager, rand, ron, serde, web-sysOgg: 4Glb: 4Ttf: 1
48Bevy Jam #2bevy-inspector-egui, bevy_easings, bytemuck, itertools, iyes_loopless, noise, randPng: 1Glb: 1Ttf: 1, Wgsl: 1
49Combine vs Aliensbevy-inspector-egui, bevy_kira_audio, itertools-num, iyes_loopless, noise, randAseprite: 2, Png: 11Ttf: 1
51Card Combinatorbevy-inspector-egui, bevy_rapier3dPng: 9Glb: 1
53Arc Explorer
54WitchBrewbevy-inspector-egui, bevy_asset_loader, bevy_kira_audio, bevy_procedural, derive_more, heron, leafwing-input-manager, rand, ron, serde, strum, strum_macrosAseprite: 2, Png: 34Mp3: 5, Wav: 2Ttf: 5
55Donut Tell Me!bevy-inspector-egui, bevy_asset_loader, bevy_common_assets, bevy_ninepatch, rand, serdePng: 274, Svg: 1Json: 8, Ttf: 16, Xml: 25
56Avalanche Tetrisautodefault, bevy-inspector-egui, bevy_tweening, duplicate, enum_dispatch, menu-plugin, rand, serde, strum, strum_macros, web-sysPng: 2Ttf: 2
57The Curious Incident of the Lab in the Forestbevy-inspector-egui, bevy_asset_loader, bevy_ecs_ldtk, bevy_kira_audio, heron, image, inkling, leafwing-input-manager, stylist, web-sys, winit, yewPng: 3Ogg: 13Blender: 2, Glb: 1Ldtk: 1, Ttf: 1
58Ferris in Perilsanyhow, bevy-inspector-egui, bevy_asset_loader, bevy_ecs_ldtk, bevy_ecs_ldtk_macros, bevy_ecs_tilemap, bevy_egui, bevy_rapier2d, rand, serde, serde_jsonAseprite: 4, Png: 21Json: 2, Ldtk: 1
59Farm of Harmbevy_rapier3d, build-time, git-version, randPng: 3Ogg: 4Glb: 5Ttf: 2
60Bevy Brand Blueberry Jamcrossbeam-channel, fon, heron, js-sys, pasts, rand, serde-wasm-bindgen, wasm-bindgen, wavy, web-sysPng: 17Ttf: 1
61Orberbevy_easings, bevy_prototype_lyon, randTtf: 1
62SeΓ±or Pacbomberbevy_mod_outline, bevy_tweeningJpeg: 3Ogg: 5Ttf: 2
63Contourbevy-inspector-egui, bevy_ecs_tilemap, bevy_egui, bevy_kira_audio, bevy_rapier2d, randPng: 3Wav: 1Ttf: 1
64Kaiju Goo Goo
66Potion BrewerrandPng: 18Ttf: 1, Wgsl: 1
67Flocked and Loadedbevy-inspector-egui, bevy-inspector-egui-rapier, bevy_egui, bevy_kira_audio, bevy_mod_picking, bevy_rapier3d, itertools, iyes_loopless, noise, num-traits, rand, serde, serde_jsonMp3: 15Glb: 5
68RGBanyhow, bevy-inspector-egui, bevy_common_assets, ctrl_macros, itertools, rand, serdeOgg: 4Json: 1, Ttf: 2, Wgsl: 3
69Disastrisbevy-inspector-egui, bevy_tweening, interpolation, itertools, leafwing-input-manager, randJpeg: 1, Png: 28Ttf: 2
70Magiisto, kombinu!iyes_loopless, randPng: 36Ttf: 1
71Bevy Air Acebevy_atmosphere, bevy_rapier3d, lerp, randPng: 56Glb: 2Csv: 1, Ttf: 1
72Animal Aggregatorbevy-inspector-egui, bevy_rapier3d, randGltf: 1Ttf: 1
73Unfinished Portal Gamebevy-inspector-egui-rapier, bevy_editor_pls, bevy_prototype_debug_lines, bevy_rapier3d, euclid, iyes_loopless, leafwing-input-manager, noise, serde, serde_jsonPng: 1Glb: 1Wgsl: 3
75Mitosispre-commit, rand, uuidTtf: 1
77Combine Harvesterheron, randPng: 3Gltf: 6Ttf: 1
78Sticky Throwsbevy_rapier2d, rand, union-find, wgpuPng: 6Ogg: 1Ttf: 2, Wgsl: 2
79Integrabevy_editor_pls, bevy_mod_wanderlust, bevy_rapier3d, rand, serde, tomlPng: 14, Xcf: 8Blender: 4, Glb: 1Toml: 4
80Void-a-Nomiconanyhow, bevy_editor_pls, lazy_static, rand, ron, serde, thiserror, tomlPng: 110Wav: 8Ttf: 1
81Blub’s dilemmabevy-inspector-egui, bevy_asset_loader, bevy_common_assets, bevy_kira_audio, bevy_mod_raycast, embed-resource, image, leafwing-input-manager, rand, serde, winitJpeg: 10, Png: 9Ogg: 1Gltf: 1Ttf: 1
82Logic gate sim
83Nothing, Nowhere, Not Even Once.
84PaintsrandPng: 5Otf: 1


The same methodology as the first jam’s analysis was followed, with some minor updates: