(23 commenti, 22 articoli)

Ingegnere chimico, appassionato di scacchi, manga e anime, programmazione, disegno 3D.

Pagina principale: http://www.inuyashaportal.it

Articoli di Miroku79
Appena arrivati a Lucca

Lucca comics 2011


Nei giorni 29 e 30 Ottobre mi sono fermato a Lucca per il Lucca Comics and Games 2011. È stata la prima volta che partecipavo alla manifestazione, e ne sono rimasto favorevolmente colpito. A differenza di altre fiere come Romics, per esempio, sono rimasto sorpreso nel vedere che l’intera cittadina è stata trasformata in un enorme stand a cielo aperto. Vi erano in realtà gli stand veri e propri della fiera, che quest’anno ne includevano anche uno enorme dedicato ai videogiochi o ai giochi di ruolo da tavolo, ma non mi era mai capitato di ritrovarmi a passeggiare per vie storiche o sulle mura cittadine insieme a migliaia di cosplayer.

Mi ha fatto inoltre molto piacere rivedere parecchi amici del forum, presenti anch’essi alla fiera.

Di seguito riporto alcune delle foto fatte.



Primo al master!


Un breve aggiornamento a seguito della conclusione del master. Ho concluso il master di secondo livello in “ingegneria dei processi di polimerizzazione e dei materiali polimerici” (trascorso in azienda alla LyondellBasell a Ferrara) con il miglior punteggio tra tutti i partecipanti: 110/110 con lode.

È stata una bellissima esperienza, che mi ha permesso di crescere professionalmente e umanamente.

Stopped working on Naraku


The repeated insults received via email and the spam and junk comment that I’m receving in this days (most of them automatically deleted) take me to the decision to stop further developing Naraku. Sorry for all the people who liked an engine with a lot of different elo levels, but if I have to take insults for what I always treated like an hobby, it is not worth it. My goal was to create a free alternative to Chessmaster or Hiarcs (an engine with a lot of personality and levels of strenght).

About the origins of Naraku. It started as a hobbyst project in 2007, first as a stand alone C application (without UCI interface), and then rewriting in it a lot of ideas taken from other engines (this part started at the end of 2009). As I always written on the blog and other forums, these ideas included fruit, crafty, ippolit and a little part of Stockfish. Ah, I have to thanks the excellent TSCP (Tom Kerrigan’s simple chess program) code, that really help me a lot in learning chess programming.

I also learnead a lot when I worked for “La Sapienza” University last year, using the free subscriptions to a lot of scientific magazines of the university (sciencedirect and so on). In this period I was able to greatly improve the engine.

Then, after the coming of houdini, I started to think that rewriting the bitboard structure of the engine with an ippolit-like bitboard could help a lot, so I did it. It required me a lot of work. If this could be interpreted as cloning, deriving or some other similar words I do not care. But was not my intention to create troubles in the chess community: I never publicized my engine apart from my blog, never asked to anyone to test it, only offer for free from here. But when you take insults for a work that you think could be useful in the chess community, well, it simply not worth it. But it could be easily demostrated that Naraku share a lot with Ippo and at the same time have a lot of differences.

And now a few answer to some question that repeated full my email address:

Why Naraku use Multipv option if it don’t have it? Because I plan to include it in future version, then I switched to correct other bugs and removed to the things to do, at the point that actual version still dont have it.

Was Naraku based on Fruit 1.5 (or other version)? No. And BTW Fruit 1.5 is a lot weaker than Naraku.

Why you don’t create a multicore version as you stated almost a  year ago? Because I tried it, but I was unable to do. Crash, slowness, a lot of problems came out. Thinking that parallelization was an easier task to do, I was wrong.

And yes, older version of Naraku was planned to delete with the release of 1.4 version. This version can be used to learn to play chess; and I think that Naraku can play a good chess even if set at 1000 elo points, a task that most of the actual engine are unable to do.

So I stop developing the engine at this stage. Because is an hobby for me, I think I’ll make some other programs… maybe an adventure game, I really like the Adventure game studio tool, really simple and powerful.

