nze_game_sdl

Crates.ionze_game_sdl
lib.rsnze_game_sdl
version0.1.2
sourcesrc
created_at2023-02-23 21:37:02.039029
updated_at2023-02-24 18:17:36.702939
descriptionA framework for making 2D games, built on SDL2
homepage
repositoryhttps://github.com/NoamZeise/nze-game-sdl
max_upload_size
id793069
size88,585
Noam Zeise (NoamZeise)

documentation

README

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
Commit count: 84

cargo fmt