#game #engine #graphics #audio #rusty

rusty_engine

A fun way to learn Rust using a simple 2D game engine

8 releases (breaking)

✓ Uses Rust 2018 edition

0.10.0 May 22, 2020
0.5.0 Apr 29, 2020
0.4.0 Mar 27, 2020
0.3.0 Mar 26, 2020
0.0.2 Mar 15, 2020

#3 in #rusty

Download history 58/week @ 2020-03-13 22/week @ 2020-03-20 39/week @ 2020-03-27 15/week @ 2020-04-03 42/week @ 2020-04-10 6/week @ 2020-04-17 17/week @ 2020-04-24 8/week @ 2020-05-01 21/week @ 2020-05-15 29/week @ 2020-05-22

76 downloads per month

MIT/Apache

76KB
914 lines

Rusty Engine

Rusty Engine is a fun, cross-platform game engine written in Rust. The primary goal is to be as simple to use as possible so game engine concepts don't get in the way of learning Rust.

Questions, bug reports, and contributions are most welcome!

If you would like to support this project, please star this repository and sponsor me. 💖

Features

  • 4-channel audio system supporting MP3, WAV, Vorbis and Flac.
  • Keyboard, mouse, and window input events.
  • OpenGL backend via glium.

Aspirational Plans

  • Companion course (Ultimate Rust Crash Course) with project walkthrough videos (the course exists, it just doesn't have project walkthrough videos yet)
  • Switch to Vulkan/Metal via rendy before OpenGL stops working on macOS.
  • A user guide

Audio Dependencies on Linux

Audio should work out-of-the-box on macOS, Windows, iOS, and emscripten. For Linux, the downstream package for actually playing sound (CPAL) requires the Alsa development libraries to be installed.

CentOS

sudo yum install -y alsa-lib-devel

Debian/Ubuntu

sudo apt install libasound2-dev

Contribution

All contributions are assumed to be dual-licensed under MIT/Apache-2.

License

Distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See license/APACHE and license/MIT.

Dependencies

~17MB
~209K SLoC