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. Expectations for the Future → Chapter 5: Future Technological Development of Xiangqi Engines

☰ Contents

Expectations for the Future

The story of computer Xiangqi game playing will continue. We look forward to seeing more innovation, more collaboration, and more exciting games. Whether as a subject of academic research, a teaching tool, an analysis assistant, or entertainment software, Xiangqi engines enrich our lives at every level.

May the development of Xiangqi engines forever remain open, inclusive, and innovative. May every moment of play be filled with wisdom and joy.


Special thanks: During the writing of this report, a large number of community resources were referenced, including historical posts on the Qizhong Forum, the commit history of the Pikafish GitHub repository, official records of the ICGA, and technical materials on xqbase.com. We express our sincere gratitude to all community members who contributed to these resources.

Report maintainers: This report is an open community project. Everyone interested in the content is welcome to participate in maintenance and updates. If you find any errors, omissions, or outdated information, please contact us through GitHub Issues or forums.

Related links:


Copyright statement: This report was collaboratively written by members of the Xiangqi engine community and is published under open knowledge sharing. Anyone is free to copy, distribute, and modify the content of this report, provided that attribution is given. Commercial use requires contacting the report maintenance team.

Afterword

This report was collaboratively written by the Xiangqi engine community, taking several months to complete. The report systematically documents the complete development history of computer Xiangqi game playing, from Jiangzu’s first ICGA gold medal in 1989 to Pikafish leading the open source engines in 2026.

The full text of the report exceeds 200,000 Chinese characters, covering multiple dimensions such as engine technology evolution, community culture development, key figure stories, and competition history records. We hope that through this report, we can leave a complete archive for this unique technical community.

Due to limitations of time and materials, there may be omissions and shortcomings in the report. We welcome community members to propose improvement suggestions and jointly improve this report.

Thank you to everyone who has put effort into the development of Xiangqi engines. Your work has not only promoted technological progress but also injected new vitality into the traditional culture of Xiangqi.

The Report Maintenance Team July 2026


The writing of this report benefited from the help of many community members. Special thanks to Pikafish project contributors, former moderators of the Qizhong Forum, ICGA event organizers, CCMC event organizers, and all individuals and teams who have contributed to the development of Xiangqi engines.

The online version of this report will be updated regularly. The latest version is available from the relevant communities.

– End of full text –

Supplementary Reference Resources

The following resources provided important references during the writing of the report:

Technical documentation:

  • Stockfish source code and official documentation
  • Pikafish source code and project wiki
  • Huang Chen’s Xiangqi programming tutorial
  • UCCI protocol specification documents

Forum resources:

Official websites:

These resources provided a wealth of valuable information and data for the report, and we hereby express our gratitude.

About Future Updates to the Report

This report is an ongoing project. If you are interested in participating in the maintenance and updating of the report, please pay attention to the following directions:

  1. Tracking and recording new engines and new technologies
  2. New discoveries and supplements to community history
  3. Refinement and correction of technical descriptions
  4. Updates and supplements to appendix data

Welcome to contact the report maintenance team through GitHub or community forums. Let us work together to make this report more complete.


Report version: 1.0 Last updated: July 2026 Character count: Over 200,000 characters


The real end of the full text

This report contains over 200,000 Chinese characters (including punctuation and English), systematically documenting the development history of computer Xiangqi game playing. Thank you for reading!

The report covers the following content: engine technology history, community development history, key figure biographies, competition records, technical principle analysis, and future outlook. Time span covered: 1985 to 2026, over forty years.


Supplementary Volume: Engine Error Analysis and Adaptation

Chapter 4: Application of Chess Engine Technology in Xiangqi

4.1 Porting the Stockfish Code Architecture

Pikafish’s port of Stockfish code is a systematic project involving modifications to the following key parts:

Board representation layer:

  • Board size changed from 8x8 to 9x10
  • Piece types changed from 6/side to 7/side
  • Modification of the starting position FEN

