Skip to main content

Quickstart

Get Wizard Duel running on your system and jump into your first battle.

Prerequisites

  • All dependencies installed (see Installation)
  • C++17 compatible compiler
  • Basic familiarity with terminal commands

Build and run

1

Clone the repository

2

Build the game

Compile the game using the Makefile:
This creates the executable at build/game.
The build process uses g++ with C++17 standard and links Raylib, ENet, and system libraries.
3

Run the game

Launch the game:
Or run the executable directly:

Your first match

When you launch Wizard Duel, you’ll see the main menu with four options:

Singleplayer

Practice mode to learn the mechanics

Host game

Start a server and wait for opponents

Join game

Connect to an existing game server

Quit

Exit the game

Try singleplayer first

  1. Click Singleplayer to enter practice mode
  2. Use WASD to move your wizard
  3. Press 1 and left-click to cast a red spell
  4. Try zooming with Z and X keys
  5. Right-click to convert mana into health
Start with singleplayer to familiarize yourself with the controls before jumping into multiplayer battles.

Network configuration

By default, the game uses these network settings:
These values are defined in src/main.cpp:11-12. For LAN play, modify SERVER_IP to the host’s local IP address.

Troubleshooting

If you see “An error occurred while initializing ENet”, ensure:
  • ENet is properly installed
  • Your system has network capabilities
  • No firewall is blocking the application
Port 7777 might already be in use. Check for:
  • Another instance of the game running
  • Other applications using port 7777
  • Firewall blocking the port
Ensure Raylib and OpenGL are properly installed:
  • Update graphics drivers
  • Verify OpenGL support
  • Check that assets directory exists

Makefile commands

Next steps

Learn the controls

Master movement, spells, and camera

Understand spells

Learn spell types and mechanics

Play multiplayer

Host or join online matches
Make sure the assets directory is present in the same location as the executable, or the game will fail to load textures and sounds.