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:
- The complexity of Xiangqi rules provides test cases for chess variant engines
- Xiangqi NNUE adaptation experience can be migrated to other chess variants
- 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:
- Introduce the cultural connotations of Xiangqi to the world through engines
- Engine analysis can help non-Chinese-background users understand Xiangqi strategic thinking
- 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:
- Initialize global data structures (evaluation tables, precomputed tables, etc.)
- Load NNUE network weight file (if available)
- Load opening book (if available)
- Register UCCI protocol handler
- Wait for GUI UCCI commands
Complete Search Flow
The complete flow of a single engine search:
- Receive the “go” command, parse search parameters
- Initialize search state (root position, search depth, etc.)
- Iterative deepening search (starting from depth=1)
- Call Alpha-Beta search at each depth level
- PVS search on the principal variation branch
- Use zero-window search on non-PV branches
- Apply various pruning techniques
- Use NNUE to evaluate leaf positions
- Update transposition table
- Reach iterative deepening termination condition (time exhausted or max depth reached)
- Return the best move to the GUI
Engine Memory Usage Analysis
Memory usage distribution of a Xiangqi engine:
- Transposition table: 64-1024MB (primary memory consumer)
- NNUE network weights: 2-10MB
- Opening book: 1-100MB (depends on size)
- Precomputed tables: 1-5MB
- Other data structures: 1-10MB