Skip to content

ParsaFaghani/Game-Engine

Repository files navigation

🌀 MiniEngine — Lightweight OpenGL Game Engine (Stopped)

License OpenGL

MiniEngine is a minimal yet modular OpenGL-based game engine sandbox, written in modern C++.
Its purpose is to provide a clean, extensible foundation for learning real-time rendering, camera control, input systems, and general 3D engine architecture.


🧩 Dependencies

  • C++17 or later
  • OpenGL 3.3+
  • GLFW (window/input handling)
  • GLAD (OpenGL function loader)
  • GLM (math)
  • CMake 3.14+

⚙️ Build Instructions

git clone --recurse-submodules https://github.com/ParsaFaghani/Game-Engine.git
cd MiniEngine
mkdir build && cd build
cmake ..
make -j$(nproc)
./MiniEngine

🛠️ TODO (Development Roadmap)

🎮 Core Engine

  • Refactor input system into event-based callbacks
  • Add customizable input mapping / keybinding
  • Abstract rendering into a Renderer class
  • Add frame timing & FPS counter
  • Support multiple camera types (FPS, orbit, free-fly)

🔦 Rendering

  • Add directional lighting (Phong shading)(simple)
  • Point and spot light support
  • Normal mapping and specular highlights
  • Skybox with cubemap shaders
  • Post-processing effects (bloom, fog, grayscale, etc.)
  • Shadow mapping (depth maps)

🎨 Assets / Scene

  • Load OBJ/GLTF models
  • Add basic material system
  • Texture support (diffuse / normal / specular)
  • Add scene graph / transform hierarchy

🧠 Systems

  • Node-based system
  • Physics: basic AABB collisions
  • Add scripting hooks (e.g., Lua or C++ callbacks)
  • Simple animation system

🧪 Tooling

  • In-game debug UI (using ImGui)
  • Hot-reloading shaders
  • Mouse picking / raycasting
  • Simple editor for placing Nodes

🐧 Platform / Build

  • cross-platform(Linux and windows tested)

This project is currently on hold.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages