Rival

Home * Engines * Rival



Rival, (Rival Chess, NewRival) a chess engine by Chris Moreton and Russell Newman, written in C++, starting in 1992 as MS-DOS program with an own GUI, before being rewritten for Windows as WinBoard compatible engine (NewRival) a couple of years later . The UCI protocol was implemented in 2006 as Rival UCI 1.18 for Windows, while the current Rival engine was ported to Java as used in the Android application. DOS and Windows versions are available as source code. Further, Rival is able to play various chess variants like Kinglet, Losing Chess, and Shatranj .

=Description= Rival is described in detail on the redhotpawn sites. Rival for Java uses bitboards with big-endian rank-file mapping. It determines sliding piece attacks with magic bitboards.

Search
Rival applies PVS negamax alpha-beta with transposition table, killer heuristic and quiescence inside an iterative deepening framework.

Evaluation
The evaluation function calculates scores of both sides, and returns the score difference of the side to move minus the side not on the move in negamax manner, considering pawn structure, various piece terms, and king safety. A quote from Rival's Static Board Evaluation site : The factors considered in the evaluation function have been chosen because they are relatively quick to calculate. Very few of the ideas are entirely original; many represent elementary chess knowledge and many have been used in other chess programs. Sources that have been of particular influence are Slate & Atkin (1977), Newborn (1975) and Hyatt et al (1985). Some of the factors have been added to overcome certain weaknesses that the program has shown, others have been left out in the hope that the gain in search speed would outweigh the loss in evaluation quality. The work of Berliner et al (1990) suggests the opposite to the last assumption.

=Sreenshots=

Android
JavaRival, UCI engine for Android

=Forum Posts=
 * Rival Chess 1.5.041 by Chris Moreton, rgcc, November 03, 1998
 * Rival Chess by Đorđe Vidanović, rgcc, November 04, 1998
 * History Heuristic on its own by Chris Moreton, CCC, January 16, 1999 » History Heuristic
 * Rival Chess advances to Winboard Championships! by Daniel Chancey, CCC, March 24, 2000
 * Rival Chess 1.0.1 and 1.0.3 by Tony Mokonen, CCC, July 29, 2017

=External Links=

Chess Engine

 * Rival Chess - Red Hot Pawn
 * GitHub - chris-moreton/rival-chess-android-engine
 * GitHub - chris-moreton/rival-chess-dos
 * Rival Chess Engine (Wayback Machine)
 * Rival Chess Engine - Magic Bitboards (Wayback Machine)
 * Rival Chess Free - Android Apps on Google Play
 * Rival in CCRL 40/15
 * Defending Humanity's Honor by Tim Krabbé, see game NewRival - Faile with 493 moves, and playing 402 moves with bare kings!

Chess Programming

 * Introduction
 * Negamax
 * Alpha-Beta Pruning
 * Move Ordering
 * Quiescence
 * Transposition/Refutation Tables
 * Killer Heuristics
 * Minimal Window
 * Timing Moves
 * Draw Scoring
 * Static Board Evaluation
 * Openings


 * Understanding magic bitboards in chess programming by Chris Moreton in his programming blog, August 07, 2013 (Wayback Machine)

Misc

 * rival - Wiktionary
 * Rival (disambiguation) from Wikipedia
 * Rivals (Star Trek: Deep Space Nine) from Wikipedia
 * Yr Eifl - The Rivals from Wikipedia

=References= Up one level