Alles wat het kan.
Zugwunder 1.1.15, Wolfgang 1.0.17 en de engine zugwunder-uci 1.1.13, functie voor functie. De namen hieronder zijn dezelfde als in de app.
Oplossen
Vrij zoeken als je de beste zet wilt, een exact bewijs als je zekerheid wilt.
Vrij zoeken
De engine doorzoekt de stelling tot een vaste diepte of gedurende een tijdslimiet en toont tot vijf varianten tegelijk (Multi-PV), elk met evaluatie en hoofdvariant; de beste voortzetting wordt als pijlen op het bord getekend. Syzygy-tabellen en de ingebouwde exacte tabellen voor KQK, KRK, KPK, KBNK en KRKB worden in het zoeken gebruikt, zodat eenvoudige eindspelen perfect worden beoordeeld in plaats van geschat.
Exacte bewijzen
- Mat in n
- De partij aan zet geeft uiterlijk bij haar n-de zet mat, tegen elke verdediging. Zugwunder bouwt de volledige oplossingsboom met elke verdediging en waarschuwt wanneer het probleem een bijoplossing heeft, dat wil zeggen wanneer ook een tweede eerste zet werkt.
- Hulpmat in n
- De partij aan zet begint (meestal zwart), beide kanten werken samen en de tegenstander zet mat met zijn n-de zet. Alle oplossingen worden getoond.
- Zelfmat in n
- De partij aan zet dwingt de tegenstander, die zich verzet, haar uiterlijk met zijn n-de zet mat te zetten.
- Pat in n
- Zoals mat in n, maar het doel is pat.
Sprookjesschaak wordt niet ondersteund; de oplossers werken uitsluitend met de orthodoxe regels.
Een stelling binnenhalen
- FEN door te typen of te plakken; PGN-bestanden met meerdere partijen openen in een partijkiezer. Tags, commentaar, evaluaties (NAG's) en varianten overleven import en export.
- Stelling uit afbeelding: sleep een foto, scan of schermafbeelding van een diagram, plak er een met ⌘V of kies een bestand (PNG, JPEG, TIFF, HEIC, tot 25 MB). De stukken worden herkend door Claude van Anthropic via je eigen API-sleutel, die in de macOS-sleutelhanger staat. Er verlaat niets je Mac voordat je op „Stukken herkennen“ drukt; het antwoord is een bewerkbaar voorstel waarbij je zelf bevestigt wie aan zet is, en onreglementaire stellingen worden geweigerd in plaats van geraden.
- De bordeditor, voor stellingen die je met de hand opzet.
Tactiektrainer
Puzzels van Lichess, uit je eigen bibliotheek en van Zugwunder zelf.
Schaakpuzzel maken
Nieuw in november: Zugwunder zet een vers eindspel op het bord en vraagt om de enige eerste zet die tegen de beste verdediging op tijd mat geeft. Je kiest wie aan zet is, het matdoel van één tot zes zetten, en of het extra stuk een dame, een toren of een pion is; of je laat elk daarvan aan het toeval over.
De stellingen komen uit de exacte eindspeltabellen van de engine, dus de matafstand is precies bekend en de sleutelzet wordt op uniciteit gecontroleerd voordat je de stelling ziet. In de trainer telt elke zet die even snel mat geeft, niet alleen de variant die de app in gedachten had. Dezelfde puzzel komt nooit twee keer achter elkaar.
Schaakpuzzel maken
Lichess-puzzels
- De puzzel van de dag, een nieuwe puzzel op motief (meer dan vijftig thema's, van achterste-rijmat tot zugzwang) en moeilijkheid, of elke puzzel via zijn Lichess-ID.
- Geen account en geen token nodig. De app doet één verzoek tegelijk en respecteert de limieten van Lichess.
- Elke oplossing wordt nagespeeld en gevalideerd voordat de puzzel verschijnt, inclusief en passant, rokade en promoties.
- Puzzels die je wilt bewaren, worden lokaal opgeslagen en werken offline.
Je bibliotheek en je voortgang
- Een eigen puzzelbibliotheek met titels, bronnen en motieven, plus een catalogus van ingebouwde opgaven die los van app-releases via deze website wordt bijgewerkt.
- De voortgang wordt per puzzel en per motief bijgehouden. „Moeilijke herhalen“ haalt de puzzels terug waar je op vastliep; „Motief oefenen“ traint één thema.
- Tips, de volledige oplossing op verzoek, herstarten, en een apart venster voor een puzzel wanneer je het hoofdvenster voor iets anders nodig hebt.
- De feedback maakt onderscheid tussen een echt schaakmat en een tactiek die alleen materiaal wint, en weigert een pat wanneer om mat werd gevraagd.
Op papier
Elke puzzel wordt een afdrukbaar opgavenblad, op papier of als pdf, met de oplossing op een aparte pagina. Diagrammen exporteer je als PNG, en een cameraknop bewaart het hele app-venster.
Tegen engine
Een sparringpartner op drie sterktes, of een scheidsrechter tussen twee engines.
Tegen Zugwunder
- Drie sterktes: Beginner, Club en Erik. Een openingsboek houdt de eerste zetten gevarieerd.
- Een schaakklok met increment, pauze, remiseaanbod en opgeven. Partijen worden bewaard en gaan na een herstart verder.
- Speel verder vanuit elke stelling: een puzzel die je niet afmaakte, een opstelling uit de editor, een partij uit een PGN-bestand.
- Remise door de vijftigzettenregel, drievoudige zetherhaling en onvoldoende materiaal wordt herkend en in het PGN-resultaat vastgelegd.
Tegen een andere engine
Elke UCI-engine kan de andere kant nemen, bijvoorbeeld Stockfish, lc0 met de Maia-netwerken of Fairy-Stockfish, desgewenst beperkt met UCI_Elo. Vrije setoption-regels laten je hem instellen zoals zijn auteur het bedoelde. Of leun achterover en kijk hoe Zugwunder het tegen die engine opneemt.
Partijanalyse
Na de partij analyseert Zugwunder of de externe engine elke zet: een evaluatiecurve, onnauwkeurigheden, fouten en blunders gemeten aan het verlies aan winstkansen, de betere zet waar die er was, en een geannoteerde PGN-export met [%eval]-tags en NAG's voor je database.
Bordeditor
Zet op wat je wilt, zolang het reglementair is.
Een stukkenpalet, slepen en neerzetten, aan zet, rokaderechten en een validatie die uitlegt wat er aan een stelling mankeert in plaats van je een onzinnige stelling te laten doorzoeken. Ongedaan maken en opnieuw, bord leegmaken, beginopstelling, de FEN kopiëren of de stelling in je bibliotheek opslaan. Vanuit de editor gaat een stelling rechtstreeks naar de oplosser, de trainer of een partij.
Dagelijkse details
De dingen die je na een week opvallen.
- Slepen en neerzetten op het bord, volledige toetsenbordbediening en VoiceOver met uitgesproken zetten en veldnamen.
- Duits, Engels, Frans en Nederlands, om te schakelen in de kopbalk. Puzzelnamen, helpteksten en zelfs de beeldherkenning volgen de gekozen taal.
- Een instellingenvenster met tabbladen voor het bord, de oplosser, spel, online opgaven, de meegeleverde UCI-engine (met versie en bestandsdatum), de externe engine met Syzygy-tabellen, en algemene opties.
- De engine met één klik installeren in
~/binvoor andere schaakprogramma's. - Een ingebouwde updater die een ondertekende feed over HTTPS controleert, grootte en SHA-256 van de download verifieert, de Developer ID-handtekening controleert, de app atomair vervangt en terugdraait als er iets misgaat.
- Ondertekend met een Developer ID en genotariseerd door Apple.
Wolfgang
Een native schaakinterface voor UCI-engines, genoemd naar de neef die mij het spel leerde.
![]()
Engines
- Wolfgang heeft geen eigen engine ingebouwd: het is een client voor elke UCI-engine. Zijn meegeleverde kopie van zugwunder-uci wordt automatisch gevonden, net als Stockfish en andere geïnstalleerde engines; meer engines voeg je toe via een bestandsdialoog en test je meteen.
- Wit en zwart kunnen verschillende engines hebben, of twee exemplaren van dezelfde.
Spelen
- Mens tegen engine, engine tegen engine, of twee mensen aan één Mac.
- Tijdcontroles van bullet tot klassiek, eigen basistijd en increment, of zonder klok. De engine kan denken volgens de partijklok, met een vaste tijd per zet of tot een vaste diepte.
- Een live evaluatiebalk naast het bord, klokken met tienden van seconden in tijdnood, geslagen stukken met de materiaalbalans, schaak- en matwaarschuwingen, en de hele partij in algebraïsche notatie om door te klikken.
- Engine-uitvoer terwijl hij ontstaat: evaluatie, diepte, knopen per seconde, meerdere beste varianten (MultiPV) en het ruwe UCI-gesprek in een console.
Toernooien en bestanden
- Enginetoernooien uit openingsreeksen van willekeurig veel FEN-stellingen, met rotatie, een blijvende geschiedenis, een geschat Elo-verschil en export als PGN, CSV of JSON. Crashes, ongeldige zetten en time-outs beëindigen een partij netjes in plaats van het toernooi te laten hangen.
- PGN openen, bewaren en kopiëren met de volledige seven-tag roster; FEN-import met strikte validatie van koningen, pionnen, rokade- en en-passantrechten.
- Vier talen, sneltoetsen voor de gewone handelingen (⌘N nieuwe partij, ⌘S bewaren, ⌘O openen, ⌘F bord draaien, ⌘Z terugnemen, spatie voor pauze) en een lay-out gemaakt voor volledig scherm.
De engine
zugwunder-uci, dezelfde engine als één bestand voor andere schaakprogramma's.
Waar hij draait
- macOS 14 of nieuwer op Apple silicon, ondertekend en genotariseerd.
- Linux x86_64 met AVX2 (Intel vanaf 2013, AMD Zen) en Linux ARM64 (Raspberry Pi 4 en 5, ARM-servers), statisch gelinkt, geen bibliotheken nodig.
- WebAssembly in de browser, op ongeveer een derde van de native snelheid op één thread. Dat is wat er op de speelpagina speelt.
Wat hij biedt
- De volledige UCI-opdrachtenset van de specificatie van 2006: ponderen,
searchmoves,go mate, knooplimieten, oneindige analyse,isreadytijdens het zoeken. - Opties voor threads (Lazy SMP op tot 64 kernen), hashgrootte, MultiPV, move overhead, Syzygy-pad, openingsboek, ponderen en analysemodus. Voorlopig:
UCI_LimitStrengthmetUCI_Elovan 1100 tot 3000, gekalibreerd tegen Stockfish 17.1. - Ingebouwde exacte tabellen voor vijf materiaalverhoudingen en Syzygy-ondersteuning voor elk eindspel met tot vijf stukken.
- Een protocoltest,
check_uci.py, zit bij elk pakket zodat je het programma op je eigen machine kunt controleren.
De downloadpagina heeft de installatiestappen en controlesommen; Zo is het gebouwd legt uit wat erin zit.
Bekijk het op je eigen stellingen.
Zugwunder 1.1.15 voor macOS, Wolfgang 1.0.17, en de engine voor macOS en Linux.