Rule validation layer:

  • Added general (Shuai/Jiang) facing detection
  • Added cannon (Pao) jumping capture rule
  • Modified elephant (Xiang) blocking-eye rule
  • Modified horse (Ma) hobbling rule
  • Modified soldier/pawn (Bing/Zu) movement rules (sideways after crossing the river)
  • Modified cyclic move rules (perpetual check and perpetual chase detection)

Evaluation and search layer:

  • Adaptation of NNUE input features (changes in board size and piece types)
  • Rule adaptation of the evaluation function
  • Adjustment of search pruning boundary conditions

4.2 Protocol Migration from UCI to UCCI

The migration from the UCI protocol to the UCCI protocol was an important step in Pikafish’s adaptation process:

Differences between UCI and UCCI:

  • Initialization and configuration flows are basically the same
  • Move format changed from “e2e4” to “a0a1” format
  • Differences in board size and piece types in FEN
  • UCCI adds some Xiangqi-specific options

Pikafish uses a protocol translation layer that converts UCCI commands into the engine’s internal UCI representation. This approach minimizes modifications to the core engine code, making subsequent synchronization of code changes from Stockfish easier.

4.3 Experiences and Lessons from Technology Migration

Experiences from technology migration from international chess to Xiangqi:

Successful experiences:

  1. Search algorithms can be directly migrated (PVS, pruning techniques, etc., are game-independent)
  2. Parallel search strategies can be used directly (Lazy SMP, etc.)
  3. Testing methodologies can be directly introduced (Fishtest, SPRT, etc.)
  4. Compiler optimization techniques can be directly reused (SIMD instruction set optimization, etc.)

Areas requiring adaptation:

  1. Rule implementation needs complete rewriting (Xiangqi rules differ significantly)
  2. The evaluation function needs to be redesigned (piece values, positional values are completely different)
  3. NNUE input features need adjustment (different board size, piece types)

Lessons:

  1. Directly porting a chess evaluation function to Xiangqi is infeasible
  2. The complexity of Xiangqi’s cyclic rules far exceeds chess, requiring more development work
  3. Xiangqi opening books and endgame tablebases need to be built from scratch

Chapter 5: Future Technological Development of Xiangqi Engines

5.1 Innovative Directions in Neural Network Architecture

Xiangqi engine neural network evaluation can explore the following innovative directions:

Deepening attention mechanisms: Further deepening attention mechanisms beyond ATT++, enabling the network to model more complex piece interaction relationships.

Application of Graph Neural Networks: Modeling the board as a graph structure, using Graph Neural Networks (GNN) for position evaluation. Graph nodes represent pieces, edges represent relationships between pieces (attack, defense, control, etc.).

Mixed-precision training: Using mixed-precision training (FP16/FP32 mix) to accelerate the NNUE network training process.

Federated learning: Multiple parties train local models using their own game data, then aggregate model parameters to obtain a global model. This approach can utilize more training data while protecting data privacy.

5.2 Reform Directions for Search Architecture

Xiangqi engine search architecture may follow the following reform directions:

Neural-network-guided search: Using the strategy output (move probabilities) of the neural network to guide move ordering in search, improving search efficiency.

Self-play data for search guidance: Using game data generated from self-play to train move prediction models, accelerating search decisions.

Standardization of distributed search: Establishing standardized distributed search protocols, enabling different engines to collaborate in a distributed environment.

5.3 Improvement Directions for Human-Computer Interaction

Xiangqi engine human-computer interaction can be improved in the following directions:

Natural language interaction: Interacting with the engine through natural language (rather than UCCI commands). Users can ask the engine for analysis results through natural conversation.

Visualized analysis: In addition to text-format evaluations and variations, the engine can provide visualized analysis results (such as heatmaps, evaluation trend charts, etc.).

Personalized analysis: The engine provides personalized analysis and suggestions based on the user’s historical game data.

Collaborative analysis: Multiple users can share the same engine analysis session online for discussion and collaborative analysis.