Research Report on the History of Computer Chinese Chess (Xiangqi) Game-Playing

A structured history of Chinese chess engine development from the 1980s to 2026, covering major engines, protocols, and community tooling. Reverse Influence on the Chess Community → Engine Memory Usage Analysis

☰ Contents

Reverse Influence on the Chess Community

The development of Xiangqi engines is also influencing the chess community in reverse:

  1. The complexity of Xiangqi rules provides test cases for chess variant engines
  2. Xiangqi NNUE adaptation experience can be migrated to other chess variants
  3. The Pikafish community’s working model provides a reference for open source collaboration in the chess community

Cross-cultural Dissemination of Xiangqi Engines

Xiangqi engines as vehicles for cultural dissemination:

  1. Introduce the cultural connotations of Xiangqi to the world through engines
  2. Engine analysis can help non-Chinese-background users understand Xiangqi strategic thinking
  3. The story of Xiangqi engine development showcases the technological innovation capability of the Chinese community

Volume XXXI: Detailed Technical Specifications of Xiangqi Engines

Engine Startup Flow

The Xiangqi engine startup process:

  1. Initialize global data structures (evaluation tables, precomputed tables, etc.)
  2. Load NNUE network weight file (if available)
  3. Load opening book (if available)
  4. Register UCCI protocol handler
  5. Wait for GUI UCCI commands

Complete Search Flow

The complete flow of a single engine search:

  1. Receive the “go” command, parse search parameters
  2. Initialize search state (root position, search depth, etc.)
  3. Iterative deepening search (starting from depth=1)
  4. Call Alpha-Beta search at each depth level
  5. PVS search on the principal variation branch
  6. Use zero-window search on non-PV branches
  7. Apply various pruning techniques
  8. Use NNUE to evaluate leaf positions
  9. Update transposition table
  10. Reach iterative deepening termination condition (time exhausted or max depth reached)
  11. Return the best move to the GUI

Engine Memory Usage Analysis

Memory usage distribution of a Xiangqi engine:

  1. Transposition table: 64-1024MB (primary memory consumer)
  2. NNUE network weights: 2-10MB
  3. Opening book: 1-100MB (depends on size)
  4. Precomputed tables: 1-5MB
  5. Other data structures: 1-10MB