About CollisionChess
CollisionChess is a unique implementation of the classic chess game that incorporates physics-based collisions. When a piece is captured, instead of simply disappearing from the board, it gets knocked off in a physically realistic way, affected by gravity, momentum, and collisions.
This project combines traditional chess rules with entertainment physics to create a visually dynamic chess experience.
Key Features
Physics-Based Collisions
Pieces collide and respond realistically with impulse-based collision resolution.
Complete Chess Rules
Full implementation of chess game logic, including piece movement validation.
Dynamic Camera
Camera perspective changes based on whose turn it is, providing an immersive experience.
3D Rendering
High-quality 3D piece models with Blinn-Phong shading for visual appeal.
Demo Video
Technical Implementation
Physics Engine
CollisionChess implements a physics model with:
- Impulse-based collision detection and resolution
- Gravity simulation for knocked-off pieces
- Realistic bouncing with coefficient of restitution
- Ground friction for pieces that land on the board
Graphics & Rendering
The visual aspects of the game include:
- OpenGL-based rendering with custom shaders
- Blinn-Phong illumination model for realistic lighting
- 3D chess piece models with custom materials
- Perspective camera with smooth transitions
Chess Logic
The game implements standard chess rules with:
- Complete move validation for all pieces
- Turn-based gameplay alternating between white and black
- Algebraic notation for move input
- Win detection when a king is captured
Technologies Used
- C++ for core game logic and physics
- OpenGL and GLSL for rendering
- Eigen for vector math and linear algebra
- GLFW for window management and input handling