Skip to content

DaemonChess is a sophisticated turn-based 3D chess simulator built with modern graphics technology and the custom Daemon Engine.

Notifications You must be signed in to change notification settings

dadavidtseng/DaemonChess

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

93 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

DaemonChess - 3D Chess Simulator

DaemonChess Screenshot

๐ŸŽฎ Game Overview

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.

๐ŸŽฏ Core Gameplay

  • 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

๐ŸŒŸ Key Features

  • 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

๐Ÿ› ๏ธ Technical Stack

  • 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

๐Ÿ“ Project Architecture

โ”œโ”€โ”€ 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

๐Ÿš€ Getting Started

Prerequisites

  • Visual Studio 2022 or later
  • Windows 10 SDK (10.0.19041.0 or later)
  • DirectX 11 compatible graphics card
  • Git for version control

Installation

  1. Clone the repository

    git clone https://github.com/dadavidtseng/DaemonChess.git
    cd DaemonChess
  2. Open the Visual Studio solution

    start DaemonChess.sln
  3. Build the project

    • Set platform to x64
    • Choose Debug or Release configuration
    • Press Ctrl+Shift+B to build
  4. Run the game

    • Press F5 to start debugging or Ctrl+F5 to run without debugging

๐ŸŽฎ How to Play

Controls

  • 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

Game Modes

  • Local Play: Two players taking turns on the same computer
  • Network Play: Online multiplayer (coming soon)

๐Ÿ“ˆ Development Progress

Current Status: Alpha

Milestones

  • 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

Known Issues

  • 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

๐ŸŽจ Media

System Architecture

UML Diagram

Gameplay Video

(Demo video coming soon)

๐Ÿ“Š Research Focus

This project explores several key areas in game development and computer graphics:

Research Objectives

  • 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

Methodology

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

Findings

  • 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

๐Ÿค Contributing

Contributions are welcome! This being a learning project, I'm particularly interested in:

Development Workflow

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes with clear commit messages
  4. Submit a pull request with detailed description

Areas for Contribution

  • 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

๐Ÿ“„ Documentation

๐Ÿ“ License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

  • 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

๐Ÿ“ž Contact

For questions about this project, please contact:


Development Period: 2023 - Present (Active Development)
Last Updated: August 7, 2025

About

DaemonChess is a sophisticated turn-based 3D chess simulator built with modern graphics technology and the custom Daemon Engine.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published