SpellWar is a third-person 3D game developed in C++ with OpenGL, featuring a custom-built game engine and real-time gameplay mechanics. This repository contains both the game logic and the engine from scratch.
In SpellWar, players control characters across floating platforms. The game emphasizes mobility, precision jumping, and character selection.
ZQSD— Move (AZERTY layout)Z— UpQ— LeftD— RightS— DownShift (hold)— SprintSpace— JumpEscape— Open the options menu
To jump from one platform to another:
- Look at the platform you want to reach.
- Walk toward the edge.
- Jump while moving toward it to "launch" across.
- There must be no collisions between you and the platform.
- Run the game in fullscreen:
./SpellWar
- Run the game in windowed mode with custom resolution:
./SpellWar <width> <height>
🕒 Note: The loading time at the start can be long — this is due to initial map loading.
The codebase is split between two main components:
This folders contain the custom game engine, built from scratch. It handles core systems like:
- Rendering
- Animation
- Input
- Camera
- Window management
- Scene and entity systems
- etc...
This folders hold the game-specific logic, such as:
- Character behavior
- Platform mechanics
- Game rules and gameplay scripting
GLSL shaders used for visual rendering.
- Space Environment
Source: Space Sphere Maps
- Texture Pack by Lynocs
Source: Itch.io - Texture Pack
- Monogram Font by datagoblin
Source: Itch.io - Monogram
-
Rock by Siesta
Source: Sketchfab - Rock -
Stalagmite by DaniEve
Source: Sketchfab - Stalagmite
-
Low Poly Water Plant by Natural_Disbuster
Source: Sketchfab - Water Plant -
Fantasy Plant 2 by Mainul
Source: Sketchfab - Fantasy Plant
- Tree with Pink Leaves by ChamberSu1996
Source: Sketchfab - Tree
- The Sun by ARCTIC WOLVES™
Source: Sketchfab - The Sun
-
Flame Wraith by YT-XTREMENINJA
Source: Sketchfab - Flame Wraith -
Taila (Frost) by Partaevil
Source: Sketchfab - Taila
- C++17
- OpenGL
- GLFW
- GLM
- TinyGLTF
Wester