#2d-game #sdl2 #framework #built #sdl #drawing #input

nze_game_sdl

A framework for making 2D games, built on SDL2

3 releases

0.1.2 Feb 24, 2023
0.1.1 Feb 23, 2023
0.1.0 Feb 23, 2023

#728 in Graphics APIs

Download history 1/week @ 2024-02-08 28/week @ 2024-02-15 15/week @ 2024-02-22 8/week @ 2024-02-29

52 downloads per month

MIT/Apache

130KB
3K SLoC

A framework for making 2D games with rust, uses SDL2.

This framework is made out of three parts:

  • nze_game_sdl - for hiding the implementation details of sdl2 in rust. Load resources (texture, font, audio), rendering, 2D camera, audio playback, drawing tilemaps User Input, Windowing
  • nze_tiled - (in lib dir) for loading Tiled maps
  • nze_geometry - (in lib dir) for 2D geometry types and functions

Documentation

Features

  • window creation and keyboard/mouse/controller input
  • loading and drawing textures and fonts to the screen
  • loading and drawing Tiled maps
  • 2D camera for scaling and moving drawn textures and fonts
  • loading and playing music and sound effect

Setup

  1. Clone this repository
  2. Install Rust if you haven't already
  3. Install SDL2, SDL2_image, SDL2_mixer, SDL2_ttf (see sections below for details)
  4. go to the root directory of this project and run
$ cargo run --example main

Installing SDL2 on debian-based systems

Run the following command

$ sudo apt install libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev

Installing SDL2 on other systems

Follow the instructions for your system given in the repo for rust-sdl2, but remember you also need to get sdl2_mixer, sdl2_ttf and sdl2_image libraries.

Dependancies

  • rust-sdl2 for windowing, rendering, input, resource loading
  • quick_xml for loading tiled maps

Projects using this framework (older versions)

TODO

  • Better resolution controls
  • Fade effects for audio
  • Add point/line render options
  • make (tiled, font, audio) dependancies optional

Dependencies

~17MB
~374K SLoC