Oct 21, 2009


I am happy there are so many people asking for new updates, so here is a small update on what is going on.

When I get to work on Mediocre I always do it 100% of my time, which means many updates in a short time. This is the only way I know how to work on a project, since I need to keep everything in my head (I guess I am not a very organized person in general).

As I am a full time computer science student working on my last year of my education there is little time for anything but studies.

However, this project will never be abandoned, atleast not in a foreseeable future. There will just be times where it is resting for longer or shorter periods.

Upcoming updates

I have a version that is (and has been for some time) basically ready for release, including ponder and some other nifty things.

Also people have mentioned that the memory usage is a bit sketchy and I will have to take a look at that.

So in summary, there will be updates for Mediocre in the future, but I really can't tell you when. But it will not be another 6 months, that is for sure. :)


freshblood said...

finally it become possible to see new post since i started to read your blog :) i hope that this place will be more alive

Bodia said...

I think the evaluation should be tuned a bit in next versions. For example, I often see Mediocre uselessly moving the queen to the centre during opening, even having an undeveloped knight. Also, imho currently the evaluation is fairly overcomplicated, many things could be removed without damaging playing strength and in some cases even increasing it.

Jonatan Pettersson said...

I agree with you Bodia.

But most of all I think I need separate the evaluation from the move generation even more than I've done so far.

I've been pretty pleased with the evaluation for quite some time, considering it usually agrees with engines like Craft and Scorpio.

Unfortunately this does not work well together with the mover generation and search heuristics I'm using.

In summary, lots of work to be done. :)

prakhs said...


I have plans use the engine on android mobile platform by building UI interface using android framework. I had tried compiling the running the engine in the same. It gave some memory issues. And also i have plans to do a online mobile chess game using the engine. Please let me know whether i can use engine for above purpose or not.

Thanks You.


freshblood said...

hello Jonatan what are u doing ?

i am following your instructions day by day.so my codes looking almost same with yours . already many chess engines are almost same except evaluation.

Anyway after implemented null move . i write some codes for check that king is captured by a piece or not. i saw that king is captured by a pawn and this was quite weird for me .when i check the codes i saw this sneaky bug.when u did null move u havent consider enpassant square . in starting position if white plays e4 then if black pass null move ... still enpassant is active for white and white pawn can capture enpassant square then it makes some wrong things like capturing my king . i had two ways to fix it . i added codes into white pawn's and black pawn's enpassant's . white checks that enpassant is on 6th rank and black checks that it is on 3th rank. otherwise i should to deactive enpassant index when pass null move .i think that also we should to consider Zobrist update if enpassant is not active with null move

i am not sure that u have realized this bug in the newer versions or not ....

i wish u good jobs and i hope that u will write some post about that what u are doing at least :)

Jonatan Pettersson said...

To Prakhs,

As long as you follow the GPL license (keep the code open source etc.) you can do what you please with it. If you plan something different just drop me mail and we'll work something out.

As for memory issues I'm not sure exactly what you're experiencing, but I do know there are some issues with transposition tables not working as they should, concerning memory usage.

Jonatan Pettersson said...

To freshblood,

That's very interesting. Null moves is tricky business since bugs can be hard to find and sometimes ruin whole games from one little error.

It's not a linear strength increase either, so even large test sets might not help identifying problems.

I will look into what you're mentioning, it surely sounds like something I could've missed.

freshblood said...

i checked newest version and i see that it is fixed with this line codes
in generatemoves methods
if(enPassant != -1 && rank(enPassant) == 5)
in here you check enpassant then rank so white will not try take enpassant on rank 2 if even enpassant is active . but some old versions has this bug.

maybe said...

I'm appreciate your writing skill.Please keep on working hard.^^

ZhaiLing fashion said...

Very good blog I like to welcome a return visit to my blog

freshblood said...

You have stopped to improve your chess engine ? Don't you still feel passion for chess programming?

You may be working hard in your business jobs so you may have no time to interest in chess programming as old but i really would expected that you will continue to posting something new.