Ember - new UCI engine written on Rust

Discussion of chess software programming and technical issues.

Moderator: Ras

DreamerExx
Posts: 19
Joined: Wed May 20, 2026 4:08 pm
Full name: Даниил Крецу

Ember - new UCI engine written on Rust

Post by DreamerExx »

Introducing Ember — a new UCI chess engine in Rust

Hey everyone,

I've been working on a chess engine called Ember for a while now, and I think it's ready to show to the community. It's written entirely in Rust and speaks the UCI protocol.

What's inside so far:

Search:
- Negamax / Alpha-Beta / PVS
- LMR, Null Move Pruning (adaptive), IID
- Quiescence Search with SEE pruning & Delta pruning
- Transposition Table (always-replace)
- Move ordering: TT move, MVV-LVA captures, killer, counter-move, history
- Check extensions, Reverse Futility Pruning

Evaluation:
- PST (mg/eg) with tapered eval
- Mobility for N/B/R/Q
- Pawn structure (doubled, isolated, passed)
- King safety (attacks + pawn shelter)
- Bishop pair, rooks on open files
- Correction history

Other stuff:
- Zobrist hashing, repetition detection
- SEE, en passant, castling

Planned improvements (work in progress):
- Tuning the evaluation weights (Texel's tuning maybe)
- Lazy SMP for multi-threading
- Better time management
- Syzygy tablebase support
- Pondering

It's a pre-release — not super strong yet, there are bugs and things to polish. I'm building it mostly for learning and experimenting, but I'd love to get feedback and ideas.

Repo: https://github.com/ExxDreamerCode/Ember

If anyone wants to test it or has suggestions, I'd really appreciate it. Thanks! :wink: