Skip to content

sfdez0/GLCrawler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

120 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GLCrawler

C++ OpenGL License: MIT

GLCrawler is a first-person 3D dungeon crawler built with OpenGL as a university project for Computer Graphics course at MUII.

It features different levels, real-time lighting with flickering torches, an A* powered enemy AI, collectable keys, and a particle system for visual effects.

The logic is structured around a modular architecture where game entities (Doors, Torches, Keys, Enemies) are encapsulated in dedicated modules that manage their own shaders, textures, and logic.

unknown_2026 05 10-15 30_1

Features

  • First-person movement (WASD) with mouse look and sprint (Shift)
  • Z-Buffer
  • BoundingBox collision detection against maze walls
  • Texture mapping (walls, floor, ceiling)
  • Pause menu and HUD via Dear ImGui
  • Maze loading from .txt map files
  • Dark-fog lighting (only areas near a light source are illuminated)
  • Animated torches with flickering point lights
  • Pseudo-Randomised light intensity
  • Particle system
  • Enemy AI with A* pathfinding
  • Key collection mechanic
  • Win/loss state machine (escape portal or die)

Technology Stack

Component Library / Technology
Graphics API OpenGL
Windowing/Input GLFW
Math GLM
Model Loading Assimp
UI Dear ImGui
Pathfinding A* (astar)

Prerequisites

  1. GPU drivers with OpenGL 4.0 support.
  2. C++17 compiler
    • Linux: GCC/G++
    • Windows: Visual Studio 2019/2022
    • macOS: Xcode
  3. CMake ≥ 3.7 accessible from the terminal.

Building

All dependencies (GLFW, GLM, Assimp, GLAD, ImGui, AStar) are bundled under libs/.

Linux

mkdir build && cd build  
cmake .. -DOpenGL_GL_PREFERENCE=GLVND  
make -j4

Windows (Visual Studio)

Open the repository folder directly in Visual Studio 2019/2022 (CMake project support) or run CMake-GUI to generate a .sln solution file, then build from the IDE.


Running

After building, launch the game from build/bin/:

./gpo_proyecto_final   # Linux / macOS  
gpo_proyecto_final.exe # Windows

Controls

Key / Input Action
W A S D Move
Shift Sprint
Mouse Look around
ESC Show menu
F11 Toggle fullscreen mode

Credits


Authors

About

First-person 3D dungeon crawler game built with OpenGL

Topics

Resources

License

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Contributors

Languages