domenikov ha scritto:Buongiorno a tutti!!
Per tutte le maggiori piattaforme (OS4, AROS, MORPHOS) ho realizzato Amifish, che è un programma di
scacchi moderno facente uso di motori di
scacchi. Amifish è solo una interfaccia, perchè le mosse vengono elaborate dai motori stessi. I programmi di
scacchi moderni sono strutturati così perchè, in questo modo, cambiando solo il motore, è possibile migliorare il gioco del proprio computer senza cambiare tutto il programma.
Proponevo il porting del motore Cfish, molto forte, completamente gratuito ed opensource. E' scritto in C. Segnalo questo motore al posto di Stockfish, il motore ufficiale in C++ del quale CFish ne è il porting in C perchè secondo me è perfetto avendo, tutte insieme, quelle caratteristiche che sono importanti:
- Può sfruttare direttamente i libri delle aperture in formato bin per un'ottima conduzione dell'apertura
- Può sfruttare le tabelle Syzygy dei finali (per chi è curioso:
https://syzygy-tables.info ), per un gioco perfetto nella fase finale della partita
- Possibilità di lanciare più threads sfruttando al massimo una CPU multicore eventualmente presente
- Grazie alle opzioni NNUE (Efficiently Updatable Neural Network), può valutare le mosse da giocare anche con reti neurali (caratteristica introdotta recentemente nei programmi di
scacchi) e migliorando il proprio gioco partita dopo partita, grazie alla registrazione su file del proprio apprendimento.
Con l'ultima caratteristica elencata, si avrebbe sull'Amiga un modernissimo programma di
scacchi che non avrebbe nulla da invidiare agli altri!
La versione di Stockfish ufficiale, invece, non ha il supporto ai libri di apertura che viene invece demandato all'interfaccia che lo ospita ed è per questo che consiglio il porting di CFish (il quale, invece, li supporta) anzichè Stockfish.
Segnalo inoltre che esiste spazio per ottimizzazioni, come già avviene sulle piattaforme più moderne, dove vengono prodotti sia eseguibili generici (a 32 o a 64 bit) sia specializzati per sfruttare le caratteristiche delle CPU. Per i sistemi Amiga si potrebbe pensare pertanto di sviluppare, oltre ad una versione per sistemi "base", anche una versione ottimizzata per sistemi equipaggiati con Altivec, e un'altra ancora per sistemi che posseggono Xena (ovviamente, dopo aver fatto uno studio opportuno del codice). L'utente che possiede sistemi Amiga più potenti potrà fare uso di queste versioni ottimizzate.
Repositorio completo di CFish su GitHub:
https://github.com/syzygy1/CfishColoro che dovessero fare il porting di CFish possono testarlo con l'interfaccia Amifish, già disponibile pubblicamente per tutte le maggiori piattaforme Amiga:
Amifish OS4:
https://aminet.net/package/game/board/AmifishAmifish AROS:
http://archives.aros-exec.org/index.php ... ileid=1973Amifish MorphOS:
https://www.morphos-storage.net/?id=1532021Avrei volentieri fatto io il porting, ma non ci sono mai riuscito. Se viene fatto il porting di CFish, sarò ben contento di lavorare su Amifish per rilasciarne una versione aggiornata che possa supportarlo (la attuale 1.0 lo supporta solo in parte).