UCI en engines
UCI staat voor Universal Chess Interface, oftwel een standaard manier van communiceren van een grafische user interface (GUI) tegen een schaakengine. Door de UCI te implementeren in een schaakengine kan de schaakprogrammeur zich volledig richten op het verbeteren van het programma. De grafische interface wordt separaat onderhouden door andere programmeurs. Een voorbeeld van een GUI voor UCI engines is Arena, maar ook de Fritz user interface. Naast UCI is er ook nog het XBoard/WinBoard protocol.