[Kde-games-devel] AI library in the gamelibs?
Inge Wallin
inge at lysator.liu.se
Fri Jan 3 21:29:42 UTC 2014
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.
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-games-devel/attachments/20140103/84289416/attachment.html>
More information about the kde-games-devel
mailing list