DaemonChess is a sophisticated turn-based 3D chess simulator built with modern graphics technology and the custom Daemon Engine. This project combines traditional chess gameplay with advanced 3D visualization, featuring realistic lighting effects, smooth animations, and future networked multiplayer capabilities. More than just a chess game, it serves as a comprehensive showcase of modern C++ game development techniques and advanced graphics programming.
- Turn-based Chess Logic: Complete implementation of standard chess rules with legal move validation
- 3D Interactive Board: Intuitive mouse-controlled piece selection and movement system
- Real-time Lighting: Advanced Blinn-Phong shading with specular highlights and dynamic lighting
- Smooth Animations: Fluid piece movement and transition effects
- Advanced Graphics Rendering: Blinn-Phong shader implementation with specular and emissive lighting
- 3D Chess Environment: Immersive 3D board with camera controls and visual feedback
- Custom Game Engine Integration: Built on top of the custom Daemon Engine architecture
- Modular Design: Clean separation between game logic, rendering, and engine systems
- Future Multiplayer Support: TCP networking foundation for online chess matches
- Cross-Platform Potential: Designed for easy porting to different platforms
- Game Engine: Custom Daemon Engine (C++)
- Programming Languages: C++, HLSL
- Graphics Pipeline: DirectX 11, Blinn-Phong Shading Model
- Audio Engine: Custom audio system (planned)
- Networking: TCP/IP for multiplayer (in development)
- Platform: Windows (x64), planned Linux/macOS support
โโโ Code/
โ โโโ Game/
โ โ โโโ Gameplay/
โ โ โ โโโ Game.cpp/hpp
โ โ โ โโโ Board.cpp/hpp
โ โ โ โโโ Piece.cpp/hpp
โ โ โ โโโ Match.cpp/hpp
โ โ โ โโโ Actor.cpp/hpp
โ โ โโโ Definition/
โ โ โโโ Framework/
โ โ โโโ Subsystem/
โ โโโ Engine/ (Daemon Engine)
โโโ Docs/
โ โโโ README.md
โ โโโ structure.puml
โโโ Run/
โโโ Temporary/
โโโ DaemonChess.sln
- Visual Studio 2022 or later
- Windows 10 SDK (10.0.19041.0 or later)
- DirectX 11 compatible graphics card
- Git for version control
-
Clone the repository
git clone https://github.com/dadavidtseng/DaemonChess.git cd DaemonChess
-
Open the Visual Studio solution
start DaemonChess.sln
-
Build the project
- Set platform to
x64
- Choose
Debug
orRelease
configuration - Press
Ctrl+Shift+B
to build
- Set platform to
-
Run the game
- Press
F5
to start debugging orCtrl+F5
to run without debugging
- Press
- Mouse Left Click: Select and move chess pieces
- Mouse Drag: Rotate camera around the board
- Mouse Wheel: Zoom in/out
- ESC: Return to main menu
- Local Play: Two players taking turns on the same computer
- Network Play: Online multiplayer (coming soon)
- Phase 1: Core engine integration and basic rendering
- Phase 2: Chess game logic and rule implementation
- Phase 3: 3D graphics and lighting system
- Phase 4: Network multiplayer implementation
- Phase 5: AI opponent and advanced features
- Network System: TCP multiplayer still in development
- Audio System: Sound effects and music not yet implemented
- Performance: Minor frame rate drops with complex lighting scenarios
(Demo video coming soon)
This project explores several key areas in game development and computer graphics:
- Custom Engine Development: Building a modular, reusable game engine architecture
- Advanced Graphics Programming: Implementing modern shading techniques and lighting models
- Network Game Programming: Developing robust multiplayer systems for turn-based games
The development follows an iterative approach with emphasis on:
- Modular Architecture: Clean separation of concerns between engine and game code
- Performance Optimization: Efficient rendering pipelines and memory management
- Cross-Platform Design: Writing portable code for future platform expansions
- Engine Modularity: Custom engine approach provides better control over performance and features
- Graphics Optimization: Blinn-Phong shading offers excellent visual quality with reasonable performance
- Code Architecture: Object-oriented design with component patterns scales well for complex games
Contributions are welcome! This being a learning project, I'm particularly interested in:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Make your changes with clear commit messages
- Submit a pull request with detailed description
- Graphics Enhancements: Additional shading models, post-processing effects
- Game Features: AI opponents, different chess variants, replay system
- Performance: Optimization suggestions and profiling improvements
- Platform Support: Linux and macOS porting assistance
- Technical Design Document
- Engine Architecture Overview
- Graphics Programming Guide (planned)
- Network Protocol Specification (planned)
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
- Custom Daemon Engine: Built as part of personal engine development journey
- DirectX Documentation: Microsoft's comprehensive graphics programming resources
- Chess Programming Community: Various online resources for chess rule implementation
- Graphics Programming Texts: Real-Time Rendering and GPU Gems series
For questions about this project, please contact:
- Developer: Yu-Wei Tseng - [email protected]
- GitHub: https://github.com/dadavidtseng
- Portfolio: https://dadavidtseng.info
Development Period: 2023 - Present (Active Development)
Last Updated: August 7, 2025