Skip to content
Playing Chinese Chess Against the Computer: Bots, Difficulty Levels and How to Improve

Playing Chinese Chess Against the Computer: Bots, Difficulty Levels and How to Improve

How to pick an opponent that actually teaches you something, and what bots get wrong

By Matthew Leroy7 min read

Can you play Chinese chess against a computer?

Yes, and it is now the most common way people play. A computer opponent is available instantly, at any hour, at whatever strength you choose, and it never resigns from boredom or disconnects halfway through. For a beginner it removes the main obstacle to starting at all: the fear of wasting a stronger human's time. For a strong player it offers something no human can, which is a sparring partner willing to replay the same opening variation forty times without complaint. What a computer cannot give you is the psychological texture of a real game — the time pressure, the opponent who is also nervous, the mistake made because someone stared at you. Most players end up doing both, and use the computer for training and humans for competition. To start a game right now against an opponent matched to your level, open Xiangqi One.

What is the difference between a bot and an engine?

This distinction matters more than it sounds. An engine is a program built to find the objectively strongest move as fast as possible; Pikafish, the leading open-source Xiangqi engine, is one, and our complete guide to Pikafish covers what it does. A bot is an opponent built to play at a chosen level, which is a completely different goal. You cannot make a good bot simply by making an engine think less — a weakened engine plays brilliantly for six moves and then throws away a Chariot for nothing, which feels arbitrary rather than beatable. Good bots are engineered: they use the engine's evaluation as a base, then apply a deliberate policy about which mistakes to make and how often. We wrote up exactly how we do it in our article on how we balance bot difficulty. When you play the computer, you almost always want a bot, not an engine at reduced strength.

Which difficulty level should you choose?

The useful rule is to pick the level where you lose about a third of your games. That range is where mistakes happen often enough to teach you something, but not so often that every game collapses before it becomes instructive. If you win almost everything, you are rehearsing what you already know; if you lose almost everything, you cannot tell which decision was the losing one. Two habits make the choice easier. First, move up as soon as your win rate passes roughly two thirds, rather than staying comfortable. Second, treat a bad session as noise — a single evening of losses is not a signal to drop a level. Note that a bot's displayed level is not a rating in the competitive sense; the relationship between the two is loose at best, and our article on Elo ratings in Xiangqi explains why online numbers and official ones diverge.

Does playing against a bot actually make you better?

It does, but only for certain things. Bots are excellent for openings, because you can replay the same position until the plan is automatic, and for tactics, because a bot will punish a hanging piece every single time where a human might miss it. They are also good for endgame technique, since you can set up a position and grind it out repeatedly without needing a partner. Where bots help less is in strategic planning against a real opponent's ideas, because the bot has no plan you can read and no habits you can exploit. Playing only bots tends to produce players who calculate well and understand the flow of a game poorly. The fix is not to stop playing bots but to alternate, and to analyse your losses instead of immediately starting another game — our Xiangqi improvement guide sets out a practical routine.

What do bots do badly?

Three things, and knowing them stops you from drawing the wrong lessons. First, weakened bots blunder unevenly: many play near-perfectly and then make one catastrophic move, so a win can leave you thinking your plan worked when in fact the bot simply handed you the game. Second, bots do not bluff or play for practical chances — a human in a losing position complicates and hopes; a bot plays the objectively best move and resigns itself to losing. You never learn to defend against desperation. Third, bots have no opening repertoire in the human sense: they will not repeat a favourite system, so you cannot prepare against them the way you would against a club opponent. None of this makes bot practice worthless, but it means a bot win is weaker evidence of progress than a human win at the same level. Our article on common beginner mistakes covers the errors that bots will punish relentlessly.

How strong is the strongest Chinese chess AI?

Far beyond any human, and the gap is not close. Modern Xiangqi engines running on ordinary hardware already exceed the level of the world's best players, and on strong hardware the margin is decisive — the situation mirrors what happened in international chess, but arrived later and moved faster. The leading open-source engine is Pikafish, a Xiangqi adaptation of the Stockfish architecture, combining deep search with a trained neural network for evaluation. Practically speaking, this means no bot you play at full strength is beatable, and any product offering you a winnable game is deliberately holding back. That is not a criticism: an opponent you cannot beat teaches you nothing. Our overview of Xiangqi AI engines situates Pikafish among the alternatives, and our complete guide to Pikafish goes into how it actually works.

Playing offline versus online against the computer

Playing the computer offline means the opponent runs on your own device. It works on a plane, in a tunnel and with no account, and nothing you play is sent anywhere. The limit is your device: a phone cannot search as deeply as a desktop, so the very top difficulty levels behave differently across hardware. Playing online means the computation happens on a server, which gives consistent strength regardless of what you are holding, and usually lets your games, ratings and analysis follow you between devices. The trade-off is that you need a connection, and there is latency on every move. For casual training either is fine; for serious repeated practice on the same positions, offline tends to feel better because the moves come back instantly. Our guide to playing Xiangqi online compares the platforms themselves.

Should you analyse the game afterwards?

Yes, and this is where most of the value actually sits. Playing a bot and immediately starting another game teaches you very little; playing a bot and then spending five minutes finding the move where the evaluation swung teaches you a great deal. You do not need to understand engine output in depth — you need to find the one move where you went from fine to worse, and ask what you missed. That single habit separates players who improve from players who accumulate games. Most tools will show you an evaluation graph; the sharp drop is your lesson. Be careful not to over-correct: an engine will flag moves as inaccurate that no human would find, and chasing perfection against a machine standard is discouraging and unproductive. Our overview of Xiangqi AI engines explains how to read an evaluation without becoming dependent on it.

Getting started against the computer

Start lower than your ego suggests. Play five games at a level you expect to beat comfortably, and only move up once you are winning most of them without close calls — the point is to build the habit of finishing games, not to prove a level. Then settle at the difficulty where you lose roughly a third, and stay there until your win rate climbs. If you are completely new to the game, learn the moves first: our complete guide to playing Xiangqi covers the rules step by step, and the full rulebook is there when you need to check something specific. When you are ready to play, open Xiangqi One and pick your opponent. For the rest of the practical guides, browse the tutorials category.

Continue reading