Systems Programming

C++ Chess Engine with OpenGL GUI

C++ · OpenGL · GLFW · ImGui · CMake
Engine Architecture & Rule Logic
  • Developed around an early interest in low-level systems programming and object-oriented design, alongside a long-standing interest in the game itself.
  • Implements full rule-complete move generation — castling rights tracking, en passant state, promotion handling, and legal move filtering via check detection.
  • Game state structured as a deterministic, serialisable representation with clear separation between board state, piece logic, and move history.
  • Built using modular class hierarchies, RAII-based resource management, const-correctness, and strong type separation to enforce invariants at compile time.
GUI & Software Design
  • Responsive OpenGL GUI built with GLFW and ImGui, separating rendering, game state, and input handling into clean subsystems with well-defined interfaces.
  • Performance-aware design and predictable control flow throughout — avoiding dynamic allocation on hot paths and keeping frame-time costs bounded.
  • Comprehensive inline comments and structured project documentation covering architecture decisions, data structures, and rule implementation logic.
  • The structured C++ architecture reflects the discipline required in avionics embedded software and telemetry-driven compute platforms.