An open API service indexing awesome lists of open source software.

https://github.com/bastianblokland/volo

Work in progress real-time strategy game.
https://github.com/bastianblokland/volo

3d-engine c rts-game vulkan

Last synced: about 2 months ago
JSON representation

Work in progress real-time strategy game.

Awesome Lists containing this project

README

          

[![build](https://github.com/BastianBlokland/volo/actions/workflows/build.yaml/badge.svg)](https://github.com/BastianBlokland/volo/actions/workflows/build.yaml)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)

*Work in progress RTS game*

![screenshot](https://bastian.tech/media/volo_22-06-2025.jpg)

# Volo

## Building

### Supported platforms
* Linux + X11.
* Microsoft Windows (*8.1 or newer*).

### Dependencies
* `C` compiler supporting `c11`: Tested on recent [`gcc`](https://gcc.gnu.org/), [`clang`](https://clang.llvm.org/) and [`msvc`](https://docs.microsoft.com/en-us/cpp/build/reference/c-cpp-building-reference?).
* Meta build-system: [CMake](https://cmake.org/) (*3.19 or newer*).
* Build-system: Tested with [`ninja`](https://ninja-build.org/manual.html), [`make`](https://www.gnu.org/software/make/), [`nmake`](https://docs.microsoft.com/en-us/cpp/build/reference/nmake-reference) and [`msbuild`](https://docs.microsoft.com/en-us/visualstudio/msbuild).
* [Vulkan SDK](https://vulkan.lunarg.com/).
* (*Linux only*) [XCB](https://xcb.freedesktop.org/) (X protocol bindings) + various extensions.
* (*Optional*)(*Linux only*) [ASound](https://alsa-project.org) audio library for the Alsa architecture.

### Linux
* Install a `c` compiler and build-system (debian: `apt install build-essential`).
* Install `CMake` (debian: `apt install cmake`).
* Install the `Vulkan` sdk (source: https://vulkan.lunarg.com/sdk/home#linux).
* Install `XCB` (debian: `apt install libxcb1-dev`).
* (*Optional*) Install `asound` (audio library for the Alsa architecture)
(debian: `apt install libasound2`).
* Build and run: `shell/run-linux.sh` (or invoke `cmake` and your build-system manually).

### Windows
* (*Optional*) Install the `winget` package manager (info: https://docs.microsoft.com/en-us/windows/package-manager/winget/).
* Install `Visual Studio Build Tools` (winget: `winget install Microsoft.VisualStudio.2022.BuildTools --override "--add Microsoft.VisualStudio.Workload.VCTools --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --add Microsoft.VisualStudio.Component.Windows10SDK.19041 --focusedUi"`)
* Install `CMake` (winget: `winget install Kitware.CMake`).
* Install the `Vulkan` sdk (winget: `winget install KhronosGroup.VulkanSDK`).
* Build and run: `shell/run-win32.bat` (or invoke `cmake` and your build-system manually).

### Tests

Unit tests can be invoked using the `test.[libname]` targets (for example `test.core` or `test.geo`).
To run all the tests there's an overarching `test` target.

### Assets

Assets under `assets/external/` are not distributed as part of this repository and thus not covered by the license.
Instead they are downloaded as part of the build process, all credits go to the original creators.

License information:
[Asset Licenses 1](https://bastian.tech/assets/license.txt)
[Asset Licenses 2](https://bastian.tech/assets-auth/license.txt).