Oprogramowanie szachowe
Oprogramowanie szachowe to przede wszystkim takie programy, jak Fritz i Chessmaster, składające się z interfejsu, silnika (lub silników), bazy partii, książki otwarć, niekiedy „akademii” i modułu do gry online – oraz bazy danych z własnym interfejsem, jak ChessBase i Chess Assistant. Istnieją też samodzielne klienty do gry online, a także silniki dostępne bez interfejsu. Wymienionym aplikacjom towarzyszą dostępne niezależnie od nich bazy partii, książki otwarć, a także tablice końcówek i mniej lub bardziej interaktywne e-booki (często multimedialne). Do tego dochodzą m.in. serwery do gry oraz dostępne na stronach internetowych bazy partii i tablice końcówek.
Interfejs
Interfejs programu szachowego pozwala uruchamiać silnik szachowy, z którym można grać lub analizować partie, korzystać z bazy danych i e-booków, często zawiera moduł umożliwiający grę na serwerze. Standardowy układ okien programu szachowego to panele: szachownicy, notacji z kartą książki otwarć, silnika; funkcje bazy danych zazwyczaj trzeba uruchamiać w nowym oknie. Interfejs bazy danych powinien mieć w panelu notacji dodatkowe karty bazy danych, a panel silnika z reguły pokazuje się dopiero po jego uruchomieniu.
Widok Expert w Chessmasterze 10
Widok Spanish room we Fritzu 10 (tryb pełnoekranowy)
Silnik
Silnik szachowy to program, który próbuje zastąpić ludzki mózg: to wirtualny gracz i analityk partii. Powszechnie dostępnych silników – darmowych, płatnych lub sprzedawanych jako element programu szachowego – są dziesiątki, wiele z nich występuje w różnych wersjach (np. nowsze – droższe, starsze – tańsze lub darmowe, jedno- i wieloprocesorowe, 32- i 64-bitowe). Uruchamiamy je dzięki interfejsom.
Silnik służy albo jako przeciwnik, albo do analizy partii lub pozycji. Niestety, bywa też niedozwolonym wspomaganiem.
Najpopularniejsze komercyjne silniki to Rybka, Fritz, Shredder, Hiarcs, Junior, Zappa i sprzedawany z popularnym Chessmasterem The King. Z darmowych na myśl przychodzą przede wszystkim Crafty, Toga i Fruit (kiedyś płatny, obecnie nierozwijany i dostępny bez ograniczeń; na jego podstawie powstają inne silniki, choćby Toga). Większość z wymienionych silników ma wersje wieloprocesorowe, które zresztą były dostępne na długo przed tym, zanim pojawiły się procesory wielordzeniowe do komputerów osobistych. Wersje wieloprocesorowe często mają w nazwie słowo
Deep (np. Deep Fritz, Deep Junior, Deep Rybka). Część silników jest dostępna zarówno oddzielnie (z własnym interfejsem lub bez), jak i z interfejsem firmy
ChessBase, producenta Fritza.
Są też silniki bardziej specjalizowane. Najczęściej służą do gry w inne odmiany szachów (na przykład Chess960) i do rozwiązywania konkretnych problemów, takich jak znalezienie mata w najmniejszej liczbie posunięć albo matów innych typów, jak mat pomocniczy (wykonywanie przez stronę broniącą się najgorszych możliwych posunięć) i samomat (wymuszenie przez białe takiej gry czarnych, aby biały król został zamatowany). Przykładem takich silników są dostępne w programach firmy ChessBase Fritz 960 i Mate.
Należy też wspomnieć o różnych wersjach podstawowych silników. Na przykład najnowsza Rybka oprócz głównego silnika zawiera wersję preferującą znacznie mniej „bezpieczne” posunięcia i wersję starającą się naśladować styl gry człowieka.
Z technicznego punktu widzenia jest kilka typów silników, a właściwie protokołów służących im do komunikowania się z interfejsem. Trzy obecnie najpopularniejsze to: najnowszy UCI (ang. Universal Chess Interface), starszy Chess Engine Communication Protocol (typu WinBoard) i zamknięty protokół firmy ChessBase. UCI od kilku lat jest standardem komercyjnych programów szachowych, starszy protokół bardziej popularny jest wśród darmowych produktów. Niektóre silniki są dostępne zarówno w wersji UCI, jak i WinBoard, ponadto silniki typu WinBoard można konwertować na UCI. Różne interfejsy obsługują różne protokoły.