Ah, Naraku means “Hell” in english, is the main antagonist in the InuYasha series, I opted for his name for the engine, because in the anime Naraku make a lot of deep strategical plans.

Naraku 1.4 released!


I’ve released a new version, much stronger than 1.31. This version is dedicated to my girlfriends Simona, and today is her birthday.

You can download Naraku HERE.


80-90 elo points better than Naraku 1.31 (estimated)
Tuned a lot of parameters
Better positional evaluation, more like a human game
Better endgame evaluation
Bitboard rewritten and much more efficient, similar to the engines of the ippolit series or gull
Some moves inserted into the engine as lookup tables, a sort of small book inside the engine. Currently it not give an advantage in terms of elo (it’s only a test), but I am convinced that in next versions there will be a considerable improvement
More efficient time management
Rewritten input / output interface
Deep razoring REMOVED. It gave a lot of problem in long time matches.
Difficulty levels: Currently you can set from 850 to about 2500 elo in a chess interface that support UCI_EloLimit command (like Arena). The difficulty levels have yet to to be tuned.

Upcoming releases:
64-bit? I am currently attending a postgraduate course at LyondellBasell, and on my laptop I can compile only 32-bit executables. When I get home, at the end of April, I will release a 64-bit version of Naraku, which should be at least 20 elo stronger.

Naraku 1.31


I’ve released Naraku 1.31. This version now works with Shredder and Acquarium GUI.

You can download HERE or HERE.

Naraku 1.3 bugged


Naraku 1.3 is bugged. It stop responding on Chessbase and Acquarium GUI. At this moment, it only work on Arena.

I want to thank Werner Schule, who discovered this bug (related to uci implementation) and help me finding a solution. I’ve identified 2 other bugs, in the evaluation and in the futility pruning algorithm, that also crash the engine in non-Arena GUI. I rewrote part of the functions that receive and send UCI commands, and now I’m working to correct the other bugs. In this week I release a new version.

Naraku 1.3


I’ve released a new version of my engine. This version adds many new features:

- More aggressive pruning and better move ordering

- Engine now dinamically select optimum futility parameters based on depth and turns of game, but it is still not perfect tuned

- Late move reduction

- Better PGO compile (engine slighty faster)

- Better evaluation function

- Bishop outpost

Naraku logo by Dusan Stamenkovic

Now I’m making internal tests based on H.Schnapp 220-suite, with 40/4 match against various engine (Fruit 2.1, Amyan 1.72, Rotor 0.5, Aristarch 4.50, Ufim 8.02, AnMon 5.7 and Naraku 1.2) as used by CEGT. After over 10000 games with various revisions of the engine, I estimate Naraku 1.3 with a rating of 2613 +- 14 elo points (using CEGT rating for the other engines).

Naraku is actually competing on Chesswar.

Due to work, that absorbs all my energies, I have to postpone personalities in the engine to the next version.

You can download HERE or HERE.

Naraku chess engine on CEGT!!!


Naraku 1.2 has been added to the prestigious CEGT:


It is in position 575, with a rating of 2574 elo points (all version rating list) and 158 in single version rating list! It seems that I have overestimated a bit his strength but it is a very good result  :)

Naraku 1.2


I’ve released a new version of my engine. This version adds many new features:

- Adaptive Deep Razoring
- Futility Pruning
- Code cleanup and optimization, about 1% faster when searching
- SSE1 compile (to support old CPU)
- Logo by Dusan Stamenkovic

By my internal tests, this new version is 20-25 elo points stronger than Naraku 1.12 on long time control. So Naraku could be rated approx 2745 elo.

I removed Inuyasha and Shippo, because in the next releases I’ll add some options to setup the engine strength by choosing some personalities.

You can download HERE or HERE.

RomeGame 2010-09-06 14-43-57-84

Europa universalis 3 Vae Victis


