A downloadable game engine for Windows and Linux

RoseQuartz is a free game engine for Java that allows you to easily bring your game to Windows, Linux and HTML5. Depending on how you use it, you can make a game in 2D, 3D or anything inbetween.

The engine is still pretty bare-bones right now. Programming graphics requires basic knowledge about graphics programming (vertex shaders, fragment shaders, frame buffers, vertex arrays (VBO, EBO), depth testing, cameras, coordinate systems).

RoseQuartz also supports a separate runtime for headless servers that can either be started on it's own or from another Java application, like an Apache Tomcat. It uses part of the API from the normal engine, so code can be shared between client and server.

Engine features:

  • Comes with Java out of the box
  • Easy-to-use wrappers around 3d graphics, audio, file I/O and user input
  • Simple timing API
  • Entity Component System
  • Easy to use build tools
  • ...

Examples

A collection of examples can be found here.

There is also Countryside, a basic 3D-game written in RoseQuartz. It serves as an example for the RoseQuartz API, and how a game can be structured (although the structure can still be improved a lot). Always feel free to have a look at it's source code if you are stuck.

API documentation

Documentation for the engine API can be found here or downloaded below.

Licensing

RoseQuartz is licensed under the MIT license.

Contributing to RoseQuartz

You can implement support for a new target platform by building your own engine runtime.

You can also create wrapper API's that are based on the already existing ones that make development easier. Maybe a simpler way to render 2D graphics, or maybe a GUI system or a collection of components for position, orientation and velocity.

Projects made in RoseQuartz

Countryside is currently the only game made using RoseQuartz. If you made an engine runtime, a library or a game, feel free to show it off in the comments!

Download

Download
rosequartz-engine.zip 392 MB
Download
runtime-server.jar 606 kB
Download
api-docs.zip 555 kB
Download
LICENSE 1 kB

Install instructions

  1. Download rosequartz-engine.zip.
  2. Extract the downloaded file.
  3. To make your life easier, add the folder with all the engine files inside to your system's PATH environment variable.
  4. To use the engine, launch rosequartz-linux (Linux) or rosequartz-windows.exe (Windows) in a terminal (it might be useful to add an alias (or batch script in the PATH) called "rq" or "rosequartz").
  5. Linux users may be required to run:
    "chmod +x ./rosequartz-linux"
    "chmod +x ./jdk-linux/bin/java"
    "chmod +x ./jdk-linux/bin/javac"
    "chmod +x ./jdk-linux/bin/jar"
    "chmod +x ./jdk-linux/bin/jlink"
    "chmod +x ./jdk-linux/bin/jdeps"
    in a terminal in the folder with the engine files. RoseQuartz will tell you if and what executable failed to run and why, should this be the case.

Leave a comment

Log in with itch.io to leave a comment.