Skip to main content

Installation

Wizard Duel requires several system libraries and build tools to compile and run successfully.

System requirements

Operating system

  • Linux (tested on X11-based systems)
  • Windows and macOS may require additional configuration

Dependencies

The game requires the following libraries:
All dependencies are linked during compilation. See the Makefile for the complete list.
LibraryPurpose
Raylib2D graphics rendering, windowing, input handling, and audio
ENetReliable UDP networking for multiplayer
OpenGLGraphics acceleration
pthreadThreading support
X11Linux windowing system
Additional system libraries: dl, rt, m (math)

Installation steps

1

Install build tools

Install the C++ compiler and build essentials:
sudo apt update
sudo apt install build-essential g++
The project uses C++17 standard.
2

Install Raylib

Install Raylib for graphics and game framework:
sudo apt install libraylib-dev
Or build from source following the official Raylib installation guide.
3

Install ENet

Install ENet for multiplayer networking:
sudo apt install libenet-dev
This provides the <enet/enet.h> header and networking library.
4

Install graphics libraries

Install OpenGL and X11 development libraries:
sudo apt install libgl1-mesa-dev libx11-dev
These are required for rendering on Linux systems.
5

Verify installation

Check that all libraries are installed:
pkg-config --modversion raylib
ldconfig -p | grep enet
ldconfig -p | grep GL
Each command should return version information or library paths.
The game requires assets (island.png, tree.png, cursor.png, self_char.png, and death.mp3) in an assets/ directory. Make sure these are present before running.

Compilation flags

The Makefile uses the following compilation settings:
CC = g++
CFLAGS = -Wall -Wextra -std=c++17
LIBS = -lraylib -lenet -lGL -lm -lpthread -ldl -lrt -lX11
  • Wall, Wextra: Enable comprehensive compiler warnings
  • std=c++17: Use C++17 language standard
  • All libraries are dynamically linked

Build docs developers (and LLMs) love