Chess
3D version of classic game chess. Built with custom OpenGL engine.
Screenshots
Instructions
Pieces are moved using a drag-and-drop system. To start dragging a piece, use the left mouse button or A button (Xbox controller). When releasing the button, if the piece is over a valid square, it will move there; otherwise, it will return to its original position. Dragging can be canceled by pressing the right mouse button or B button (Xbox controller).
Press Escape to pause the game and access the settings menu.
The player using the keyboard and mouse moves the white pieces. If a controller is connected, it controls Player 2 (black pieces). Player 2 can only move pieces; they cannot pause or change settings. If no controller is connected, the mouse is used to β¦
Chess
3D version of classic game chess. Built with custom OpenGL engine.
Screenshots
Instructions
Pieces are moved using a drag-and-drop system. To start dragging a piece, use the left mouse button or A button (Xbox controller). When releasing the button, if the piece is over a valid square, it will move there; otherwise, it will return to its original position. Dragging can be canceled by pressing the right mouse button or B button (Xbox controller).
Press Escape to pause the game and access the settings menu.
The player using the keyboard and mouse moves the white pieces. If a controller is connected, it controls Player 2 (black pieces). Player 2 can only move pieces; they cannot pause or change settings. If no controller is connected, the mouse is used to move both playersβ pieces.
Shortcuts
- F11 β Toggle fullscreen
- Alt + F4 β Close the game
Features
- Physically Based Rendering
- HDR rendering
- Shadow mapping
- Game hot code reloading
- XInput gamepad support
Build
You need Microsoft C/C++ Build Tools. Make sure the MSVC compiler is accessible from the command line. You can verify by running:
cl
- Debug build: run
build_debug.bat - Release build: run
build_release.bat
The game expects the following folders:
- bin: place the .exe and required .dll files here
- data: contains all asset folders (models, textures, audio, etc.)
Credits
- Casey Muratori β Creator of Handmade Hero, inspiration for custom game engine architecture
- Joey de Vries β Author of LearnOpenGL.com tutorials
- Sean Barrett β Author of the stb_image library
- Riley Queen β Creator of the Chess Set model (via Poly Haven, CC0)
- Disservin β Author of the chess-library
- The FreeType Project β FreeType font rendering library
- David Reid β Author of the miniaudio library
- Johannes Kuhlmann β Author of the cgltf library
References
- Handmade Hero β Casey Muratori Video series on building a complete game engine from scratch
- LearnOpenGL β Joey de Vries
- Anton Gerdelan β Mouse Picking with Ray Casting A clear explanation of ray casting techniques for mouse picking in OpenGL.
- Epic Games β Physically Based Shading Notes (Brian Karis, 2013) Foundational reference for PBR workflows and theory used in real-time rendering.
- OpenGL Programming/Modern OpenGL Tutorial Text Rendering 02