Java CI with Maven license-badge

Salty Engine

Salty Engine is a Java library for making a whole 2D Game with only one single engine and without any dependencies. It aims to be a very user-friendly and easy-to-use 2D Game making tool for Java.

It isn't just a library for rendering

It also includes collision detection, physics, several visual effects, over 100 beautiful colors, useful utility classes, hardware acceleration as well as saving data and much more, spread accross more than 230 classes with an average of approximately 90 lines

Minimal tested hardware requirements made possible by JProfiler, a java profiler (for Escape the Junk):

NOTE: When you release a game that's made with Salty Engine, feel free to send me an email that I can add it to this section

NOTE 2: The default font (SaltySystem.defaultFont) is the same on all systems to ensure the same looking graphics on every computer. This font is powered by Google Fonts and is published under the Apache 2 license as well.

Why using Salty Engine?

Features (at least some of them):

Build instructions

You can build Salty Engine using maven and add it to your project by adding this to your pom.xml file:

<dependencies>
    <dependency>
        <groupId>de.edgelord.salty-engine</groupId>
        <artifactId>salty-engine</artifactId>
        <version>[version]</version>
    </dependency>
</dependencies>

Or: to get a usable JAR of this library, you can either download an existing release here or build one yourself following these instructions:

  1. Requirements:

    • git has to be installed properly
    • a JDK, 1.8 or later
  2. Clone (download) the git repository. To do so, open up the terminal or cmd, go to any directory and type in

    git clone https://github.com/edgelord314/salty-engine

    https://github.com/edgelord314/stdf for stdf and
    https://github.com/edgelord314/sysDepFiles for sysDepFiles

  3. "cd" into the downloaded directory. Type

    cd salty-engine

    into the cmd or terminal

  4. Build the project using the maven wrapper (no installation required). For windows, type the following into the cmd

    mvnw clean install

    For Linux/macOs type the following into the terminal:

    ./mvnw clean install
  5. You can now either use maven to get the lib into the build path of your project (recommended) or use the built JAR directly. For maven, add the following to your pom.xml:

    <dependencies>
        <dependency>
            <groupId>de.edgelord.salty-engine</groupId>
            <artifactId>salty-engine</artifactId>
            <version>[the version you built in step 3]</version>
        </dependency>
    </dependencies>

    When you build the project as described in step 3, something like this should appear somewhere at the beggining of the output:

    [INFO] ---------------< de.edgelord.salty-engine:salty-engine >----------------
    [INFO] Building Salty Engine [the version is here ("-SNAPSHOT" is important!)]
    [INFO] --------------------------------[ jar ]---------------------------------
    

    Or you copy the JAR target/salty-engine-[version]-jar-with-dependencies.jar relative to the directory of the cloned project and add it to the buildpath manually using e.g. your IDE.

How to use Salty Engine

You can very easily start a Salty Engine game project using this tool. It basically creates a runnable project template. There is a series of videos uploaded to YouTube that explain how to use Salty Engine

  1. How to install Salty Engine

Games made with Salty Engine

Escape the Junk

Made by edgelord314 and LoOoNeliEst for Ludum Dare 42. You can play it here. Escape the Junk

Moon Defender

A fun little pixel-style prototype of a top-down shooter, made by edgelord314. You can play it here Moon Defender

Br34k0ut

A simple, colorful clone of Breakout by Atari. You can play it here

Br34k0ut

Collaborate

Do you want to collaborate? Feel free to open a pull-request (preferably well documented and only well tested code). Also, feel free to join the official discord server

Help

For help with how to use, there are five ways: