No description
Find a file
Jens Pitkanen 50ddfb16de Add README
2025-06-25 02:09:46 +03:00
.github/workflows Add reuse annotations to the new CI configuration 2025-04-11 13:20:59 +03:00
engine Make Rect Copy and Debug 2025-04-08 03:33:27 +03:00
example Add file embedding to platform-sdl2, simplifying mac ports 2025-04-08 23:58:39 +03:00
import-asset Limit platform-sdl2 parallelism to 1 on emscripten 2025-04-05 18:36:27 +03:00
LICENSES Add reuse compliance check to CI 2025-02-25 19:33:37 +02:00
platform Make Engine Sync 2025-04-03 21:45:03 +03:00
platform-sdl2 Add file embedding to platform-sdl2, simplifying mac ports 2025-04-08 23:58:39 +03:00
.gitignore Change config files to CC0 2025-02-25 19:41:32 +02:00
Cargo.lock Add half of an actual example game, tweak define_system 2025-03-27 21:20:19 +02:00
Cargo.toml Rename platform-abstraction-layer to just platform 2025-02-26 16:36:07 +02:00
deny.toml Add cargo-deny config, CI workflow 2025-02-25 21:42:50 +02:00
LICENSE Add LICENSE file for license detection 2025-02-25 22:01:55 +02:00
README.md Add README 2025-06-25 02:09:46 +03:00

Master's thesis prototype game engine

This repository contains the game engine written for my University of Helsinki Master's thesis in 2025, Game engine implementation in the Rust programming language. The engine's applicability as a game engine was validated by using it to build the Diving for Oxygen game for Ludum Dare 57.

The online repository and CI results can be found at: https://github.com/pcjens/rust-game-engine-prototype

The documentation for the Rust code can be found at: https://pcjens.github.io/rust-game-engine-prototype/engine/

Building

Dependencies:

  • Rust and cargo
  • SDL2 from your system package manager (libsdl2-dev on Debian), or:
    • Built alongside the engine, with the sdl2/bundled feature, though this requires CMake and SDL's own dependencies to be installed instead.
    • Downloaded from Microsoft's vcpkg package manager with the sdl2/use-vcpkg feature, though this requires vcpkg to be installed instead.

The engine can be built straightforwardly with cargo build. (Or cargo build --features sdl2/bundled, or cargo build --features sdl2/use-vcpkg, depending on your source of SDL.)

License

All the code in this repository can be used under the terms of the GNU GPL 3.0 license, and all the files have been annotated to be understood by the reuse tool.