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

Albert Astals Cid aacid at kde.org
Sat Jan 4 18:25:23 UTC 2014


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?

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



More information about the kde-games-devel mailing list