[Kde-games-devel] AI library in the gamelibs?

Inge Wallin inge at lysator.liu.se
Sat Jan 4 18:42:31 UTC 2014


On Saturday, January 04, 2014 19:25:23 Albert Astals Cid wrote:
> Hi
> 
> El Divendres, 3 de gener de 2014, a les 22:29:42, Inge Wallin va escriure:
> > More than 10 years ago I used to work a lot on board game AI engines. I
> > have a pretty advanced set of search and evaluation code for games like
> > othello, Lines of Action, and Amazons that actually competed in the
> > computer olympiad a couple of years.
> > 
> > I thought it would be a pity if this code got lost and I am working now to
> > port it all to C++ and Qt and to begin with create a KDE program that
> > plays
> > Amazons[1][2]. If this game will ever be part of the KDE games is a
> > question for later but while I am porting the AI to C++, the question is
> > if I should just use it or if I should make some preparatory work to
> > include it in the games library.
> > 
> > It supports the following features, which none of the current or previous
> > 
> > board games (like kenolaba), do:
> >  - time control of the engine, not just depth of thinking
> >  - Iteratively deepening alpha-beta search algorithm with lots of
> > 
> > optimizations
> > 
> >  - Opening book generation and use of the opening books in the game
> >  - Support for games with many different types of rule sets like loss vs
> >  tie
> > 
> > if no move is available, simple win/lose vs graded win/loss (like chess
> > and
> > reversi, respectively), etc
> > 
> > So, what's your opinion? You could argue that an advanced AI library like
> > this would be unnecessary for the simple types of game that we have in the
> > kde games, but I have one argument against that: efficiency is not wasted
> > even if you don't make full use of it. You can also use it to save
> > batteries which is very important on tablets and phones.  And I do think
> > we
> > should port as many of our games as possible to Plasma Active and other
> > tablet operating systems.
> 
> I think it makes sense we host such a library if it can be intestering. My
> suggestion though is to make it an independent repo, since basically it
> guess it won't use libkdegames at all, so you can name it
> libqaigamealgorithms or something and also "sell" it to qt-only game
> devels.
> 
> What do you think?

Interesting idea, I like it. 

I do see two connections to the current libkdegames, though:

 - KGameClock, which should be used to keep track of thinking time.
 - KgDiffculty[Level] which has to be mapped somehow to the AI parameters

Possibly the interface could be placed in libkdegames so that the AI library 
can still be stand-alone. And I think the name libqaigamealgorithms is a bit 
too long.  how about libqgameai?

	-Inge


> Cheers,
>   Albert
> 
> > Regarding use of it, if this is interesting I will personally port both
> > KReversi and KFourinline to it but this is probably a half to one year
> > into
> > the future. Could also make a good Summer of Code project.
> > 
> > 	-Inge
> > 
> > [1] https://en.wikipedia.org/wiki/Amazons_%28game%29
> > [2] http://quickgit.kde.org/?p=scratch%2Fingwa%2Famazons.git
> 
> _______________________________________________
> kde-games-devel mailing list
> kde-games-devel at kde.org
> https://mail.kde.org/mailman/listinfo/kde-games-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-games-devel/attachments/20140104/a53c6e59/attachment-0001.html>


More information about the kde-games-devel mailing list