PsichiX / rust-game-development-frameworks

List of curated frameworks by the **Game Development in Rust** community.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

What framework to use for X?

Here’s some crate suggestions to get you started! All sections are sorted strictly alphabetically by crate name.

This list is from the Game Development in Rust Discord server (Invitation link) and prioritizes frameworks that have examples and are ready or almost ready for production.

For a longer list of frameworks, see Are We Game Yet?.

High-level frameworks for game development

  • amethyst 2D, 3D. Graphics, audio.
  • coffee 2D. Graphics.
  • ggez 2D. Graphics, audio. Inspired on LÖVE (Lua framework).
  • macroquad 2D, 3D. Graphics. Inspired on Raylib (C framework).
  • oxyengine 2D. Graphics, audio.
  • quicksilver 2D. Graphics, audio.
  • tetra 2D. Graphics, audio.

Just graphics

  • ash Low-level bindings to Vulkan. Used by Gfx-hal.
  • erupt Low-level bindings to Vulkan.
  • gfx-hal Intermediate-level, based on Vulkan. Backends: Vulkan, GL, DX12, and Metal.
  • gl33 Low-level. Wrapper for OpenGL 3.3 (generated by Phosphorus).
  • gl46 Low-level. Wrapper for OpenGL 4.6 (generated by Phosphorus). Used by Glow.
  • glium Intermediate-level. Safer wrapper for OpenGL 3+.
  • glow Low-level. Safer wrapper for OpenGL and WebGL.
  • luminance High level. Uses OpenGL.
  • miniquad High-level. Focus on portability. Uses OpenGL and Metal (Work-in-progress).
  • rendy High-level. Uses Gfx-hal. Used by Amethyst.
  • vulkano Low-level. Safer wrapper for Vulkan.
  • wgpu High-level. Uses Gfx-hal.

Font (parser and/or rasterizer)

Window creation and OS integration

  • fermium Raw bindings to the C SDL2 library.
  • glfw Rusty wrapper for the C GLFW3 library.
  • sdl2 Rusty wrapper for the C SDL2 library.
  • winit Rusty windowing framework.

Frameworks for ECS

Frameworks for linear math (for 2D and 3D programming) and physics

Audio

About

List of curated frameworks by the **Game Development in Rust** community.