Ealrann / VSand

Rewrite of the "Falling Sand" game with Vulkan.
GNU General Public License v3.0
30 stars 3 forks source link
game jlink lwjgl3 nuklear vulkan

Vulkanized Sand

Rewrite of the Falling Sand game with Vulkan (LWJGL3).

Since that kind of game requires a lot of computing power, I wanted to exploit the graphic card capabilities to process and to display the particles (parallel computing).

License GPL-3.0. Feel free to redistribute (please let me know). Since version 1.2, the VSand releases contain an OpenJDK with OpenJ9.

Since v1.2.2, you can launch the game in benchmark mode, with or without window (headless). This mode run a predefined scene as fast as possible (no v-sync wait), for a fixed number of frames, and will then compute a score based on the duration.

Requirements

To launch the game, you only need to intall a recent graphic driver, with Vulkan 1.0 compatibility.

Download

You can find the last release for free on itch.io.

Any problem?

The game run smoothly on my computers, but I cannot test it on every existing configurations. If you find any problem (game doesn´t start, crash, particles don´t move...), please consider opening an issue, or directly contact me.

Game

Here some materials you can find in the game:

Sand

Sand

Water

Water

Plant

Plant Plant1 Plant2

Wax

Wax

Fuel

Fuel

Lava

Lava

Petrol

Petrol

Concrete

Concrete

Dirt

Dirt

Contribution

Feel free to add a new issues if you want to see new things in the game, or if you find a bug.

If you want to contribute to the project, or simply run the program from the source:

1. JDK

You need to setup a JDK 17 (Right now, I'm using the Eclipse Temurin).

2. Github Token

You need to configure a github token with Read package capability. Follow these steps to create a github token. Then, put your github name and token into a file <USER_HOME>/.gradle/gradle.properties:

github.username=
github.token=

3. Clone the repository

Finally, you can clone the repository using:

git clone --recursive --single-branch --branch root https://github.com/Ealrann/VSand.git

4. Run the game

To launch the game:

# Go to the VSand project directory
cd VSand/VSand/
# Use gradle to run it
./gradlew run

To update an existing repository, go back to the root directory (The one containing the submodules Lily-core, Lily-vulkan, and VSand), and use:

git pull --rebase --recurse-submodules

Frameworks/API used

Graphic