#game-engine #audio #sprite

archived nitro

A game engine built in Rust. This crate is no longer maintained.

18 releases (8 breaking)

Uses old Rust 2015

0.9.1 Oct 5, 2017
0.8.1 May 13, 2017
0.7.1 May 2, 2017
0.5.2 Mar 31, 2017

#467 in #game-engine

Download history 23/week @ 2023-06-16 22/week @ 2023-06-23 13/week @ 2023-06-30 2/week @ 2023-07-14 1/week @ 2023-07-21 2/week @ 2023-07-28 1/week @ 2023-08-04 1/week @ 2023-08-11 22/week @ 2023-08-18 23/week @ 2023-08-25 1/week @ 2023-09-01 44/week @ 2023-09-08 1/week @ 2023-09-15 4/week @ 2023-09-22

51 downloads per month


1.5K SLoC

Contains (static library, 8.5MB) lib/gnu-mingw/64/libSDL2.a, (static library, 6MB) lib/gnu-mingw/32/libSDL2.a, (static library, 690KB) lib/gnu-mingw/32/libSDL2_mixer.a, (static library, 1MB) lib/gnu-mingw/64/libSDL2_mixer.a, (static library, 1MB) lib/msvc/32/SDL2test.lib, (static library, 1MB) lib/msvc/64/SDL2test.lib and 20 more.

Nitro game engine Crates listing Build Status Build Status Gitter Chat

UPDATE: It is unlikely further work will be done in this repository, as I've decided to work on the Amethyst project alternatively. After evaluating the two code bases and philosophies I've determined that Nitro and Amethyst have the same goals, I hope any fans of this project will consider the Amethyst project as a sufficient alternative. If anyone wants to take over the nitro repositories I'll be happy to do the transfer.


Nitro is a game engine built in Rust for Windows, Mac OSX, and Linux systems.

This project is a Work In Progress abandoned. You can make some basic games with it as it is today, for example a mario clone. However in some areas the API endpoints are a bit scarce and some features such as multiplayer are missing entirely.


  • Very basic asset management exists.
  • A 2D rendering backend powered by SDL2 is present, 3D is a long ways off at this point.
  • "Immediate mode" GUI system driven by Components.
  • Audio playback, including features such as volume and pausing/resuming are present.
  • The nphysics physics library has been integrated into Nitro and exposed to the end user.
  • Rebindable keys and input axes exist and can be queried by Components.
  • The ECS is in place, allowing users to create GameObjects and extend them by attaching Components.
  • Components receive messages from the engine which allow the components to respond to events as they occur.

Building the engine

Nitro has three major C based dependencies that will need to be setup on your dev machine:

  • SDL2
  • SDL2_image
  • SDL2_mixer

If you're on Windows please refer to the nitro-example-project You will need the dll folder, and make sure to add build.rs as a build script.

If you are on Linux or OSX, you will need to install these dependencies. Here's some commands to help:

If you have homebrew on OSX you can install these using:

brew update
brew install sdl2 sdl2_image
brew install sdl2_mixer --with-libvorbis

If you're on Ubuntu 14.04 or greater these commands will install the dependencies for you:

sudo apt-get -qq update
sudo apt-get install libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev


  • This repository has been abandoned. If you'd like to take over further development on it (or use the nitro name itself for another project) please contact @Xaeroxe.


~469K SLoC