Da grande appassionato dell’epoca romana quale sono, non potevo non provare EU3 Vae Victis, videogioco della serie Europa Universalis ambientato ai tempi della repubblica romana. Per chi non ne ha mai sentito parlare, Europa Universalis è una serie di videogiochi di strategia in tempo reale che mettono il giocatori nei panni di un monarca, un primo ministro o un imperatore, alla guida di uno stato. La serie simula approfonditamente uno scenario storico dal punto di vista sociale, politico, economico e militare. La prima versione di Europa Universalis era ambientata nel rinascimento, ma negli anni sono stati sviluppati scenari per il medio evo, l’era Napoleonica, la seconda guerra mondiale, e ovviamente, Roma.

Il gioco mette il giocatore alla guida di uno degli stati e regni del passato, a partire dal 274 A.C (o 474 ad urbe condita, come viene indicato nel gioco), e consente di giocare per oltre 300 anni. Il mondo nel 274 A.C appare profondamente diverso da come è oggi: moltissime gli stati selezionabili, dalla Repubblica Romana, all’impero persiano, passando per le città stato greche o la confederazione mercantile di Cartagine, con gran parte della mappa formata da zone allo stato tribale, governo di tribù di barbari pronte a sollevarsi e ad attaccare stati già sviluppati. Ogni nazione può essere controllata e sviluppata, ed in ognuna di esse è correttamente riprodotto l’ordinamento politico e religioso di quel periodo. Può capitare quindi, giocando con i romani, di dover fare attenzione alle richieste del senato, e di comandare le elezioni dei senatori e dei consoli tramite favori personali o assassini. Avere in pugno il senato, quando si gioca con i romani, diviene presto uno dei compiti più importanti. Decidere quale fazione appoggiare e fare salire al potere (ne esistono cinque: militari, religiosi, mercanti, civici e populisti) è decisivo in più di un’occasione. Avere una maggioranza di mercanti al potere, consentirà per esempio maggiori introiti e un migliore sviluppo economico, ma impedirà quasi certamente qualsiasi guerra, perchè la maggioranza del senato si opporrà. Al contrario, una maggioranza schiacciante di “falchi” militari al senato, se da un lato permetterà più facilmente di dichiarare guerra, dall’altro impedirà di arrivare facilmente ad una pace, e fornirà allo stato ottimi generali ma in generale pessimi governanti.

Come Palpatine in Star Wars

Nel gioco occorre pianificare correttamente tutte le proprie mosse, giocando una partita su più piani dosando opportunatamente capacità economiche e militari con sotterfugi e accordi politici. Di fondamentale importanza sono le alleanze politiche ed economiche, sopratutto nei primi anni di gioco e se si sta guidando uno stato debole, che danno la possibilità agli stati di evolvere e prosperare. Ma altrettanto importante è il controllo interno del proprio impero. Trascurare i bisogni dei propri cittadini o evitare di rimuovere/assassinare un generale troppo popolare porterà inevitabilmente alla guerra civile. Nel gioco molta importanza hanno il ruolo delle “famiglie” di appartenenza di senatori, governatori e generali, esattamente come avveniva veramente in passato. Colpisce l’accurata ricostruzione storica di avvenimenti e personaggi: attaccando le prime tribù barbare in Gallia, si assisterà ben presto alla nascita di una confederazione di Galli uniti nel contrastare l’invasore, e si potrà assistere alla nascita dei grandi condottieri del passato, come Caio Giulio Cesare. Il gioco genera inoltre eventi casuali durante il passare del tempo, che possono essere positivi o negativi. Ad esempio, non è raro che il senato richieda la rimozione di un potente generale, per sostituirlo con un appartenente alla fazione dominante, spesso totalmente incapace di condurre truppe in battaglia. Rifiutare aumenterà la possibilità che il “raccomandato” passi nelle file degli scontenti (rappresentati dalla fazione dei populisti), ma accettare renderà meno leale il precedente generale, con rischi di guerra civile. Ma vi sono anche eventi quasi indipendenti dall’intervento del giocatore; come lo scontro (spesso mortale) tra appartenenti a due famiglie rivali, o la scoperta di un governatore corrotto che si è arricchito alle spalle dei cittadini.

Miroku79's RSS Feed
Torna all'inizio